Иерархия в эксель как создать таблицу
Перейти к содержимому

Иерархия в эксель как создать таблицу

  • автор:

Создание иерархии

Excel для Microsoft 365 Word для Microsoft 365 Outlook для Microsoft 365 PowerPoint для Microsoft 365 Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Excel 2013 Word 2013 Outlook 2013 PowerPoint 2013 Еще. Меньше

Если вы хотите проиллюстрировать иерархические связи, продвигающиеся по вертикали или по горизонтали, можно создать графический элемент SmartArt, использующий макет иерархии, например «Иерархия с метками». Иерархия графически представляет ряд упорядоченных групп людей или вещей в системе. С помощью графического элемента SmartArt в Excel, Outlook, PowerPoint или Word можно создать иерархию и включить ее в лист, сообщение электронной почты, презентацию или документ.

Важно: Если вы хотите создать организационную диаграмму, создайте графический элемент SmartArt с помощью макета организационной диаграммы.

Примечание: Снимки экрана в этой статье были сделаны в Office 2007. Если у вас другая версия, представление может немного отличаться, но если не указано иное, функциональные возможности совпадают.

Создание иерархии

  1. На вкладке Вставка в группе Иллюстрации нажмите кнопку SmartArt.
  • В области текста щелкните элемент [Текст] и введите содержимое.
  • Скопируйте текст из другого места или программы, в области текста щелкните элемент [Текст], а затем вставьте скопированное содержимое.

Примечание: Если область текста не отображается, щелкните элемент управления.

    Щелкните поле в графическом элементе SmartArt и введите свой текст.

Примечание: (ПРИМЕЧАНИЕ.) Для достижения наилучших результатов используйте этот вариант после добавления всех необходимых полей.

Добавление и удаление полей в иерархии

Добавление поля

  1. Щелкните графический элемент SmartArt, в который нужно добавить поле.
  2. Щелкните существующее поле, ближайшее к месту вставки нового поля.
  3. В разделе Работа с рисунками SmartArt на вкладке Конструктор в группе Создать рисунок щелкните стрелку под командой Добавить фигуру.

  • Чтобы вставить поле на том же уровне, что и выбранное поле, но после него, выберите команду Добавить фигуру после.
  • Чтобы вставить поле на том же уровне, что и выбранное поле, но перед ним, выберите команду Добавить фигуру перед.
  • Чтобы вставить поле на один уровень выше выбранного поля, выберите команду Добавить фигуру над.
    Новое поле занимает позицию выбранного поля, а выбранное поле и все поля непосредственно под ним понижаются на один уровень.
  • Чтобы вставить поле на один уровень ниже выбранного поля, выберите команду Добавить фигуру под. Новое поле добавляется после другого поля на том же уровне.

Удаление поля

Чтобы удалить поле, щелкните его границу и нажмите клавишу DELETE.

  • Если необходимо добавить поле в иерархию, поэкспериментируйте с добавлением поля до, после, выше или под выбранным полем, чтобы получить нужное расположение для нового поля.
  • Хотя вы не можете автоматически соединить два поля верхнего уровня с помощью линии в макетах иерархии, например горизонтальной иерархии, вы можете имитировать этот вид, добавив поле в графический элемент SmartArt, а затем нарисовав линию для соединения полей.
  • Чтобы добавить поле из области Текст, выполните следующие действия:
    1. Поместите курсор в начало текста, куда вы хотите добавить фигуру.
    2. Введите нужный текст в новой фигуре и нажмите клавишу ВВОД. Чтобы добавить отступ для фигуры, нажмите клавишу TAB, а чтобы сместить ее влево — клавиши SHIFT+TAB.

Перемещение поля в иерархии

  • Чтобы переместить поле, щелкните его, а затем перетащите его в новое место.
  • Чтобы фигура перемещалась с очень маленьким шагом, удерживайте нажатой клавишу CTRL и нажимайте клавиши со стрелками.

