Как создать сложную веб-таблицу

заголовок>

Таблицы часто появляются в Интернете, но их непросто создать и запрограммировать. В этом иллюстрированном руководстве объясняется анатомия таблицы и способы ее создания с учетом ее будущего развития.

Представьте, что вы разрабатываете систему для исследователей данных. Или приложение для управления энергопотреблением. Или панель для торговцев кукурузой. Может быть, вы сейчас разрабатываете что-то подобное. Во всех упомянутых случаях люди будут ожидать столов. Не те причудливые, что с сайтов вдохновения для дизайна, а чудовища в стиле Excel с сотнями ячеек и сложным взаимодействием.

В этом случае дизайнер сталкивается с множеством проблем. Например, согласование дизайна с существующими фреймворками внешнего интерфейса или борьба с «неудобными» данными, разрушающими макет. Мы преодолеем эти проблемы с помощью следующих шагов: систематизируем потребности, сделаем атомарными и определим взаимодействие.

1. Систематизировать потребности

Итак, вы опросили целевую аудиторию и выяснили ее потребности и желания. Пришло время собрать воедино результаты и преобразовать их в структуру интерфейса. Например, один пользователь сказал: «Мне нужно посмотреть, как мои данные влияют на другие части приложения». Или, наблюдая, как другой человек работает со старым программным обеспечением, вы заметили, что он использует ярлыки и вообще не касается мыши. Что это значит?

Первые слова пользователя касаются проверки ввода и подсказок. Вам нужно будет подумать о добавлении предупреждений или справочной информации к таблице. Или разработайте систему значимых цветов. Это зависит от предметной области и ментальной модели. Наблюдение за работой второго пользователя может быть признаком того, что вам нужно разработать все действия, доступные с клавиатуры. И вам, вероятно, придется подумать о более глубоких клавишах, чем просто « Cmd + C » и « Cmd + V ”.

Вот несколько пар наблюдение-предположение.

  • « I нужно легко управлять десятками элементов за раз. »
    Разрешить множественный выбор ячеек? Добавить флажки, чтобы выбрать много строк?
  • « Теперь мы делаем все вычисления таким образом .» [ Показывает Microsoft Excel ]
    Подходит ли Excel для этой цели? Какие функции мы можем позаимствовать?
  • « Можем ли мы заранее узнать, есть ли это имя уже на сервере
    Проверка данных на лету ? Сообщения об ошибках или автокоррекция?
  • « Обычно я ввожу эту информацию. Это довольно общий вариант.
    Предлагать значения по умолчанию, значения по умолчанию или шаблоны?

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

«Что помогает вам работать быстрее? Что может облегчить ваш выбор? Как эта функция влияет на эффективность вашей работы? Что изменится, если вы не сможете делать X? »

Итак, что дальше? Пришло время построить логический каркас для вашего стола. Схема того, что в нем есть и что он умеет делать. Если вы перейдете непосредственно к каркасу или прототипированию, вы вступите на злой путь бесконечных перерисовок и борьбы с наследием.

Ниже приведен пример того, с чего вы можете начать. Это дерево характеристик. А основным строительным блоком любой таблицы является ячейка. Ячейки объединяются в строки и столбцы, которые могут иметь особенности, отличные от характеристик отдельных ячеек. И, наконец, мы переходим к таким важным дополнениям таблицы, как верхняя панель с кнопками, командами клавиатуры и обработкой ошибок.

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

В одном из моих проектов мы использовали фреймворк Angular Material. К сожалению, таблицы Angular оказались слишком простыми. Мы нашли библиотеку ag-Grid, которая поддерживала нашу функциональность, но имела одно ограничение. У него не было возможности расширять строку и помещать дочерние строки внутрь. Мы обнаружили эту проблему до того, как приложили к ней какие-либо усилия и скорректировали дизайн.

В двух словах

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

Рекомендуемая литература : Шаблоны дизайна таблиц в Интернете, автор Чэнь Хуэй Цзин

2. Go Atomic

Итак, потребности и функциональность определены, и вы знаете технические ограничения. Пришло время создать макет вашей таблицы. По сути, атомарный подход заключается в разработке сначала небольших компонентов пользовательского интерфейса, а затем сборки более крупных. Мы постепенно перейдем от элементарных частиц, таких как шрифты и цвета, к таким большим модулям, как заголовок или столбец. Я сознательно выбрал строгий бруталистский стиль для макетов, чтобы мы могли сосредоточиться на функции, а не на внешнем виде.

