Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

DAX для профессионалов: теория и практика. Выведи свои аналитические навыки в Microsoft Power BI на новый уровень

Покупка
Артикул: 832699.01.99
Доступ онлайн
1 749 ₽
В корзину
В книге излагаются основы моделирования данных с точки зрения языка DAX. Разбираются реальные бизнес-сценарии, связанные с учетом складских запасов, прогнозированием, взаимодействием между отделами в рамках компании и безопасностью данных. Прорабатываются нюансы моделирования данных и распространенные ошибки, допускаемые при построении сложных агрегаций. Издание поможет бизнес-аналитикам в построении мощных аналитических решений на снове данных с использованием всего потенциала доступных инструментов.
Розема, М. DAX для профессионалов: теория и практика. Выведи свои аналитические навыки в Microsoft Power BI на новый уровень / М. Розема, Х. Влотман. - Москва : ДМК Пресс, 2023. - 404 с. - ISBN 978-5-93700-167-2. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2150526 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Мишель Розема
Хенк Влотман

DAX для профессионалов:  
теория и практика

Выведи свои аналитические навыки 
в Microsoft Power BI на новый уровень

Extreme DAX

Take your Power BI and Microsoft data analytics 
skills to the next level

Michiel Rozema 
Henk Vlootman

BIRMINGHAM—MUMBAI

DAX для профессионалов:  
теория и практика

Выведи свои аналитические навыки 
в Microsoft Power BI на новый уровень

Мишель Розема
Хенк Влотман

Москва, 2023

УДК004.42DAX
ББК32.97
В57

ВлотманХ.,РоземаМ.
В57 
DAX для профессионалов: теория и практика: Выведи свои аналитические 
навыки в Microsoft Power BI на новый уровень / пер. с англ. А. Ю. Гинько. – 
М.: ДМК Пресс, 2023. – 404 с.: ил.

ISBN978-5-93700-167-2

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

УДК 004.42DAX
ББК 32.97

First published in the English language under the title Extreme DAX – (9781801078511)

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

Copyright © Packt Publishing 2022
© Оформление, издание, перевод, ДМК Пресс, 2023
ISBN  (анг.) 978-1-80107-851-1
ISBN  (рус.) 978-5-93700-167-2

Оглавление 5

Оглавление

Об авторах .........................................................................................12
О редакторе .......................................................................................13
Предисловие от издательства ..........................................................14
Предисловие .....................................................................................15

ЧАСТЬ I ВВЕДЕНИЕ ...................................................................... 19

Глава 1.1 DAX в бизнес-аналитике ................................................ 20
Пятислойная модель бизнес-аналитики ........................................21
Аналитика предприятия и аналитика конечных пользователей ....22
Для чего используется DAX и где его найти ...................................24
Excel ..............................................................................................25
Power BI ........................................................................................25
SQL Server Analysis Services ........................................................25
Azure Analysis Services .................................................................26
Инструменты для разработки моделей и написания  
выражений DAX ................................................................................26
Сделано при помощи DAX: визуальные элементы  
и интерактивные отчеты .................................................................27
Подходы к разработке решений ......................................................30
Использование Power BI для ускорения разработки  
аналитических решений .............................................................31
Мы не знаем точно, что нам нужно ...........................................32
Наши данные некорректны ........................................................33
Цикл цифровой трансформации .....................................................33
Заключение .......................................................................................35

Глава 1.2 Разработка модели ......................................................... 36
Колоночное хранение данных .........................................................36
Реляционные базы данных .........................................................36
Колоночные базы данных ...........................................................37
Типы данных и кодирование ...........................................................38
Связи .................................................................................................41
Данные в Excel .............................................................................41
Реляционные базы данных .........................................................42
Реляционная модель Power BI ....................................................43
Свойства связей ...........................................................................44
Активные и неактивные связи ..............................................45
Направление фильтрации .....................................................46
Кратность .....................................................................................49

Оглавление

Оптимальная структура модели данных ........................................50
Схемы «звезда» и «снежинка» ....................................................50
Проблемы, присущие схеме «звезда» ........................................51
Концепции реляционных моделей, которых нужно  
избегать при моделировании в Power BI ...................................52
Независимые измерения .......................................................52
Только одна таблица фактов..................................................54
Хранилище данных как единый источник истины .............55
Использование связей типа «многие ко многим» ...............56
Производительность модели и использование памяти ................57
Заключение .......................................................................................59

Глава 1.3 Применение DAX ............................................................. 60

