Dax полное руководство

Укажите регион, чтобы мы точнее рассчитали условия доставки

Начните вводить название города, страны, индекс, а мы подскажем

Например: 
Москва,
Санкт-Петербург,
Новосибирск,
Екатеринбург,
Нижний Новгород,
Краснодар,
Челябинск,
Кемерово,
Тюмень,
Красноярск,
Казань,
Пермь,
Ростов-на-Дону,
Самара,
Омск

Расширенная и дополненная с учетом современных требований и техник, эта книга представляет собой наиболее полное руководство по языку DAX, применяемому в области бизнес-аналитики, моделирования данных и анализа. Эксперты Microsoft BI Марко Руссо и Альберто Феррари излагают как основы, так и отдельные нюансы работы с DAX: от простых табличных функций до продвинутых техник программирования и оптимизации моделей. Вы узнаете, что происходит под капотом движка DAX при запуске выражений; полученные знания пригодятся при написании быстрого и надежного кода. В книге используются примеры, которые можно запустить в бесплатной версии Power BI Desktop и разобраться во всех тонкостях синтаксиса создания переменных (VAR) в Power BI, Excel или Analysis Services. Издание предназначено для опытных пользователей и профессионалов в сфере бизнес-аналитики, использующих в своей работе DAX и аналитические инструменты от Microsoft.