Шрифты, цвета, значки

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

Ячейки и аксессуары

Когда атомы таблицы готовы, мы можем перейти к молекулам — различным типам ячеек. Во-первых, важно заранее подумать о нормальном, наведенном и активном состояниях каждого элемента. Затем перейдите в состояние «щелкнуто», «отключено» и другие состояния.

В одном из моих проектов у нас было восемь типов ячеек с их собственным взаимодействием. Самыми простыми из них являются текстовые и числовые ячейки. В нашем случае было разрешено заполнить числовые ячейки нечисловым содержимым, таким как «N/A» (не применяется) и «N/C» (без контроля). Это была особенность домена. Выпадающие списки и средства выбора даты более сложны и имеют дочерние элементы. Наконец, у нас были ячейки таблицы, которые представляли команды в строке.

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

Строки и заголовки

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

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

На следующем изображении вы можете видеть, что люди могут выбрать одну или несколько строк:

Теперь пора подумать о заголовке таблицы. По моему опыту, часто невозможно контролировать длину заголовка столбца и придерживаться одной строки. Даже с хорошим писателем в команде вы не сможете писать короткие тексты. Некоторые таблицы требуют длинных технических названий или локализации. Фразы, которые были однострочными в английском языке, могли стать двух- или трехстрочными в греческом, немецком или венгерском языках. Поэтому я показал разные варианты:

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

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

В моем примере есть три типа блоков фильтров. Алфавитно-цифровой фильтр позволяет выполнять поиск по буквам и цифрам. Он поддерживает подстановочные знаки — неизвестное количество неизвестных символов. Например, если я наберу 45 * A1 , это может привести к отображению строк с такими значениями, как 45A1 , 45982A1B , 45A109B и 096445-A1 .

Подстановочные знаки — непростая функция, поскольку они зависят от привычек людей. Когда я проектировал таблицы для технических специалистов, мы присвоили знак звездочки (*) неизвестному количеству неизвестных символов. Для страховых аналитиков я выбрал традиционный символ SQL — знак процента (%), потому что они к нему привыкли. Что касается раскрывающегося фильтра, он переключается между определенным количеством взаимоисключающих текстовых опций, чисел или числовых диапазонов.

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

Еще одна важная вещь — автоматически форматировать любой значимый ввод, чтобы не беспокоить людей ошибками «недопустимый формат». В одном из моих проектов мы разрешили вводить такие даты, как 25.01.2017 , 6.12.17 и 4 сентября 2016 г. , а также фильтровать только по месяцу или году.

Столбцы

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

Хотя столбцы таблицы должны точно подстраиваться под размер содержимого, это происходит при усечении текста. В этом случае полезно изменить размер столбца. Пользователи могут перетаскивать край столбца и просматривать длинный контент. Им также может потребоваться сжать неважный столбец или столбец с коротким текстом.

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

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

Верхняя панель

Что представляет собой таблица? Ячейки, столбцы, строки. Кроме того, в сложных таблицах часто есть верхняя панель. Как и остальные компоненты, верхняя панель состоит из более мелких элементов — заголовка и команд..

Ниже я собрал список команд со всем разнообразием состояний, которые мы использовали в одном из продуктов. У нас были команды значков для очевидных метафор, таких как plus = add/create , корзина для мусора = удалить , arrow = move . Неуниверсальные команды (например, назначить, архивировать, сбалансировать) требовали явного текстового именования. Более того, некоторые команды сопровождались выпадающим меню.

Теперь мы можем попробовать объединить разные элементы и посмотрите, работает ли это. Вот несколько примеров.

Конечно, это не окончательный список функций и элементов. Он отличается от проекта к проекту и может включать в себя другие вещи, например:

  • Сортировка по более чем одному столбцу;
  • Настраиваемый набор столбцов (возможность переключать их);
  • Расширяемые строки (родительская строка может иметь дочерние строки);
  • Логические операторы для фильтрации и поиска («и», «или »,« Else »и т. Д.).

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

Вся таблица

Когда все строительные блоки Готово, можно собрать пару столиков разного назначения. Это шанс обнаружить несоответствия. Чаще всего я имел дело со следующими тремя типами.

Таблица только для чтения

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

Таблица поиска

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

Редактируемая таблица

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