Вычисляемые столбцы .....................................................................60
Вычисляемые таблицы .....................................................................62
Меры ..................................................................................................64
Фильтры безопасности ....................................................................66
Запросы DAX .....................................................................................66
Таблицы дат ......................................................................................68
Создание таблицы дат .................................................................69
Практические советы по использованию языка DAX ....................71
Первым делом меры! ..................................................................71
Создавайте явные меры ..............................................................71
Используйте базовые меры в качестве строительных блоков ....71
Прячьте от пользователей ненужные им элементы модели ....72
Не смешивайте данные и меры – создайте для мер  
отдельную таблицу ......................................................................72
Типы таблиц .....................................................................................74
Заключение .......................................................................................75

Глава 1.4 Контексты и фильтры ..................................................... 76

Введение в контексты DAX ..............................................................77
Контекст строки ...........................................................................77
Контекст запроса .........................................................................79
Контекст фильтра ........................................................................81
Обнаружение фильтров ..............................................................82
Сравнение контекста запроса и фильтра с контекстом  
строки ...........................................................................................83
Фильтрация в DAX: использование функции CALCULATE ............83
Шаг 1. Настройка контекста фильтра .........................................85
Шаг 2. Удаление существующих фильтров ................................87
Шаг 3. Применение новых фильтров .........................................87
Шаг 4. Вычисление выражения в новом контексте ...................88
Удаление фильтров при помощи функций группы ALL ...........90
Функции логики операций со временем ........................................93
Изменение поведения связей .........................................................96

Оглавление 7

Табличные функции в DAX ..............................................................98
Табличные агрегации ..................................................................98
Использование виртуальных таблиц .......................................100
Контекст в табличных функциях ..............................................102
Производительность при использовании  
табличных функций ..................................................................105
Фильтрация при помощи табличных функций ...........................106
Использование функции CALCULATETABLE ...........................107
Фильтры и таблицы ...................................................................108
Использование функции TREATAS...........................................112
Переменные в DAX .........................................................................113
Заключение .....................................................................................116

ЧАСТЬ II ПРИМЕНЕНИЕ DAX  
НА РЕАЛЬНЫХ ПРИМЕРАХ ......................................... 117

Глава 2.1 Безопасность в DAX ......................................................118
Знакомство с безопасностью на уровне строк (RLS) ....................118
Роли безопасности ....................................................................119
Фильтры безопасности в DAX...................................................121
Динамическая безопасность на уровне строк .........................122
Особенности моделирования данных с RLS ............................125
Проверка ролей безопасности ..................................................130
Тестирование отчетов с динамическим подключением ........132
Модель для имперсонализации ..........................................133
Добавление таблицы pImpersonation в модель данных ....134
Добавление тестовой роли безопасности ...........................134
Собираем все вместе ............................................................136
Иерархическая безопасность с применением функций PATH ....137
Иерархические таблицы ...........................................................137
Знакомство с функциями группы PATH ..................................138
PATH ......................................................................................138
PATHCONTAINS.....................................................................139
PATHLENGTH ........................................................................139
PATHITEM..............................................................................139
PATHITEMREVERSE ..............................................................139
Использование функций PATH совместно с RLS .....................140
Продвинутая навигация по иерархии в RLS ............................140
Безопасность атрибутов .................................................................143
Применение безопасности атрибутов .....................................144
Безопасность на уровне объектов и ее ограничения ..............144
Динамическая защита атрибутов: безопасность  
на уровне значений ...................................................................145
Безопасность на уровне значений:  
моделирование данных ............................................................146
Безопасность на уровне значений: фильтры безопасности ..149
Безопасность на уровне значений: сложные сценарии .........150

Оглавление

Разработка моделей данных с безопасностью  
на уровне значений ...................................................................153
Защита уровней агрегации ............................................................153
Меры не могут быть защищены, а таблицы фактов – могут ..... 154
Ограничение гранулярности таблицы фактов ........................154
Защита уровней агрегации с помощью составных  
моделей данных ........................................................................155
Сочетание защиты уровней агрегации с безопасностью 
на уровне значений ...................................................................158
Защита уровня агрегации как атрибута ..................................161
Заключение .....................................................................................165

Глава 2.2 Динамическое изменение визуализации .................166
Рассматриваемый пример .............................................................167
Динамические меры ......................................................................169
Базовые меры показателей ......................................................169
Создание вспомогательной таблицы .......................................171
Создание динамической меры .................................................172
Динамический выбор показателя и используемой даты .......174
Динамические метки .....................................................................179
Описание сценария ...................................................................180
Создание вспомогательной таблицы .......................................180
Создание меры DAX с использованием динамических  
меток ..........................................................................................182
Комбинирование динамических меток с динамическими  
вычислениями ................................................................................184
Заключение .....................................................................................186