Изменение макета иерархии на другой

  1. Щелкните правой кнопкой мыши иерархию, которую нужно изменить, и выберите команду Изменить макет.
  2. Щелкните Иерархия, а затем выполните одно из следующих действий:
  3. Чтобы отобразить иерархические связи, продвигающиеся сверху вниз и сгруппированные иерархически, щелкните Иерархия с метками.

Примечание: Чтобы изменить макет SmartArt, можно также выбрать нужный параметр в разделе Работа с рисунками SmartArt на вкладке Конструктор в группе Макеты. При выборе варианта макета можно предварительно просмотреть, как будет выглядеть графический элемент SmartArt.

Изменение цветов иерархии

Чтобы быстро добавить внешний вид и полировку в графический элемент SmartArt, вы можете изменить цвета или применить стиль SmartArt к иерархии. Вы также можете добавить эффекты, такие как свечение, сглаживание или объемные эффекты.

К полям в графических элементах SmartArt можно применять цветовые вариации из цвета темы.

  1. Щелкните графический элемент SmartArt, цвет которого нужно изменить.
  2. В разделе Работа с рисунками SmartArt на вкладке Конструктор в группе Стили SmartArt нажмите кнопку Изменить цвета.

Совет: (ПРИМЕЧАНИЕ.) При наведении указателя мыши на эскиз можно просмотреть, как изменяются цвета в графическом элементе SmartArt.

Изменение цвета или стиля линии

  1. На рисунке SmartArt щелкните правой кнопкой мыши линию или границу поля, которую нужно изменить, и выберите команду Формат фигуры.
  2. Чтобы изменить цвет границы поля, щелкните Цвет линии, выберите Пункт Цвет

Изменение цвета фона поля в иерархии

  1. Щелкните правой кнопкой мыши границу фигуры и выберите команду Формат фигуры.
  2. Щелкните область Заливка и выберите вариант Сплошная заливка.
  3. Нажмите кнопку Цвет

Применение стиля SmartArt к иерархии

Стиль SmartArt — это сочетание различных эффектов, например стилей линий, рамок или трехмерных эффектов, которые можно применить к полям графического элемента SmartArt для придания им профессионального, неповторимого вида.

  1. Щелкните графический элемент SmartArt, стиль SmartArt которого нужно изменить.
  2. В разделе Работа с рисунками SmartArt на вкладке Конструктор в группе Стили SmartArt выберите стиль.

Чтобы отобразить другие стили SmartArt, нажмите кнопку Дополнительно

  • (ПРИМЕЧАНИЕ.) При наведении указателя мыши на эскиз становится видно, как изменяется стиль SmartArt в рисунке SmartArt.
  • Вы также можете настроить графический элемент SmartArt, перемещая поля, изменяя размер полей, добавляя заливку или эффект, а также добавляя рисунок.

Анимация иерархии

Если вы используете PowerPoint, вы можете анимировать иерархию, чтобы выделить каждое поле, каждую ветвь или каждый иерархический уровень.

  1. Щелкните иерархию графических элементов SmartArt, которую нужно анимировать.
  2. На вкладке Анимации в группе Анимации щелкните Анимация, а затем щелкните По ветвям по одному.

Примечание: Если скопировать иерархию с анимацией, примененной к ней, на другой слайд, то анимация также копируется.

Иерархии в Power Pivot

Один из способов изменить PowerPivot данных — добавить иерархию. Например, если у вас есть географические данные, вы можете добавить иерархию, в верхней части которую есть страна, а затем развернуть ее для сведения о регионе, области и городе.

