DAX для профессионалов: теория и практика. Выведи свои аналитические навыки в Microsoft Power BI на новый уровень
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Год издания: 2023
Кол-во страниц: 404
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-93700-167-2
Артикул: 832699.01.99
В книге излагаются основы моделирования данных с точки зрения языка DAX. Разбираются реальные бизнес-сценарии, связанные с учетом складских запасов, прогнозированием, взаимодействием между отделами в рамках компании и безопасностью данных. Прорабатываются нюансы моделирования данных и распространенные ошибки, допускаемые при построении сложных агрегаций. Издание поможет бизнес-аналитикам в построении мощных аналитических решений на снове данных с использованием всего потенциала доступных инструментов.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 00.03.03: Информатика
- ВО - Специалитет
- 00.05.03: Информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Мишель Розема Хенк Влотман 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