В двух словах

  • Начните с самых маленьких компонентов, затем постепенно переходите к более крупным. Наконец, смоделируйте все это.
  • Заранее продумайте все возможные состояния для каждого компонента..
  • Используйте принцип бритвы Оккама, чтобы количество элементов было минимальным, но достаточным.

Рекомендуемая литература : Дизайн-системы Аллы Холматовой

3. Определение взаимодействия

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

Числовые данные

Сколько десятичных знаков должно быть в вашей таблице? Один, два, пять? Каков оптимальный уровень точности? Я принимаю решение на основе точности, необходимой пользователям для принятия правильного решения. В некоторых профессиях имеет значение колебание между 10932.01 и 10932.23 , тогда как в других областях цифры 14 и 15 на самом деле не имеет значения.

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

  • Длина
    Два десятичных знака (57,53 м, 3,16 км); в качестве разделителя тысяч используются пробелы (403 456,56 м).
  • Вес
    Два десятичных знака (225,08 кг, 108,75 т); пробелы используются как разделители тысяч (12 032,17 кг).
  • Деньги
    Два десятичных знака (9,45 доллара США); запятые используются как разделители тысяч (16 408 989,00 долларов США).
  • Диаметр
    Три десятичных знака (10,375 см); разделители не нужны.
  • Широта и долгота
    Восемь десятичных знаков (26.4321121); Знак минус, используемый для обозначения западной и южной долготы (-78.05640132).
  • По умолчанию
    Для единиц, не указанных выше — два десятичных знака (32,05 г. /м³, 86,13 C °).

Еще мы учли разницу между «истинными» данными, сохраненными на серверах, и «приблизительными» данными в интерфейсе. Система использовала чрезвычайно точные числа с десятками десятичных знаков во всех расчетах, но людям не нужно было видеть это все время. Поэтому мы решили показать количество десятичных знаков, описанное выше, и раскрыть полное число только тогда, когда активна ячейка таблицы. Например, инженер может ввести 134432.97662301 , и как только он нажмет Enter , в таблице отобразится 134 432.98 . Если щелкнуть еще раз, инженер снова увидит 134432.97662301 .

Проверка ввода

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

Это пример шаблонов сообщений, которые я когда-то использовал.. Текст в угловых скобках является динамическим и поступает из вычислительной машины или базы данных.

  • Должно быть больше, чем число единица измерения . Дополнительное объяснение .
  • Должно быть меньше number единицы измерения . Необязательное объяснение .
  • Должно быть между числом 1 и числом 2 единицы измерения . Дополнительное объяснение .
  • Минимальное значение должно быть меньше максимального значения.
  • Максимальное значение должно быть больше минимального значения.
  • Минимальные и максимальные значения не должны быть равны.

Команды

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

Итак, у нас есть таблица с некоторыми химическими веществами. В нем есть такие команды, как «Добавить строку», «Переместить вверх», «Переместить вниз», «Удалить», «Пересчитать» и «Настройки».

А вот описание состояний команд. Оказывается, их доступность зависит от одного или нескольких условий.

Следующим шагом является определение результата каждая команда. Например, что происходит, когда я выбираю две удаленные строки и нажимаю «Переместить вверх»? Или каков результат нажатия «Пересчитать»? На все эти вопросы нужно ответить или хотя бы обдумать их заранее.

Контейнер и отзывчивость

Каким образом таблица будет размещена в интерфейсе? Например, будет ли он занимать место в существующем контейнере или будет отдельным модулем? Ответы на эти вопросы полностью зависят от продукта, и лучше предвидеть возможные проблемы и тщательно определять принципы.

Когда я разрабатываю веб-приложения, я обычно думаю о как минимум трех типах контейнеров для таблиц. Наиболее типичный случай — когда большой стол находится в центре экрана и занимает как можно больше места. У такой таблицы может не быть собственного заголовка, так как весь экран посвящен работе с таблицей. Маленькие и средние таблицы могут стать автономными модулями панели инструментов, а также другими элементами, такими как графики, диаграммы, схемы. В этом случае верхняя полоса таблицы играет роль заголовка карты. И, наконец, в крупных корпоративных приложениях таблицы часто находятся внутри всплывающих диалоговых окон. Должны быть мудрые рекомендации, чтобы диалоги не взрывались из-за слишком большого количества контента.