Иерархия — это список столбцов, которые скатываются к одному элементу в отчете Pivot или Power View. Иерархия отображается в списке полей как один объект. Иерархии упрощают выбор и навигацию по общим путям данных при создании отчетов и степных таблиц. Чтобы создать иерархии, необходимо включить надстройку Power Pivot.

  1. Откройте окно Power Pivot.
  2. Щелкните Главная >представление >схемы.
  3. В представлении диаграммы выберите один или несколько столбцов в той же таблице, которую вы хотите разместить в иерархии. Если в таблице нет всех столбцов, которые вы хотите использовать, вы можете добавить их с помощью related. См. функцию RELATED (DAX).
  4. Щелкните правой кнопкой мыши один из выбранных столбцов.
  5. Нажмите кнопку Создать иерархию, чтобы создать родительский уровень иерархии в нижней части таблицы. Столбцы будут копироваться в иерархию в качестве уровней для детей.
  6. Введите имя новой иерархии.
  7. Перетащите дополнительные столбцы на родительский уровень иерархии, что создаст на их уровне ребенка и помещает уровни в нижней части иерархии. При желании вы можете разместить столбец в определенном расположении списка иерархии, перетащив столбец в нужное место в иерархии.

  • Если для создания иерархии используется несколько выборок, сначала устанавливается порядок уровней для детей в соответствии с емким количеством столбцов. Первое число отображается в списке, где значения являются самыми редкими и уникальными ( например, идентификационные номера и имена). Столбцы с наименьшим емким значением отображаются последними в списке, где значения являются более распространенными, например состояние, boolean values или common classifications. Помните, что добавление дополнительных столбцов помещает уровни детей в нижней части списка. Чтобы изменить порядок столбцов, можно перетащить их.
  • Иерархию можно создать из скрытого столбца (столбца, который скрыт от клиентских средств).
  • Если вы знаете, какие столбцы нужно создать в иерархии в качестве уровней для детей, щелкните элемент Создать иерархию в контекстном меню, чтобы выбрать несколько столбцов и быстро создать иерархию с несколькими дополнительными уровнями.

Изменение иерархии

Вы можете переименовать иерархию, переименовать уровень ребенка, изменить порядок уровней детей, добавить дополнительные столбцы в качестве уровней для детей, удалить уровень ребенка из иерархии, показать имя источника уровня (имя столбца) и скрыть уровень ребенка, если он имеет то же имя, что и родительский уровень иерархии.

Изменение имени иерархии или уровня ребенка

Щелкните родительский или родительский уровень иерархии правой кнопкой мыши и выберите переименовать. Можно также дважды щелкнуть родительская иерархия и изменить имя.

Изменение порядка уровня ребенка в иерархии

Перетащите уровень ребенка в новую позицию в иерархии. Можно также щелкнуть правой кнопкой мыши на уровне ребенка иерархии и нажать кнопку Вверх, чтобы переместить уровень вверх по списку. Можно также нажать кнопкуВниз, чтобы переместить уровень вниз по списку.

Примечание: Столбец можно добавить только один раз в одну иерархию. После добавления столбца в иерархию его невозможно снова добавить в ту же иерархию. Это означает, что вы не сможете перетащить столбец в иерархию, а контекстное меню Добавить в иерархию для определенного столбца больше не будет ссылаться на иерархии, в которые уже был добавлен столбец. Если другие иерархии, в которые можно добавить столбец, не отображаются в меню параметр Добавить в иерархию.

Добавление еще одного уровня ребенка в иерархию

Это можно сделать несколькими вариантами.

  • Перетащите столбец на родительский уровень иерархии, чтобы скопировать столбец в качестве родительского уровня в нижней части списка иерархии.
  • Кроме того, можно перетащить столбец в определенное место в иерархии, чтобы скопировать столбец в качестве ребенка уровня иерархии.
  • Можно также щелкнуть правой кнопкой мыши столбец (или несколько выбранных столбцов), а затем в контекстом меню выбрать добавить в иерархию, а затем выбрать определенную иерархию. В результате будет создаваться на уровне ребенка из столбца и он добавляется в нижнюю часть списка иерархии.

Удаление уровня ребенка из иерархии

