Измерения дат и связи

Промежуточное моделирование данных в Power BI

Maarten Van den Broeck

Content Developer

Измерения дат и времени

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

Измерение дат в схеме «звезда»

Промежуточное моделирование данных в Power BI

Способы создания измерения дат

Метод Преимущества Недостатки
Хранить в базе данных Отлично подходит при работе с хранилищем данных! Требуется база данных
Легко предоставить доступ нескольким сервисам, просто обновлять
Хранить в файле База данных не нужна, создаётся один раз Нужно создать файл
Power BI хорошо поддерживает текстовые файлы Обновление сложнее, чем при хранении в базе данных
Создать с помощью DAX Больше возможностей для настройки, чем у двух предыдущих вариантов Требует написания кода
Не требует внешней подготовки данных Некоторые функции могут быть сложнее в реализации
Промежуточное моделирование данных в Power BI

Создание простого измерения дат с помощью DAX

Month_Year = 



CALENDAR(DATE(1950, 1, 1), TODAY()),

  • CALENDAR() — встроенная функция, возвращающая все даты в заданном диапазоне
Промежуточное моделирование данных в Power BI

Создание простого измерения дат с помощью DAX

Month_Year = 



CALENDAR(DATE(1950, 1, 1), TODAY()),

  • CALENDAR() — встроенная функция, возвращающая все даты в заданном диапазоне
  • Создаёт поле [Date] с каждой датой от 1950-01-01 до сегодняшнего дня $$ $$ $$
[Date]
1950-01-01
1950-01-02
...
2021-06-30
Промежуточное моделирование данных в Power BI

Создание простого измерения дат с помощью DAX

Month_Year = 


SELECTCOLUMNS(
CALENDAR(DATE(1950, 1, 1), TODAY()),
"Month", MONTH([Date]), "Year", YEAR([Date]) )
  • CALENDAR() — встроенная функция, возвращающая все даты в заданном диапазоне
  • Создаёт поле [Date] с каждой датой от 1950-01-01 до сегодняшнего дня
  • Выберите нужные столбцы $$ $$
Month Year
01 1950
01 1950
... ...
06 2021
Промежуточное моделирование данных в Power BI

Создание простого измерения дат с помощью DAX

Month_Year = 

DISTINCT(
SELECTCOLUMNS(
CALENDAR(DATE(1950, 1, 1), TODAY()),
"Month", MONTH([Date]), "Year", YEAR([Date]) )
)
  • CALENDAR() — встроенная функция, возвращающая все даты в заданном диапазоне
  • Создаёт поле [Date] с каждой датой от 1950-01-01 до сегодняшнего дня
  • Выберите нужные столбцы
  • Оставьте только уникальные строки
Month Year
01 1950
02 1950
... ...
06 2021
Промежуточное моделирование данных в Power BI

Определение связей

  • Связи позволяют объединять таблицы в Power BI
    • Распространяют фильтры между таблицами
    • Обеспечивают вычисления на основе нескольких таблиц
  • Способы управления связями
    • Автоматическое определение по именам столбцов
    • Настройка вручную

модель данных со связями

Промежуточное моделирование данных в Power BI

Ключи связей

  • Связи основаны на ключах

    • Один или несколько столбцов, однозначно идентифицирующих строку
  • Два типа ключей:

    • Естественный ключ: существующий столбец (например, email)
    • Суррогатный ключ: искусственный столбец (например, ID)
  • Power BI поддерживает связи только по одному столбцу

Промежуточное моделирование данных в Power BI

Ключи связей

  • Связи основаны на ключах

    • Один или несколько столбцов, однозначно идентифицирующих строку
  • Два типа ключей:

    • Естественный ключ: существующий столбец (например, email)
    • Суррогатный ключ: искусственный столбец (например, ID)
  • Power BI поддерживает связи только по одному столбцу

  • Составной ключ: ключ, состоящий не менее чем из двух столбцов
Имя Фамилия Год рождения Значение
Chris P Bacon 1996 599
Jane Bonds 1998 523
Dwayne Pipe 1988 -566

$$

Составной ключ Значение
Chris P-Bacon-1996 599
Jane-Bondts-1998 523
Dwayne-Pipe-1988 -566
Промежуточное моделирование данных в Power BI

Кардинальность

  • Характеристика соответствия строк между двумя таблицами
  • Многие-к-одному / Один-ко-многим: используется чаще всего
    • Связывает одну строку измерения с одной или несколькими строками таблицы фактов

$$

связь «один ко многим»

связь «многие к одному»

Промежуточное моделирование данных в Power BI

Кардинальность

  • Менее распространённые типы:

    • Один-к-одному связь «один к одному» $$

    • Многие-ко-многим связь «многие ко многим»

Промежуточное моделирование данных в Power BI

Давайте потренируемся!

Промежуточное моделирование данных в Power BI

Preparing Video For Download...