Еще одним аспектом размещения таблицы в среде пользовательского интерфейса является доступная область экрана. Большинство корпоративных приложений предназначены для использования в основном на настольных компьютерах.. Отзывчивость стола ограничивается простым растяжением и сжатием. Обычно таблицы с большим количеством строк и небольшим количеством столбцов занимают 100% доступной ширины. В результате ячейки равномерно распределяются на экране, и можно отображать больше текста без усечения переноса. С другой стороны, между колоннами обычно появляются огромные промежутки, что противоречит закону близости. Вот почему в некоторых приложениях используются линии между строками или окраска «белый конец-серый зебра» для облегчения чтения информации.

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

Если таблица содержит и много строк, и столбцов, горизонтальные и вертикальные прокрутки неизбежны.

Ключевая сущность сложной таблицы — это большой размер, что позволяет просматривать данные с высоты птичьего полета. К сожалению, я не могу назвать действительно удачный метод использования больших таблиц на экранах смартфонов. Электронные таблицы Excel и Google теряют свою силу на маленьких экранах, хотя есть эффективные способы работы с небольшими таблицами. Например, преобразование таблицы в набор карточек.

Доступность

Даже исключительно гладкий и красивый стол может стать кошмаром для пользователей. Поэтому так важно соблюдать принципы доступности. В Руководстве по обеспечению доступности веб-контента (WCAG 2.0) есть глава о таблицах. Большая часть материала посвящена правильному кодированию; однако дизайнеру тоже есть о чем подумать.

Вот основные соображения по дизайну с точки зрения доступности.

  • Дайте заголовок и подготовьте краткое изложение.
    Пользователь с ослабленным зрением должен иметь возможность получить представление о таблице без голосовой обработки всех ее ячеек.
  • Обратите внимание на размер шрифта.
    Хотя официального минимального размера для Интернета не существует, оптимальным считается 16 пикселей (12 пунктов). Кроме того, пользователь должен иметь возможность увеличить его до 200% без нарушения всего макета.
  • Тестируйте цвета для людей с дальтонизмом.
    Текст и элементы управления должны иметь достаточный контраст с фоном. Соотношение цветов 3: 1 требуется минимально (чем больше, тем лучше). Кроме того, цвет не должен быть единственным способом обозначения вещей. Например, сообщения об ошибках не должны полагаться только на красный текст, значок предупреждения даст дополнительные подсказки для дальтоников.
  • Избегайте небольших и неоднозначных элементов управления.
    Компоненты, по которым можно нажимать, считаются сенсорными, если их размер не менее 40 × 40 пикселей. Команды, представленные значками, должны быть помечены или иметь всплывающие подсказки и альтернативный текст. Дизайнерам не следует злоупотреблять значками, потому что пользователи могут неправильно понимать сложные метафоры.

Вы также можете использовать онлайн-инструменты для проверки доступности, например, Wave. Он не только обнаруживает проблемы и функции доступности, но также выделяет их прямо на странице и объясняет, как их исправить.

В двух словах

  • Унификация и форматирование контента — это тоже работа дизайнера.
  • Думайте не только о «вещах», элементах вашего интерфейса, и учитывайте варианты использования и частые шаблоны.
  • Когда все внутренняя часть последовательна и совместима, пора подумать, как она вписывается в остальной интерфейс.

Заключение

Мы только что рассмотрели процесс построения сложной таблицы. Разные проекты требуют разных подходов, но есть один универсальный принцип. Дизайнер должен заставить все элементы работать вместе в любой комбинации. Вот почему лучше начать со сбора потребностей и создания небольших блоков. И, конечно же, тестирование с пользователями, как только у вас появится что-то интерактивное и реалистичное.

Дополнительная литература

  • «Атомный дизайн», Брэд Фрост
  • «Создавайте лучшие таблицы данных», Эндрю Койл.
  • «Рефакторинг пользовательского интерфейса», Адам Уотан и Стив Шогер.


Создать связь между таблицами в Excel

Вы когда-нибудь использовали ВПР для переноса столбца из одной таблицы в другую? Теперь, когда Excel имеет встроенную модель данных, функция VLOOKUP устарела. Вы можете создать связь между двумя таблицами данных на основе совпадающих данных в каждой таблице. Затем вы можете создавать листы Power View и строить сводные таблицы и другие отчеты с полями из каждой таблицы, даже если таблицы из разных источников. Например, если у вас есть данные о продажах клиентов, вы можете импортировать и связать данные анализа времени для анализа моделей продаж по годам и месяцам.