Щелкните правой кнопкой мыши уровень ребенка и выберите удалить из иерархии. Можно также щелкнуть уровень ребенка в иерархии и нажать клавишу DELETE. Если вы хотите освободить этот уровень ребенка, просто добавьте столбец еще раз.

Примечание: Если переименовать child level иерархии, имя столбца, из которого он создан, переименуется. По умолчанию имя источника столбца отображается справа от уровня ребенка. Если вы скроли имя столбца, воспользуйтесь командой Показать имя столбца источника, чтобы узнать, из каких столбцов он был создан.

Скрытие или показ имени источника

Щелкните правой кнопкой мыши child level иерархии и выберите скрыть имя столбца из источника или Показать имя столбца источника, чтобы перейдите между двумя вариантами.

При нажатиикнопки Показать имя столбца-источника справа от уровня ребенка отображается имя столбца, из которого он был скопирован.

Дополнительные сведения

Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

Её величество Иерархия. Классификация и способы хранение в MS Excel

Я работаю консультантом в области бюджетирования, финансовой отчетности. Уже много лет я интересуюсь иерархиями и эффективной работой с ними. Основной средой работы до недавнего времени был MS Excel, сейчас уже половина работы на Pandas. Оба этих инструмента по своей природе плоские (т.е. в основе – плоские таблицы). Тем не менее, каждый день мы встречаем иерархии и с ними приходится как-то работать. Давайте разбираться.

  1. Термины
  2. Ограничения
  3. Классификация
  4. Прочие свойства иерархии
  5. Форматы хранения в MS Excel
  6. Работа с иерархиями в Python, SQL
  7. Как это практически применять?
  8. Заключение

Термины

Когда мы начинаем работать со сложной системой, первый шаг – определение терминов. Во многом они из теории графов. Некоторые термины определены не строго, ряд моментов я посчитал очевидными. Исходил скорее из практической бизнес-потребности и здравого смысла.

