Руководство по проектированию таблиц дат в Power BI Desktop
В этой статье описаны рекомендации по созданию таблиц дат в моделях данных при использовании Power BI Desktop.
Таблица дат — это наиболее распространенная таблица, используемая для анализа. Он хранит одну строку на дату и поддерживает общее требование фильтровать или группировать по определенным периодам дат, например годам, кварталам или месяцам.
Кроме того, для работы с функциями аналитики выражений анализа данных (DAX) модель данных должна иметь по крайней мере одну таблицу дат. Таблица дат — это таблица моделей, которая соответствует следующим требованиям:
- Он должен иметь столбец даты типа данных (или даты и времени), известный как столбец даты.
- Столбец даты должен содержать уникальные значения.
- Столбец даты не должен содержать BLANK.
- Столбец даты не должен содержать отсутствующие даты.
- Столбец даты должен охватывать все годы. Год не обязательно является календарным годом (январь-декабрь).
- Таблица дат должна быть помечена как таблица дат.
Вы можете использовать любой из нескольких методов для добавления таблицы дат в модель:
- Использование автоматической даты и времени
- Подключение с помощью Power Query (к существующей таблице измерения дат)
- Создание с помощью Power Query
- Создание с помощью DAX
- Клонирование с помощью DAX
Совет
Таблица дат, возможно, является наиболее согласованной функцией, которую вы добавите к любой из моделей данных. В организации таблица дат должна быть согласована. Таким образом, любой способ, который вы решили использовать, мы рекомендуем создать шаблон Power BI Desktop, содержащий полностью настроенную таблицу дат. Поделитесь шаблоном со всеми моделями данных в организации. Таким образом, каждый раз, когда кто-то разрабатывает новую модель данных, они могут начинаться с согласованно определенной таблицы дат.
Использование автоматической даты и времени
Параметр "Автодаты и времени " обеспечивает удобную, быструю и простую аналитику времени. Авторы отчетов могут работать с аналитикой времени при фильтрации, группировке и детализации с помощью периодов времени календаря.
Рекомендуется включить параметр "Автодаты и времени" только в том случае, если вы работаете с периодами времени календаря, а также при наличии упрощенных требований к модели в отношении времени. Этот параметр также можно использовать при создании нерегламентированных моделей или выполнении исследования или профилирования данных. Этот подход, однако, не поддерживает одну таблицу дат, которая может распространять фильтры на несколько таблиц. Дополнительные сведения см. в руководстве по автодаты и времени в Power BI Desktop.
Подключение с помощью Power Query
Если источник данных уже имеет таблицу дат, рекомендуется использовать ее в качестве источника таблицы дат модели. Обычно это происходит при подключении к хранилищу данных, так как она уже должна иметь таблицу измерения даты. Таким образом, модель использует один источник истины для времени в вашей организации.
Если вы разрабатываете модель DirectQuery и источник данных не включает таблицу дат, настоятельно рекомендуется добавить таблицу дат в источник данных. Он должен соответствовать всем требованиям моделирования таблицы дат. Затем можно использовать Power Query для подключения к таблице дат. Таким образом, вычисления модели могут использовать возможности аналитики времени DAX.
Создание с помощью Power Query
Таблицу дат можно создать с помощью Power Query. Дополнительные сведения см. в записи блога Криса Вебба, создающей таблицу измерения даты в Power Query.
Совет
Если в вашей организации нет хранилища данных или другого согласованного определения, рассмотрите возможность публикации потока данных с помощью Power Query. Затем все модели данных подключаются к потоку данных, чтобы добавить таблицы дат в свои модели. Поток данных становится единственным источником истины во времени в вашей организации.
Если необходимо создать таблицу дат, рекомендуется использовать DAX. Возможно, это проще. Более того, скорее всего, это будет удобнее, так как DAX включает в себя встроенную аналитику для упрощения создания таблиц дат и управления ими.
Создание с помощью DAX
Вы можете создать таблицу дат в модели, создав вычисляемую таблицу с помощью функции CALENDAR или CALENDARAUTO DAX. Каждая функция возвращает таблицу дат с одним столбцом. Затем можно расширить вычисляемую таблицу с вычисляемыми столбцами, чтобы поддерживать требования к фильтрации и группировке даты.
- Используйте функцию
CALENDAR
, если вы хотите определить диапазон дат. Вы передаете два значения: дата начала и дата окончания. Эти значения можно определить другими функциями DAX, напримерMIN(Sales[OrderDate])
илиMAX(Sales[OrderDate])
. - Используйте функцию
CALENDARAUTO
, если нужно, чтобы диапазон дат автоматически охватывал все даты, хранящиеся в модели. Вы можете передать один необязательный параметр, который является конечным месяцем года (если ваш год является календарным годом, который заканчивается в декабре, вам не нужно передавать значение). Это полезная функция, так как она гарантирует, что возвращаются полные годы дат и поэтому соответствует требованию для помеченной таблицы дат. Кроме того, вам не нужно расширять таблицу с строками в течение будущих лет. Это связано с тем, что при завершении обновления данных он активирует пересчет таблицы. Пересчет автоматически расширяет диапазон дат таблицы, когда даты нового года загружаются в модель.
Совет
Дополнительные сведения о создании вычисляемых таблиц, включая пример создания таблицы дат, см. в модуле обучения моделей Power BI Desktop с помощью вычисляемых таблиц и столбцов.
Кроме того, рекомендуется использовать бесплатное средство с открытым исходным кодом для управления датами с помощью DAX. Дополнительные сведения см. в статье Bravo для Power BI.
Клонирование с помощью DAX
Если модель данных уже имеет таблицу дат и вам нужна другая таблица дат— когда дата является измерением измерения ролей, можно легко клонировать существующую таблицу дат. Клонировать таблицу можно, создав вычисляемую таблицу. Вычисляемое выражение таблицы — это просто имя существующей таблицы дат.
Например, чтобы создать таблицу Ship Date
, которая клонирует таблицу Date
, используйте следующее вычисляемое выражение таблицы.
Ship Date = 'Date'
Примечание.
Если клонировать таблицу с помощью DAX, она создает только столбцы. Он не применяет свойства модели из клонированного таблицы, например форматы или описания. Кроме того, иерархии не клонируются.
Связанный контент
Дополнительные сведения, связанные с этой статьей, см. в следующих ресурсах:
- Автоматическая дата и время в Power BI Desktop
- Автоматическое руководство по дате и времени в Power BI Desktop
- Установка и использование таблиц дат в Power BI Desktop
- Подготовка данных самообслуживания в Power BI
- Функция CALENDAR (DAX)
- Функция CALENDARAUTO (DAX)
- Вопросы? Попробуйте запросить сообщество Fabric
- Есть предложения? Участие в разработке идей по улучшению Структуры