Все таблицы в книге перечислены в списках полей сводной таблицы и Power View.

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

  1. Убедитесь, что книга содержит как минимум две таблицы и что каждая таблица имеет столбец который может быть сопоставлен с столбцом в другой таблице.

  2. Выполните одно из следующих действий: Отформатируйте данные как таблицу или Импортируйте внешние данные как таблицу на новом листе.

  3. Дайте каждой таблице понятное имя: в Инструменты таблиц нажмите Дизайн > Имя таблицы > введите имя.

  4. Убедитесь, что столбец в одной из таблиц имеет уникальные значения данных без дубликатов. Excel может создать связь только в том случае, если один столбец содержит уникальные значения.

    Например, чтобы связать продажи клиентов с анализом времени, обе таблицы должны включать даты в одном формате (например, 1/1/ 2012), и по крайней мере одна таблица (логика времени) перечисляет каждую дату только один раз в столбце.

  5. Щелкните Данные > Взаимосвязи .

Если Отношения выделен серым цветом, ваша книга содержит только одну таблицу.

  1. В поле Управление отношениями нажмите Создать .

  2. В поле Создать связь щелкните стрелку для Таблица и выберите таблицу из списка. В отношениях «один ко многим» эта таблица должна быть на стороне многих. Используя наш пример анализа данных о клиентах и ​​времени, вы должны сначала выбрать таблицу продаж по клиентам, потому что в любой день может произойти много продаж.

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

  4. Для Связанные Таблица , выберите таблицу, в которой есть хотя бы один столбец данных, связанный с таблицей, которую вы только что выбрали для Таблица .

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

  6. Нажмите ОК .

Подробнее о связях между таблицами в Excel

Примечания о взаимосвязях

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

  • Создание отношений аналогично использованию ВПР: вам нужны столбцы, содержащие совпадающие данные, чтобы Excel мог ссылаться на строки одной таблицы с перекрестными ссылками на строки другой таблицы. В примере с аналитикой времени в таблице «Клиент» должны быть значения даты, которые также существуют в таблице аналитики времени.

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

  • Типы данных в двух столбцах должны быть совместимы. См. Типы данных в данных Excel Модели для деталей.

  • Другие способы создания отношений могут быть более интуитивно понятными, особенно если вы не уверены, какие столбцы использовать. См. Создание взаимосвязи в представлении диаграммы в Power Pivot.

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

Вы можно узнать как о связях таблиц, так и о логике времени, используя бесплатные данные в Microsoft Azure Marketplace. Некоторые из этих наборов данных очень большие, и для завершения загрузки данных за разумный период времени требуется быстрое подключение к Интернету.

  1. Запустите Power Pivot в надстройке Microsoft Excel и откройте окно Power Pivot.

  2. Щелкните Получить внешние данные > Из службы данных > Из Microsoft Azure Marketplace . Домашняя страница Microsoft Azure Marketplace откроется в мастере импорта таблиц.

  3. В разделе Цена нажмите Бесплатно .

  4. В разделе Категория нажмите Наука и статистика .

  5. Найдите DateStream и нажмите Подпишитесь .

  6. Введите свою учетную запись Microsoft и нажмите Войти . Предварительный просмотр данных должен появиться в окне.

  7. Прокрутите вниз и нажмите Выбрать запрос .

  8. Нажмите Далее .

  9. Выберите BasicCalendarUS , а затем нажмите Готово , чтобы импортировать данные. При быстром подключении к Интернету импорт должен занять около минуты. По завершении вы должны увидеть отчет о 73 414 переданных строках. Нажмите Закрыть .

  10. Нажмите Получить внешние данные > Из службы данных > Из Microsoft Azure Marketplace для импорта второго набора данных.

  11. В разделе Тип нажмите Данные .

  12. В разделе Цена нажмите Бесплатно .

  13. Найти Задержки рейсов авиаперевозчика США и нажмите Выбрать .

  14. Прокрутите вниз и нажмите Выбрать запрос .

  15. Нажмите Далее .

  16. Нажмите Готово , чтобы импортировать данные. При быстром подключении к Интернету импорт может занять 15 минут. По завершении вы должны увидеть отчет о состоянии передачи 2 427 284 строк. Нажмите Закрыть . Теперь у вас должно быть две таблицы в модели данных. Чтобы связать их, нам понадобятся совместимые столбцы в каждой таблице.

  17. Обратите внимание, что DateKey в BasicCalendarUS имеет формат 01.01.2012 12:00:00 AM. В таблице On_Time_Performance также есть столбец datetime, FlightDate , значения которого указаны в том же формате: 01.01.2012 12:00:00 AM. Два столбца содержат совпадающие данные одного и того же типа данных, и по крайней мере один из столбцов ( DateKey ) содержит только уникальные значения. В следующих нескольких шагах вы будете использовать эти столбцы для связи таблиц.

  18. В окне Power Pivot щелкните Сводная таблица , чтобы создать сводную таблицу на новом или существующем листе.

  19. В списке полей разверните On_Time_Performance и нажмите ArrDelayMinutes , чтобы добавить его в область значений. В сводной таблице вы должны увидеть общее количество отложенных рейсов, измеренное в минутах.

  20. Развернуть BasicCalendarUS и щелкните MonthInCalendar , чтобы добавить его в область строк.

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

  22. В списке полей в разделе «Могут потребоваться связи между таблицами» нажмите Создать .

  23. В связанной таблице выберите On_Time_Performance и в связанном столбце (основной) выберите FlightDate .

  24. В таблице выберите BasicCalendarUS и в столбце (внешний) выберите DateKey . Нажмите OK , чтобы создать связь.

  25. Обратите внимание, что сумма задержек в минутах теперь различается для каждого месяц.

  26. В BasicCalendarUS и перетащите YearKey на Область строк над MonthInCalendar .

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