Рецензия
Об авторах
От команды разработчиков
Благодарности
От издательства
Предисловие ко второму изданию
Предисловие к первому изданию
Глава 1 Что такое DAX?
Введение в модель данных
Введение в направление связи
DAX для пользователей Excel
Ячейки против таблиц
Excel и DAX: два функциональных языка
Итерационные функции в DAX
DAX требует изучения теории
DAX для разработчиков SQL
Работа со связями
DAX как функциональный язык
DAX как язык программирования и язык запросов
Подзапросы и условия в DAX и SQL
DAX для разработчиков MDX
Многомерность против табличности
DAX как язык программирования и язык запросов
Иерархии
Вычисления на конечном уровне
DAX для пользователей Power BI
Глава 2 Знакомство с DAX
Введение в вычисления DAX
Типы данных DAX
Операторы DAX
Конструкторы таблиц
Условные операторы
Введение в вычисляемые столбцы и меры
Вычисляемые столбцы
Меры
Введение в переменные
Обработка ошибок в выражениях DAX
Ошибки преобразования
Ошибки арифметических операций
Перехват ошибок
Генерирование ошибок
Форматирование кода на DAX
Введение в агрегаторы и итераторы
Использование распространенных функций DAX
Функции агрегирования
Логические функции
Информационные функции
Математические функции
Тригонометрические функции
Текстовые функции
Функции преобразования
Функции для работы с датой и временем
Функции отношений
Заключение
Глава 3 Использование основных табличных функций
Введение в табличные функции
Введение в синтаксис EVALUATE
Введение в функцию FILTER
Введение в функции ALL и ALLEXCEPT
Введение в функции VALUES, DISTINCT и пустые строки
Использование таблиц в качестве скалярных значений
Введение в функцию ALLSELECTED
Заключение
Глава 4 Введение в контексты вычисления
Введение в контексты вычисления
Знакомство с контекстом фильтра
Знакомство с контекстом строки
Тест на понимание контекстов вычисления
Использование функции SUM в вычисляемых столбцах
Использование ссылок на столбцы в мерах
Использование контекста строки с итераторами
Вложенные контексты строки в разных таблицах
Вложенные контексты строки в одной таблице
Использование функции EARLIER
Функции FILTER, ALL и взаимодействие между контекстами…..125
Работа с несколькими таблицами
Контексты строки и связи
Контекст фильтра и связи
Использование функций DISTINCT и SUMMARIZE в контекстах фильтра
Заключение
Глава 5 Функции CALCULATE и CALCULATETABLE
Введение в функции CALCULATE и CALCULATETABLE
Создание контекста фильтра
Знакомство с функцией CALCULATE
Использование функции CALCULATE для расчета процентов
Введение в функцию KEEPFILTERS
Фильтрация по одному столбцу
Фильтрация по сложным условиям
Порядок вычислений в функции CALCULATE
Преобразование контекста
Повторение темы контекста строки и контекста фильтра
Введение в преобразование контекста
Преобразование контекста в вычисляемых столбцах
Преобразование контекста в мерах
Циклические зависимости
Модификаторы функции CALCULATE
Модификатор USERELATIONSHIP
Модификатор CROSSFILTER
Модификатор KEEPFILTERS
Использование модификатора ALL в функции CALCULATE
Использование ALL и ALLSELECTED без параметров
Правила вычисления в функции CALCULATE
Глава 6 Переменные
Введение в синтаксис переменных VAR
Переменные – это константы
Области видимости переменных
Использование табличных переменных
Отложенное вычисление переменных
Распространенные шаблоны использования переменных
Заключение
Глава 7 Работа с итераторами и функцией CALCULATE
Использование итерационных функций
Кратность итератора
Использование преобразования контекста в итераторах
Использование функции CONCATENATEX
Итераторы, возвращающие таблицы
Решение распространенных сценариев при помощи итераторов
Расчет среднего и скользящего среднего
Использование функции RANKX
Изменение гранулярности вычисления
Заключение
Глава 8 Логика операций со временем
Введение в логику операций со временем
Автоматические дата и время в Power BI
Автоматические столбцы с датами в Power Pivot для Excel…..251
Шаблон таблицы дат в Power Pivot для Excel
Создание таблицы дат
Использование функций CALENDAR и CALENDARAUTO
Работа со множественными датами
Поддержка множественных связей с таблицей дат
Поддержка нескольких таблиц дат
Знакомство с базовыми вычислениями в работе со временем
Пометка календарей как таблиц дат
Знакомство с базовыми функциями логики операций со временем
Нарастающие итоги с начала года, квартала, месяца
Сравнение временных интервалов
Сочетание функций логики операций со временем
Расчет разницы по сравнению с предыдущим периодом
Расчет скользящей годовой суммы
Выбор порядка вложенности функций логики операций со временем
Знакомство с полуаддитивными вычислениями
Использование функций LASTDATE и LASTNONBLANK
Работа с остатками на начало и конец периода
Усовершенствованные методы работы с датой и временем
Вычисления нарастающим итогом
Функция DATEADD
Функции FIRSTDATE, LASTDATE, FIRSTNONBLANK и LASTNONBLANK
Использование детализации с функциями логики операций со временем
Работа с пользовательскими календарями
Работа с неделями
Пользовательские вычисления нарастающим итогом
Заключение
Глава 9 Группы вычислений
Знакомство с группами вычислений
Создание групп вычислений
Знакомство с группами вычислений
Применение элемента вычисления
Очередность применения групп вычислений
Включение и исключение мер из элементов вычисления
Косвенная рекурсия
Два основных правила
Заключение
Глава 10 Работа с контекстом фильтра
Использование функций HASONEVALUE и SELECTEDVALUE
Использование функций ISFILTERED и ISCROSSFILTERED
Понимание разницы между функциями VALUES и FILTERS
Понимание разницы между ALLEXCEPT и ALL/VALUES
Использование функции ALL для предотвращения преобразования контекста
Использование функции ISEMPTY
Привязка данных и функция TREATAS
Фильтры произвольной формы
Заключение
Глава 11 Работа с иерархиями
Вычисление процентов внутри иерархии
Работа с иерархиями типа родитель/потомок
Заключение
Глава 12 Работа с таблицами
Функция CALCULATETABLE
Манипулирование таблицами
Функция ADDCOLUMNS
Функция SUMMARIZE
Функция CROSSJOIN
Функция UNION
Функция INTERSECT
Функция EXCEPT
Использование таблиц в качестве фильтров
Применение условных конструкций OR
Ограничение расчетов постоянными покупателями с первого года
Вычисление новых покупателей
Повторное использование табличных выражений при помощи функции DETAILROWS
Создание вычисляемых таблиц
Функция SELECTCOLUMNS
Создание статических таблиц при помощи функции ROW….429
Создание статических таблиц при помощи функции DATATABLE
Функция GENERATESERIES
Заключение
Глава 13 Создание запросов
Знакомство с DAX Studio
Инструкция EVALUATE
Введение в синтаксис EVALUATE
Использование VAR внутри DEFINE
Использование MEASURE внутри DEFINE
Реализация распространенных шаблонов запросов в DAX
Использование функции ROW для проверки мер
Функция SUMMARIZE
Функция SUMMARIZECOLUMNS
Функция TOPN
Функции GENERATE и GENERATEALL
Функция ISONORAFTER
Функция ADDMISSINGITEMS
Функция TOPNSKIP
Функция GROUPBY
Функции NATURALINNERJOIN и NATURALLEFTOUTERJOIN
Функция SUBSTITUTEWITHINDEX
Функция SAMPLE
Автоматическая проверка существования данных в запросах DAX
Заключение
Глава 14 Продвинутые концепции языка DAX
Знакомство с расширенными таблицами
Функция RELATED
Использование функции RELATED в вычисляемых столбцах
Разница между фильтрами по таблице и фильтрами по столбцу
Использование табличных фильтров в мерах
Введение в активные связи
Разница между расширением таблиц и фильтрацией
Преобразование контекста в расширенных таблицах
Функция ALLSELECTED и неявные контексты фильтра
Знакомство с неявными контекстами фильтра
ALLSELECTED возвращает строки из итераций
Применение функции ALLSELECTED без параметров
Функции группы ALL*
Функция ALL
Функция ALLEXCEPT
Функция ALLNOBLANKROW
Функция ALLSELECTED
Функция ALLCROSSFILTERED
Использование привязки данных
Заключение
Глава 15 Углубленное изучение связей
Реализация вычисляемых физических связей
Создание связей по нескольким столбцам
Реализация связей на основе диапазонов
Циклические зависимости в вычисляемых физических связях
Реализация виртуальных связей
Распространение фильтров в DAX
Распространение фильтра с использованием функции TREATAS
Распространение фильтра с использованием функции INTERSECT
Распространение фильтра с использованием функции FILTER
Динамическая сегментация с использованием виртуальных связей
Реализация физических связей в DAX
Использование двунаправленной кросс-фильтрации
Связи типа «один ко многим»
Связи типа «один к одному»
Связи типа «многие ко многим»
Реализация связи «многие ко многим» через таблицу-мост
Реализация связи «многие ко многим» через общее измерение
Реализация связи «многие ко многим» через слабые связи
Выбор правильного типа для связи
Управление гранулярностью
Возникновение неоднозначностей в связях
Появление неоднозначностей в активных связях
Устранение неоднозначностей в неактивных связях
Заключение
Глава 16 Вычисления повышенной сложности в DAX
Подсчет количества рабочих дней между двумя датами
Данные о продажах и бюджетировании в одном отчете
Расчет сопоставимых продаж по магазинам
Нумерация последовательности событий
Вычисление продаж по предыдущему году до определенной даты
Заключение
Глава 17 Движки DAX
Знакомство с архитектурой движков DAX
Введение в движок формул
Введение в движок хранилища данных
Движок хранилища данных VertiPaq
Движок хранилища данных DirectQuery
Процедура обновления данных
Принципы работы движка хранилища данных VertiPaq
Введение в столбчатые базы данных
Сжатие данных движком VertiPaq
Сегментация и секционирование
Использование представлений динамического управления
Использование связей в движке VertiPaq
Материализация
Агрегирование
Выбор аппаратного обеспечения для VertiPaq
Возможность выбора аппаратного обеспечения
Приоритеты при выборе аппаратного обеспечения
Модель центрального процессора
Быстродействие памяти
Количество ядер процессора
Объем памяти
Дисковый ввод/вывод и постраничная подкачка
Заключение
Глава 18 Оптимизация движка VertiPaq
Сбор информации о модели данных
Денормализация
Кратность столбцов
Работа с датой и временем
Вычисляемые столбцы
Оптимизация сложных фильтров при помощи булевых вычисляемых столбцов
Обработка вычисляемых столбцов
Выбор столбцов для хранения
Оптимизация хранения столбцов
Оптимизация при помощи разделения столбцов
Оптимизация столбцов с высокой кратностью
Отключение иерархий атрибутов
Оптимизация атрибутов детализации
Управление агрегированием VertiPaq
Заключение
Глава 19 Анализ планов выполнения запросов DAX
Перехват запросов DAX
Введение в планы выполнения запросов
Создание плана выполнения запроса
Логический план выполнения запроса
Физический план выполнения запроса
Запросы движка хранилища данных
Сбор информации для оптимизации
Использование DAX Studio
Использование SQL Server Profiler
Чтение запросов движка хранилища VertiPaq
Введение в синтаксис xmSQL
Время сканирования
Внутренние события DISTINCTCOUNT
Параллелизм и кеш данных
Кеш движка VertiPaq
Функция обратного вызова CallbackDataID
Чтение запросов движка хранилища DirectQuery
Анализ составных моделей данных
Использование агрегатов в модели данных
Чтение планов выполнения запросов
Заключение
Глава 20 Оптимизация в DAX
Выбор стратегии оптимизации
Выделение выражения DAX для оптимизации
Создание проверочного запроса
Анализ времени выполнения запроса и информации из плана
Поиск узких мест в движке формул и движке хранилища данных
Внесение изменений и повторные запуски тестовых запросов
Оптимизация узких мест в выражениях DAX
Оптимизация условий фильтрации
Оптимизация преобразования контекста
Оптимизация условных выражений IF
Снижение влияния функции CallbackDataID на производительность
Оптимизация вложенных итераторов
Отказ от использования табличных фильтров с функцией DISTINCTCOUNT
Уход от множественных вычислений путем использования переменных
Заключение
Предметный указатель