Глава 2.3 Альтернативные календари ........................................187
Недельный и григорианский календари ......................................187
Что такое недельный календарь? .............................................188
Номера недель ...........................................................................188
Периоды .....................................................................................190
Кварталы ....................................................................................190
Годы ............................................................................................191
Создание недельного календаря ...................................................191
Настройка дат ............................................................................191
Определение даты начала года ................................................193
Определение даты конца года ..................................................194
Создание дополнительных столбцов в таблице дат ...............196
Анализ с применением логики операций со временем  
для недельного календаря .............................................................199
Модель Power BI .........................................................................199
Расчет нарастающих итогов с начала года ..............................201
Расчет приростов продаж .........................................................203
Расчет скользящих средних продаж за отчетный год ............207
Поддержание актуальности отчетов .............................................211

Оглавление 9

Таблица Date Selection ..............................................................211
Создание вариантов выбора в таблице ...................................214
Использование вариантов выбора дат в мерах .......................217
Заключение .....................................................................................219

Глава 2.4 Использование механизма AutoExist ........................220
Модель данных Power BI ................................................................220
Как Power BI визуализирует данные из модели ...........................222
Фильтры и контекст ..................................................................222
Как использование мер способно изменить поведение  
визуального элемента ...............................................................224
Знакомство с запросами DAX визуальных элементов ............226
Что такое AutoExist и как он работает ..........................................229
Использование нескольких фильтров в визуальном  
элементе.....................................................................................229
Как AutoExist позволяет оптимизировать  
вычисление формул DAX ..........................................................231
Пример: пропущенные рабочие дни ............................................233
Условия задачи ..........................................................................234
Структура модели ......................................................................234
Анализ сумм заказов.................................................................235
Расширение таблицы Calendar .................................................238
Анализ рабочих дней ................................................................240
Куда делся мой рабочий день? .................................................241
Как решить проблему пропущенных рабочих дней ....................242
Источник проблемы ..................................................................243
Изменение структуры модели для обхода  
механизма AutoExist .................................................................244
Всегда учитывайте контекст .....................................................244
Исправляем ошибку с рабочими днями ..................................248
Оптимизация производительности отчетов с AutoExist .............250
Гранулярность в таблицах фактов ............................................250
Фильтрация в нескольких таблицах фактов ............................251
Оптимизация структуры модели данных................................254
Оптимизация визуальных элементов .....................................255
Заключение .....................................................................................257

Глава 2.5 Взаимодействие внутри компании ............................258
Моделирование процесса ведения продаж в компании 
QuantoBikes .....................................................................................258
Процесс ведения продаж ..........................................................259
Модель данных Power BI ...........................................................260
Взаимоотношения между филиалами одной компании .............262
Представление с филиалами против сводного  
представления ...........................................................................263
Сопоставление внутренних продаж и покупок ......................264
Визуализация внутренних движений компании ....................268

Оглавление

Будущие продажи ...........................................................................273
Анализ одиночных продаж .......................................................273
Анализ долгосрочных продаж ..................................................276
Анализ старых заказов..............................................................278
Анализ текущих заказов ...........................................................282
Оптимизация расчета для текущих заказов ...........................288
Анализ излишков по счетам .....................................................290
Анализ своевременных заказов ...............................................294
Коррекция для запаздывающих заказов .................................296
Дальнейшая оптимизация ........................................................299
Тестирование сложных вычислений ........................................301
Заключение .....................................................................................303

Глава 2.6 Исследуем будущее: прогнозирование  
и будущая стоимость ....................................................305

Финансовые расчеты .....................................................................306
Приведенная стоимость и чистая приведенная стоимость .... 307
Внутренняя норма доходности ................................................308
Финансовые функции DAX ............................................................308
Бизнес-сценарий и модель данных ..............................................311
Подбор приемлемой ставки и индексов ..................................314
Вычисление будущей стоимости ...................................................316
Первоначальные инвестиции и остаточная стоимость ..........316
Нерегулярные денежные потоки .............................................317
Повторяющиеся денежные потоки ..........................................318
Положительные и отрицательные денежные потоки.............321
Вычисление чистой приведенной стоимости ..............................322
Вычисление внутренней нормы доходности ...............................326
Расчет аренды, покрывающей издержки .....................................328
Поиск суммы покрывающей издержки аренды  
с помощью аппроксимации .....................................................329
Оптимизация аппроксимационного подхода .........................333
Заключение .....................................................................................338

Глава 2.7 Анализ состояния запасов ...........................................339

Моделирование данных, ориентированных на статусы .............339
Гранулярность складских запасов ............................................344
Базовые складские расчеты ...........................................................346
Целевой уровень запасов ..........................................................349
Прогнозирование складских запасов ...........................................355
Два типа прогнозирования .......................................................355
Прогнозирование продаж как инструмент  
предсказания изменений запасов ......................................356
Экстраполяция как инструмент предсказания  
изменений запасов ..............................................................360
Вычисление долгосрочных складских запасов .......................366

Доступ онлайн
1 749 ₽
В корзину