Полное руководство по DAX для начинающих

Третьим столпом разработки LuckyTemplates являются вычисления DAX. Этот учебник содержит подробное руководство по DAX для начинающих, охватывающее основы форматирования и редактирования. Часто используемые функции DAX также включены в обсуждение.

Оглавление

Руководство по редактору DAX

Прежде всего, вот несколько советов по редактору DAX, которые вам нужно знать:

Используйте Ctrl + колесо прокрутки мыши , чтобы увеличить или уменьшить размер шрифта в окне редактора DAX.

Полное руководство по DAX для начинающих

Используйте Ctrl + Shift + L , чтобы обновить все экземпляры имени одновременно.

Полное руководство по DAX для начинающих

Добавьте префикс « @ » к именам виртуальных таблиц или временных столбцов в DAX.

Полное руководство по DAX для начинающих

Руководство DAX по форматированию

Ваш код DAX должен быть организован и легко понятен пользователям.

Вы пишете код не только для себя сегодня, но и для себя в будущем.

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

Не беспокойтесь, если редактирование и систематизация могут в конечном итоге испортить ваш код. Компьютеры умны; пока синтаксис правильный, они смогут интерпретировать и выполнять коды, которые вы написали.

Отличная цитата Марко Руссо гласит:

Если он не отформатирован, это не DAX.

Существует несколько способов форматирования DAX. Рекомендуемый вариант — использовать инструмент очистки DAX , доступный в LuckyTemplates Analyst Hub.

Полное руководство по DAX для начинающих

Вы можете получить доступ к этому инструменту, используя эту . Другой способ — зайти на веб-сайт LuckyTemplates и выбрать «Ресурсы». В нижней части страницы вы найдете инструмент очистки DAX.

Чтобы использовать этот инструмент, скопируйте код из редактора DAX в файл LuckyTemplates. Вставьте его в средство очистки DAX и нажмите «Формат».

Полное руководство по DAX для начинающих

После завершения очистки вы можете вставить отформатированный код обратно в файл LuckyTemplates.

Полное руководство по DAX для начинающих

Вы также можете редактировать код в инструменте.

Комментарии в коде DAX

При работе со сложными кодами DAX рекомендуется добавлять комментарии. Вы очень выиграете от объяснения псевдокода. Но есть исключения.

Комментирование — это очень личная деятельность. Могут быть разные мнения о правильном уровне комментариев от разработчиков и пользователей. Итак, опять же, при создании кодов и комментариев важно учитывать, как они будут приняты и поняты пользователями или разработчиками в будущем. Это принесет большую пользу вам и бизнесу в долгосрочной перспективе.

Руководство по DAX для переменных

Используйте подробные имена переменных. Ключ в ясности . Важно создавать имена, которые ясны и легко понятны.

Опять же, компьютеры умны и могут легко понять, что написано. Так что помните, что вы пишете не для компьютера или LuckyTemplates; вы пишете для себя и для тех, кто будет использовать и поддерживать ваш код в последующие месяцы.

При использовании переменных в коде DAX рекомендуется использовать префикс перед именем переменной, чтобы гарантировать, что вы выберете правильную переменную в последующих строках. Префикс подчеркивания ( _ ) рекомендуется использовать. Это также помогает сократить список, представленный в функции IntelliSense в LuckyTemplates.

Вот пример:

Полное руководство по DAX для начинающих

Вы можете видеть, что при вводе подчеркивания представлены только два варианта. Количество вариантов значительно уменьшено, что повышает эффективность кодирования.

Другой рекомендуемой практикой является использование конструкции RETURN Result .

Полное руководство по DAX для начинающих

Это упрощает поэтапную разработку и отладку кодов DAX.

Квалификация расчетов DAX

При использовании столбцов в выражениях DAX необходимо быть конкретным, поскольку в нескольких таблицах может быть одно и то же имя столбца.

Например, может появиться столбец «Ключ клиента» как в таблицах «Клиенты», так и в таблицах «Продажи».

Полное руководство по DAX для начинающих

Хотя они часто означают одно и то же и содержат одни и те же данные, так будет не всегда. Чтобы получить желаемые результаты, вы всегда должны уточнять имена столбцов.

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

Важные функции DAX, которые нужно знать

1. РАСЧЕТ

— одна из самых важных функций DAX, поскольку она позволяет изменять контекст вычисления.

Однако эта функция часто вызывает недоумение не из-за сложности ее использования, а из-за своего названия. Даже если он называется CALCULATE, на самом деле он не выполняет вычисления. Скорее, это изменение контекста вычисления.

Например, в этом показателе «Продажи за год» функция РАСЧЕТ используется для изменения контекста расчета «Общий объем продаж» на один год раньше текущего контекста оценки.

Полное руководство по DAX для начинающих

2. ДАТАДОБАВИТЬ

В DAX доступно множество функций анализа времени. Обычные коды DAX, скорее всего, будут использовать функции , и среди многих других. Но — одна из самых универсальных функций анализа времени DAX. И эта функция должна быть вашим первым выбором.

С DATEADD один и тот же синтаксис может использоваться для нескольких вычислений, как в обратном, так и в прямом направлении во времени, а также для YEAR, QUARTER, MONTH или DAY. Это позволяет очень легко создавать несколько показателей аналитики времени, используя копирование и вставку с небольшим редактированием.

Полное руководство по DAX для начинающих

3. РАЗДЕЛИТЬ

Разделение в LuckyTemplates можно выполнить разными способами. Самый простой способ — использовать простое арифметическое деление.

Полное руководство по DAX для начинающих

Однако случаи деления на ноль обычно требуют проведения сложных тестов, прежде чем продолжить. К счастью, есть функция DAX, которая сделает это за вас.

Функция автоматически выполняет деление на ноль, а также позволяет добавить альтернативный результат. Поскольку это проще арифметического деления в LuckyTemplates, код становится более читабельным.

Полное руководство по DAX для начинающих

4. ПЕРЕКЛЮЧИТЕ ИСТИНА

Другой код DAX — это логика .

Когда у вас есть несколько условий для оценки, это приведет к созданию нескольких вложенных операторов , которые часто трудно читать и отслеживать.

Оператор SWITCH TRUE позволяет гибко модифицировать код на более позднюю дату и настраивать новые условия. Он также более компактен, что облегчает чтение.

Полное руководство по DAX для начинающих

Руководство DAX по виртуальным таблицам

При создании виртуальной таблицы в коде DAX используйте функцию , чтобы сгруппировать столбцы в базовую таблицу. Затем окружите его конструкцией , чтобы добавить столбцы.

Повторяю, используйте префикс « @ » для столбцов с помощью функции ADDCOLUMNS, чтобы предотвратить двусмысленность и убедиться, что выбранный столбец виртуальной таблицы правильный.

Кроме того, при работе с виртуальными таблицами рекомендуется использовать DAX Studio или табличный редактор.

Между парой таблиц в LuckyTemplates может быть много связей. Код DAX будет использовать активное отношение по умолчанию. Но его можно изменить для использования определенного неактивного отношения с помощью команды .

Например, между столбцами «Дата» таблицы «Даты» и таблицей «Продажи» может быть множество взаимосвязей. Продажи [Дата заказа] — это активная связь, а Продажи [Дата счета] — неактивная связь. Если вы хотите использовать продажи [дата заказа] в расчетах, никаких дополнительных усилий не требуется. Однако, если вы хотите использовать продажи [дата счета-фактуры] в расчетах, вам нужно использовать ее вместе с командой USERELATIONSHIP .

Полное руководство по DAX для начинающих

В представлении модели в LuckyTemplates при наведении указателя мыши на сплошную линию отображается активная связь. В то время как две пунктирные линии показывают неактивную связь между каждым элементом в двух таблицах.

Полное руководство по DAX для начинающих

Просматривая образец отчета, также можно увидеть разницу между столбцом «Продажи по дате заказа», столбцом «Продажи по дате счета» и столбцом «Продажи по дате отгрузки».

Полное руководство по DAX для начинающих

Меры против вычисляемых столбцов

Для тех, кто работает с Excel, удобно использовать вычисляемые столбцы , поскольку они позволяют просматривать данные. Но в DAX и LuckyTemplates рекомендуется максимально использовать меры .

В некоторых случаях используются вычисляемые столбцы. Они часто разрабатываются в качестве отправной точки, чтобы помочь с визуализацией расчета. Но затем вам нужно впоследствии заменить их мерами, как только вы полностью визуализируете расчет в своей голове. Более того, вычисляемые столбцы можно использовать в срезах, в отличие от показателей.

Мера не увеличивает физический размер вашей модели данных во время ее расчета; это происходит только при использовании в визуальном элементе. Однако вычисляемый столбец увеличивает физический размер вашей модели данных, поскольку он вычисляется и физически сохраняется при каждом обновлении файла.

Руководство DAX по измерению ветвления

Один из самых ценных приемов в LuckyTemplates — ветвление измерений .

Отличный способ модульности кода — начать с простых или базовых мер, выполняющих простые вычисления, а затем комбинировать их по мере необходимости для выполнения более сложных вычислений. Поместите базовые и промежуточные меры в таблицы, чтобы увидеть расчеты по мере их выполнения.

Существуют разные взгляды на то, где должны располагаться конкретные меры, и у всех методов есть свои плюсы и минусы. Но более выгодно использовать выделенную группу мер при разработке LuckyTemplates. Если все меры расположены в одном месте в верхней части панели полей, это упрощает отслеживание логики вычислений DAX.

Полное руководство по DAX для начинающих

Контекст в вычислениях DAX

Одной из сильных сторон LuckyTemplates является контекст. И это также одна из самых сложных концепций для разработчиков.

Контекст — это среда, в которой выполняется вычисление.

Часто представлены два контекста: контекст строки и контекст фильтра . Но на самом деле есть и третья: контекст оценки .

И это возвращает вас к команде CALCULATE , которая снова позволяет пользователю изменить контекст вычисления. В DAX и LuckyTemplates есть два основных класса функций: функции агрегации и функции итерации .

Функции агрегации — это функции, которые агрегируют значения одного столбца. Примеры функций агрегирования включают , и . В то время как большинство функций агрегирования работают только с числовыми значениями или значениями даты, MAX и MIN также работают с текстовыми значениями.

Итерационные функции — это те, которые вычисляют выражение для каждой строки таблицы. Они также известны как X-функции . Примеры включают , , и . У них есть два параметра: таблица для итерации и выражение, которое выполняет вычисление. Это может использовать несколько столбцов из базовой таблицы или из других связанных таблиц.

Вот краткий пример того, как функции агрегации и итерации используются по-разному и при этом дают один и тот же результат:

Полное руководство по DAX для начинающих

Заключение

Это руководство по DAX предназначено для помощи новым пользователям LuckyTemplates, которые все еще исследуют и учатся. Это также очень полезно в качестве универсального контрольного списка для опытных разработчиков, которым нужен быстрый курс повышения квалификации. Это руководство — отличный строительный блок для расширенной разработки отчетов в LuckyTemplates.

В LuckyTemplates есть различные ресурсы с учебными пособиями по DAX, от основ до расширенного кодирования. Обязательно ознакомьтесь с ними, чтобы лучше разбираться в языке программирования DAX.

Грег

Leave a Comment

Расчет недельных продаж с помощью DAX в LuckyTemplates

Расчет недельных продаж с помощью DAX в LuckyTemplates

В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Как сохранить и загрузить файл RDS в R

Как сохранить и загрузить файл RDS в R

Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

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

Введение в фильтрацию контекста в LuckyTemplates

Введение в фильтрацию контекста в LuckyTemplates

В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.

Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.

Бизнес-отчетность с использованием LuckyTemplates

Бизнес-отчетность с использованием LuckyTemplates

Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.