Все отзывы о книге Подробное руководство по DAX
:
бизнес-аналитика с Microsoft Power BI, SQL Server Analysis Services и Excel

Brief content visible, double tap to read full content.

Full content visible, double tap to read brief content.

Alberto started working with SQL Server in 2000 and immediately his interest focused on Business Intelligence. He and Marco Russo created sqlbi.com, where they publish extensive content about Business Intelligence.

Alberto published several books about Analysis Services, Power BI, and Power Pivot. He is a Microsoft MVP and he earned the SSAS Maestro title, the highest level of certification on Microsoft Analysis Services technology.

Today, Alberto’s main activities are in the delivery of DAX and data modeling workshops for Power BI and Analysis Services all around the world. Alberto offers consulting services on large and complex data warehouses to provide assessments and validation of project analysis or to perform specific problem-solving activities.

Alberto is a well-known speaker at many international conferences, like PASS Summit, Sqlbits, and Microsoft Ignite. He loves to be on stage both at large events and at smaller user groups meetings, exchanging ideas with other SQL and BI fans. When traveling for work, he likes to engage with local user groups to provide evening sessions about his favorite topics. Thus, you can easily meet Alberto by looking up local Power BI user groups during scheduled courses.

Outside of SQLBI, most of Alberto’s personal time is spent practicing video games, in the vain hope of eventually beating his son.

Понравилась статья? Поделить с друзьями:
  • Станок плоскошлифовальный 3г71 руководство по эксплуатации
  • Мирамистин инструкция по применению в гинекологии для женщин от молочницы
  • Новорапид инсулин шприц ручка инструкция по применению
  • Алтей сироп от кашля инструкция для детей инструкция по применению
  • Холодильник самсунг двухкамерный инструкция неисправности ноу фрост