Советы. По умолчанию месяцы перечислены в алфавитном порядке. Используя надстройку Power Pivot, вы можете изменить сортировку, чтобы месяцы отображались в хронологическом порядке.

  1. Убедитесь, что BasicCalendarUS Таблица открыта в окне Power Pivot.

  2. В главной таблице нажмите Сортировать по столбцу .

  3. В разделе «Сортировка» выберите MonthInCalendar

  4. В поле «По» выберите Месяц за год .

Сводная таблица теперь сортирует каждую комбинацию месяц-год (октябрь 2011 г., ноябрь 2011 г.) по номеру месяца в течение года ( 10, 11). Изменить порядок сортировки очень просто, потому что канал DateStream предоставляет все необходимые столбцы для работы этого сценария. Если вы используете другую таблицу интеллекта времени, ваш шаг будет другим.

«Могут потребоваться отношения между таблицами»

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

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

Шаг 1. Определите, какие таблицы указать в отношении

Если ваша модель содержит только несколько таблиц, может быть сразу очевидно, какие из них вам нужно использовать. Но для более крупных моделей вам, вероятно, понадобится помощь. Один из подходов — использовать представление диаграммы в надстройке Power Pivot. Представление диаграммы обеспечивает визуальное представление всех таблиц в модели данных. Используя представление диаграммы, вы можете быстро определить, какие таблицы отделены от остальной части модели.

Примечание. Можно создать неоднозначные отношения, которые недопустимы при использовании в сводной таблице или отчете Power View. Предположим, что все ваши таблицы каким-то образом связаны с другими таблицами в модели, но когда вы пытаетесь объединить поля из разных таблиц, вы получаете сообщение «Могут потребоваться связи между таблицами». Наиболее вероятная причина в том, что у вас возникли отношения «многие ко многим». Если вы проследите цепочку отношений таблиц, которые соединяются с таблицами, которые вы хотите использовать, вы, вероятно, обнаружите, что у вас есть две или более отношений таблиц «один ко многим». Не существует простого обходного пути, который работал бы в любой ситуации, но вы можете попробовать создать вычисляемые столбцы, чтобы объединить столбцы, которые вы хотите использовать, в одну таблицу.

Шаг 2: Найдите столбцы, которые можно использовать для создания пути от одной таблицы к следующей

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

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

Помимо сопоставления значений, существует несколько дополнительных требований для создания отношения:

  • Значения данных в столбце поиска должны быть уникальный. Другими словами, в столбце не должно быть дубликатов. В модели данных пустые значения и пустые строки эквивалентны пробелу, который является отдельным значением данных. Это означает, что в столбце подстановки не может быть нескольких значений NULL.

  • Типы данных как исходного столбца, так и столбца подстановки должны быть совместимы. Дополнительные сведения о типах данных см. В разделе Типы данных в моделях данных.

Чтобы узнать больше о взаимосвязях между таблицами, см. Взаимосвязи между таблицами в модели данных.

Начало страницы

Оцените статью
clickpad.ru
Добавить комментарий