Вершина/элемент – базовый объект иерархии. Между вершинами устанавливаются связи (ребра)
Ребро – направленная связь от одной вершины к другой. От родителя к ребенку
Дети/ребенок/дочерние вершины – потомок/потомки вершины (количество от 0 до N)
Родитель вершины – предок вершины (количество от 0 до 1)
Лист – часть вершин может хранить на себе данные, это и есть листовые вершины
Узел – часть вершин являются группировочными, они сами по себе не хранят данные. Они всегда расчетные (т.е. показатели на них рассчитываются агрегацией всех детей на всех уровнях ниже
Уровни – каждая вершина иерархии принадлежит определенному уровню
Корень – вершина на первом уровне. Вершина не имеющая родителей
Дерево – иерархия у которой один корень
Лес – иерархия у которой более одного корня

Ограничения

Давайте явно сформулируем ряд ограничений, которые будут для нас отправной точкой. Обращаю внимание, что наша цель – систематизация наиболее распространенных иерархий в финансах и бизнесе, а не всех вообще. Т.е. система ограничений может быть и другой.

  1. Очевидные ограничения: нет циклов; у каждой вершины либо ноль, либо один родитель; все вершины уникальные (нет дубликатов)
  2. Иерархия выровнена по левому краю (left balanced, сбалансированная слева). Т.е. вершины без родителей могут быть только на первом уровне
  3. Уровень вершины определяется полным путем к этой вершине и не может быть установлен принудительно. Ребенок всегда должен быть на уровне +1 к родительскому (skip level not allowed, пропуск уровней не допускается)
  4. Вершины без детей могут быть на разных уровнях (right unbalanced, допускается иерархия несбалансированная справа)

Классификация

Раньше я думал, что все иерархии одинаковые. Но это не так. Давайте рассмотрим две иерархии:

  1. Есть множество сотрудников компании. У каждого сотрудника может быть от 0 до 1 начальников и от 0 до N подчиненных.
  2. Есть справочник Продукция. Продукция иерархически сгруппирована (например, стол и стул попадут в узел Мебель и т.д.)

В целом это две иерархии. Но с другой стороны очевидно, что у них разная природа. Ключевое отличие заключается в том, что все сотрудники — это равноправные объекты, т.е. у них одинаковые атрибуты, и вообще, это экземпляры одного класса. А в справочнике Продукция, стул и мебель нельзя назвать равноправными объектами. Стул – это конкретный продукт (листовой элемент), а мебель – это группировка (узловой элемент).

Поэтому для удобства мы выделяем два класса иерархий: однородные иерархии и неоднородные иерархии. Однородные – когда все вершины являются представителями одного класса, неоднородные – когда выделяются отдельно узлы и листы (т.е. вершины разные по своей природе). Важно, что у однородной иерархии все вершины — листовые и могут хранить на себе одинаковый состав атрибутов и числовые показатели.

Далее посмотрим на неоднородные иерархии. В них есть ключевой вопрос, как отличить узел от листа. Долгое время я думал, что действует простое правило: «вершина без детей — это лист, вершина с детьми — это узел». Это правило часто используют для написания формул в Excel, которые автоматически определяют тип вершины (лист или узел). Но этот принцип не является аксиомой, есть и другие иерархии. Рассмотрим две:

  1. Иерархия папок и файлов в Windows (объект «ссылка» не учитываем, иначе будет граф)
  2. Справочник Продукция, разрабатываемый для какой-нибудь Excel модели

Папка может быть без файлов, но папка в любом случае является узловым элементом, который в данный момент не имеет детей. А вот в справочнике Продукция отсутствие детей — это достаточное условие, того, что перед нами листовой элемент. По крайней мере, так считается по умолчанию.

Таким образом, неоднородные иерархии разделяются на два типа, в зависимости от того выполняется ли правило «вершина без детей — это лист, вершина с детьми — это узел».

Если выполняется, то узлы и листы иерархии определяются автоматически по ее структуре. Для удобства будем называть это — Узлы автоматом неоднородной иерархии.

Если не выполняется, то для каждой вершины без детей существует неопределенность, поэтому надо хранить признак, является ли такая вершина листовой или узловой. А это будет — Узлы вручную.

Классификаций иерархий.

Прочие свойства иерархий

Ограничение на однородность детей

В некоторых случаях можно ввести ограничения на иерархию: узел может иметь только однородных детей (т.е. либо только узлы, либо только листы). Обычно данное ограничение не применяется, но могут быть исключения.

Режим сортировки

Важным свойством иерархии является сортировка ее вершин. Сортировка может иметь такие режимы:

  1. Нет сортировки, дети каждого узла — это неупорядоченное множество
  2. Сортировка есть. Она сделана вручную, т.е. не алгоритмически
  3. Сортировка есть. Она установлена в виде правила (по убыванию/по возрастанию). Правило может быть установлено для:
    1. Всей иерархии в целом
    2. Каждого уровня отдельно
    3. Каждого узла отдельно

    Форматы хранение в MS Excel

    С этим все достаточно достаточно сложно. Напомню, что Excel основан на плоских принципах (плоские таблицы), соответственно для хранения иерархии требовалось вырабатывать искусственные подходы. И они исторически сформировались. Ниже систематизированные форматы хранения, которые вы можете встретить в файлах:

    «Формат 1. Ребенок справа снизу»

    Кол-во строк равно кол-ву элементов иерархии. Первый ребенок у любого узла действительно идет сразу вправо и вниз.

    Обычно однородную иерархию в таком формате не хранят. А вот неоднородные хранят именно в таком виде. Если имеем дело с неоднородной иерархией с автоматическими узлами (наиболее частая ситуация), то столбец 7 на скрине рассчитывается формулой.

    • самый распространенный формат в среде Excel для неоднородных иерархий с автоматическими узлами (для ручных узлов тоже может быть использован)
    • наглядная иерархия для восприятия человеком
    • позволяет хранить сортировку вершин, атрибуты листов
    • невозможно работать как с плоской таблицей
    • нельзя сделать сводную таблицу

    Кстати, в Excel для сводных таблиц есть функционал показа иерархии в таком виде: «Show in Outline form».

    «Формат 2. Путь к элементу»

    В каждой строке полный путь к элементу.

    Почти тоже самое, что и формат 1, но только для каждой вершины физически указан полный путь. Это сильно упрощает анализ, т.к. может быть обработано фильтрами, сводными таблицами в Excel. Часто этот формат используется как вспомогательный к формату 1. Минусом является то, что этот формат уже не наглядный, человеку сложнее его воспринимать. Плюс он более трудоемкий, если изменения иерархии вносит человек вручную. Поэтому обычно формат 2 получают автоматически из формата 1 для аналитических целей (макросом, питоном или ручным переводом).

    «Формат 3. Путь к листу (все элементы)»

    Полный путь указан только для листовых элементов.

    Почти тоже самое, что и формат 2, но только полный путь указывается не для всех вершин иерархии, а только для листовых. Редко используется, т.к. нет очевидных преимуществ по сравнению с форматом 2. А вот минусы есть — более сложная нотация, сложность в заполнении таблицы человеком.

    «Формат 4. Отступы/пробелы»

    Уровень кодируется количеством отступов.

    Этот формат похож на формат 1, но только тут играют роль не столбцы с уровнями, а количество отступов (табуляция или определенное количество пробелов). Формат часто встречается, однако с ним сложно работать. В процессе определения уровня для вершин часто возникают ошибки из-за несистемных отступов и человеческих ошибок. В Excel надо использовать макрофункцию, чтобы посчитать количество отступов в ячейке. Из плюсов — более компактное представление иерархии (один столбец, вместо нескольких).

    Кстати, в Excel для сводных таблиц есть функционал показа иерархии в таком виде: «Show in Compact form». Там можно настраивать количество отступов, что удобно.

    «Формат 5. Перечень элементов и их уровней»

    Уровень указан числом введенным вручную.

    Этот формат похож на формат 4, однако вместо отступов используются уже готовые уровни для каждой вершины (столбец — «Уровень»). Используется редко, т.к. сложен для восприятия человеком и плохо пригоден для анализа в Excel.

    «Формат 6. Путь к листу (только листы)»

    Каждая строчка - полный путь к листовому элементу.

    Это самое плоское представление иерархии, которое можно себе представить. По сути получается из формата 3, только надо удалить все узловые элементы. Удобно анализировать сводными таблицами, фильтрами. Человеком воспринимается не очень, т.к. нет визуальной иерархии (ступенек с уровнями).

    ВАЖНО! Это единственный формат хранения, где каждая строчка – листовой элемент и порядок строк не важен. В связи с этим, данный формат иерархии может быть добавлен в любую плоскую таблицу, к любому столбцу. Это позволяет подходить к иерархии как к группировке листовых элементов.

    Т.е. если у меня есть таблица Продукты-Менеджеры, я могу добавить в нее две иерархии (иерархию Продуктов и иерархию Менеджеров), таблица останется плоской и ее можно будет анализировать через сводную таблицу и фильтрами.

    «Формат 7. Элемент-родитель»

    У каждого элемента либо один, либо ноль родителей.

    Начинаем со списка всех вершин. Для каждой указывает непосредственного родителя (если он есть). Этот формат хорошо подходит для хранения однородных иерархий, т.к. позволяет удобно хранить список всех вершины и их атрибутов.

    Для неоднородных иерархий плохо подходит, т.к. список узлов + листов одновременно получается разнородным. Такого я не встречал на практике.

    «8. Ребенок справа»

    Кол-во строк равно кол-ву листовых элементов иерархий. Первый ребенок у любого узла действительно идет сразу справа.

    Немного похоже на формат 1, однако в каждой строчке располагается листовой элемент. Т.е. первый ребенок каждого узла расположен сразу справа.

    Раньше я думал, что данный вид иерархий редко применяется, но недавно выяснили, что на формате 8 почти всегда основано строение многострочной шапки таблицы. Т.е. если вы видите таблицу в Excel и в ней шапка состоит из более, чем одной строки, то вероятнее всего, она использует формат иерархии 8 (естественно с учетом того, что шапка – это транспонированная таблица и ее надо читать сверху вниз).

    Интересно, что развивая одну область знания (форматы иерархий) мы в какой-то момент поняли, что она пересекается с другой областью — структура многострочных шапок таблиц.

    Кстати, в Excel для сводных таблиц есть функционал показа иерархии в таком виде: «Show in Tabular form».

    «9. Совмещенные иерархии»

    Для ведения в одной таблице более двух иерархий одновременно требуется сложная нотация. В столбцах 5, 6, 7 указана применимость элемента для каждой из иерархий.

    Очень сложный формат. Суть в том, чтобы в единой таблице хранить две или более иерархии, которые очень похожи, но немного различаются (например, два справочника по двум компаниям группы, который почти унифицированы, но допускаются небольшие различия). Самое интересное, что такой формат встречается в реальности, но сложность его нотации настолько большая, что мы сделали только первичную проработку нотации ведения такой таблицы. Детали не привожу, ввиду их сырости.

    Я видел попытки вести совмещенную иерархию, но там не было никакой утвержденной нотации. Поэтому расшифровать таблицу было крайне сложно.

    Работа с иерархиями в Python, SQL

    Мы часто получаем данные из Excel в Python для обработки. Это удобно и позволяет решить множество сложных задач, например, найти неточные дубликаты в справочнике (fuzzy match, неточное сопоставление текстовых строк). В части иерархий в Python мы пока не выработали единых подходов к хранению и обработке иерархий. Пока для каждой задаче разрабатываем подход индивидуально. Однако есть идеи по стандартизации этого процесса и созданию Python класса, который бы позволил структурировать эти операции.

    Как я понял из статей, единого подхода по хранению иерархий в реляционных базах данных нет. Все изобретают свои способы, под свои задачи. Наверное самый эффективный способ — это использовать специальный язык запросов и тип баз данных (например, кубовые базы данных и запрос MDX), которые прямо предназначены для работы с иерархиями. Но это достаточно сложный путь.

    Как это практически применять?

    Есть два режима работы с иерархиями: 1) вам надо спроектировать иерархию в Excel 2) вам дали уже готовую иерархию и надо с ней работать. В любом случае следует нужно:

    1. Вспомните классификацию иерархий. Определить класс иерархии
    2. Подумайте какой режим сортировки наиболее логичен. Нужен ли он вообще?
    3. Решите, есть ли ограничения на однородность детей. Обычно нет.
    4. Важно решить, где и как оптимально хранить такую иерархию, чтобы с ней было удобно работать. Вспомните 8 форматов, которые мы разобрали выше
    5. Сформулируйте контроли и проверки целостности иерархии. Попытайтесь их автоматизировать.

    Заключение

    Зачем все это? Я ставил перед собой несколько целей:

    1. При работе со сложными системами половина проблем возникает ввиду отсутствия общей терминологии. Наличие единых терминов — критически важно для решения практических проблем с иерархиями
    2. Задачи с иерархиями возникает каждый день, их надо как-то решать средствами Excel, иногда в связке с Python. Две наиболее частые проблемы – определения оптимального формата хранения иерархии в Excel и интерпретация уже созданных кем-то иерархий. Надеюсь моя классификация и перечень форматов хранения упростят эти процессы
    3. Глубокое понимание иерархии позволит контролировать её целостность, автоматизировать проверки в Excel и Python, делать анализ и преобразование форматов

    p.s. Цифровизация консалтинга

    Систематизация подходов к работе с иерархиями проходит в рамках нашего первого шага по цифровизации. Его концепция в следующем:

    «Все ключевые данные на проекте должны быть в 1NF (плоская таблица), либо должен существовать алгоритм их перевода в 1NF»

    А ниже полный перечень направлений цифровизации по которым мы двигаемся вперед:

    1. Данные, плоские таблицы, реляционные базы данных
    2. Алгоритмы, Python, VBA
    3. Иерархии
    4. Графы
    5. Математика, системное мышление, комбинаторика, теория множеств
    6. Нейросети

    Иерархия: отступы и выступы строк

    Дополнительные сведения о планах и их возможностях см. на странице «Расценки».

    Иерархия: отступы и выступы строк

    PLANS

    • Smartsheet
    • Pro
    • Business
    • Enterprise

    For more information about plan types and included capabilities, see the Smartsheet Plans page.

    С помощью отступов строк можно создать иерархию в таблице. Когда вы задаете отступ для строки, она становится дочерней по отношению к строке, расположенной выше (родительской).

    ПРИМЕЧАНИЕ. Для создания иерархии используется дочерняя строка, а не родительская.

    Следует учитывать, что иерархия создает связи между строками, но не определяет их форматирование.

    Отступ строки

    Щёлкните ячейку в первой строке, которую хотите сделать дочерней, а зачем значок Отступ на панели инструментов слева. Расположенная выше строка станет родительской.

    ПРИМЕЧАНИЕ. Если кнопка Отступ недоступна, возможно, вы пытаетесь задать отступ для пустой строки. Для создания иерархии необходимо, чтобы обе строки, родительская и дочерняя, содержали данные. Перед созданием иерархии убедитесь в том, что ни одна из строк не является пустой.

    СОВЕТ. Также можно воспользоваться сочетанием клавиш CTRL + ] (для Windows) или Command + ] (для Mac).

    Хотя отступы отображаются только в основном столбце таблицы, соответствующие связи применяются ко всей строке. (Дополнительные сведения об основном столбце см. здесь.)

    Удаление иерархии

    Чтобы удалить связь между родительской и дочерней строками, щёлкните ячейку в дочерней строке, а затем на панели инструментов щёлкните значок Выступ.

    СОВЕТ. Можно также воспользоваться сочетанием клавиш CTRL + [ (для Windows) или Command + [ (для Mac).

    Разворачивание и сворачивание строк с отступами

    Когда вы разворачиваете или сворачиваете строки, а затем сохраняете таблицу, её структура изменяется для всех соавторов, которым предоставлен доступ к ней. То есть для них будут развёрнуты и свёрнуты те же строки.

    Чтобы развернуть или свернуть элементы с отступами под родительской строкой, в основном столбце родительской строки щёлкните значок развёртывания или свёртывания /.

    Чтобы развернуть или свернуть все вложенные элементы в таблице, щёлкните заголовок основного столбца правой кнопкой мыши и выберите пункт Развернуть все или Свернуть все.

    Рекомендации по работе с иерархией

    При работе с иерархией учитывайте перечисленные ниже моменты.

    • Число уровней отступов не ограничено. Можно создать несколько уровней иерархии, задав отступы для других строк.
    • При перетаскивании строки, под которой есть строки с отступами, эти дочерние строки перемещаются вместе с выбранной.
    • При удалении родительской строки также удаляются её дочерние строки. (Чтобы этого не происходило, сначала удалите связь между родительской и дочерними строками.)
    • Если в таблице проекта включены зависимости, в родительских строках приводится сводка значений даты начала, даты окончания, длительности и процента выполнения для дочерних строк с отступами. Дополнительные сведения см. в статье Центра справки Функция сводки в родительских строках.

    Связанный контент

    Справочная статья

    Функция сводки в родительских строках

    Когда в таблице проекта включены зависимости, в родительских строках автоматически выполняется сведение информации из нескольких столбцов та.

    Справочная статья

    Применение форматирования к данным

    Для применения форматирования к цифрам и тексту в таблице используйте кнопки на панели инструментов в верхней части окна Smartsheet.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *