Анализ показателей DAX: анализ длинных показателей DAX

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

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

Оглавление

Обзор страницы рейтинга

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

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

Анализ показателей DAX: анализ длинных показателей DAX

Каждая из этих карточек была создана с помощью встроенного визуального элемента карточек в LuckyTemplates Desktop на панели «Визуализации».

Анализ показателей DAX: анализ длинных показателей DAX

Это позволяет вам вернуться к другим страницам в отчете с помощью этих значков здесь вверху.

Анализ показателей DAX: анализ длинных показателей DAX

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

В левой части страницы показаны четыре основных завода и поставщика, а в правой — четыре нижних.

Анализ показателей DAX: анализ длинных показателей DAX

Я также создал отдельные меры DAX, чтобы получить более конкретные результаты. Например, эти три сверху показывают четыре лучших и четыре последних завода и поставщика на основе минут простоя , среднего времени простоя в минутах и ​​дефектов .

Анализ показателей DAX: анализ длинных показателей DAX

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

Анализ показателей DAX: анализ длинных показателей DAX

Справа я сделал то же самое, но на этот раз на основе сведений о поставщике.

Анализ показателей DAX: анализ длинных показателей DAX

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

Получение идей для использования показателей DAX

Идею показателей DAX на этом слайде я получил от одного из наших , Антрикша. Он гуру DAX и отлично умеет оптимизировать меры. Было весело работать с ним над этим анализом показателей DAX.

Примерно за две недели до объявления 10-го конкурса LuckyTemplates у нас состоялся разговор по Skype о файле PBIX, который он разместил на форуме LuckyTemplates.

Анализ показателей DAX: анализ длинных показателей DAX

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

Модель проста и использует некоторые базовые данные, такие как «Клиент», «Продукты» и «Продажи».

Анализ показателей DAX: анализ длинных показателей DAX

Он имеет краткий список стран на левой стороне.

Анализ показателей DAX: анализ длинных показателей DAX

Антрикш создал меру для первых N стран по объему продаж . У меня есть список, отсортированный от высшего к низшему, как указано стрелкой вниз.

Анализ показателей DAX: анализ длинных показателей DAX

Справа есть карта, на которой показаны четыре страны с лучшими и четырьмя худшими показателями. В четверку лучших входят США , Австралия , Великобритания и Германия , которые соответствуют четверке лучших в списке.

Анализ показателей DAX: анализ длинных показателей DAX

Однако нижняя четверка появляется в обратном порядке. Вместо того, чтобы идти снизу, как Армения , он начал с 5-го места в списке, то есть с Кыргызстана .

Анализ показателей DAX: анализ длинных показателей DAX

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

Анализ показателей DAX: анализ длинных показателей DAX

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

Анализ показателей DAX: анализ длинных показателей DAX

Давайте рассмотрим показатели DAX, стоящие за этими картами. Я начну с меры, которую Антрикш создал для 1-й карты.

Анализ показателей DAX: анализ длинных показателей DAX

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

Анализ показателей DAX: анализ длинных показателей DAX

Анализ показателей DAX: анализ длинных показателей DAX

Когда мы прокручиваем вниз до 20-й строки, мы видим, что Антрикш использовал ASC . Вот почему четверка худших оказалась именно такой.

Анализ показателей DAX: анализ длинных показателей DAX

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

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

Анализ показателей DAX: анализ длинных показателей DAX

Как видите, в моей исправленной формуле всего 41 строка.

Анализ показателей DAX: анализ длинных показателей DAX

Я работал с Антриком, чтобы уменьшить его на 60% или 70% по сравнению с исходным показателем. Это не только менее сложно, но и дает нужные мне результаты — четыре верхних числа начинаются с 1-го по 4-е, а четыре нижних — с 8-го по 5-е.

Через пару недель после моей беседы с Антрикшем был запущен 10-й конкурс LuckyTemplates Challenge. Часть требований включала систему ранжирования, которая заставила меня вспомнить показатель DAX Антрикша. Я понял, что могу скопировать и вставить меру, а затем применить некоторое ветвление меры, чтобы получить нужные мне результаты.

Анализ меры Дакса: построение меры шаг за шагом

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

В других моих руководствах я показывал, как мне нравится группировать измерения, чтобы сделать их более организованными . Поэтому я создал подпапку для Top N v2.

Анализ показателей DAX: анализ длинных показателей DAX

В этой папке находится моя мера времени простоя крупнейших N заводов-поставщиков . Вы увидите, что он имеет ту же самую 41 строку кода, которую я показывал вам ранее, обсуждая меру Антрикша. По сути, все, что мне нужно было сделать, это заменить некоторые элементы, чтобы получить желаемые результаты.

Чтобы лучше разбить это, я разделил всю меру на 9 разных частей. Я пройдусь по каждому из этих шагов с первого по девятый и объясню, что делает каждый из них.

Анализ показателей DAX: анализ длинных показателей DAX

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

Начнем с первого шага, который устанавливает с именем BaseTable.

Анализ показателей DAX: анализ длинных показателей DAX

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

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

Анализ показателей DAX: анализ длинных показателей DAX

Поскольку первый шаг прост, давайте перейдем ко второму.

Второй шаг начинается с функции .

Анализ показателей DAX: анализ длинных показателей DAX

Эта функция ссылается на переменную , которую я создал на шаге 1, и на минуты простоя .

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

Третий шаг включает в себя еще один набор переменных, начиная со значения N.

Анализ показателей DAX: анализ длинных показателей DAX

Здесь N равно 4, потому что я хочу, чтобы верхние четыре и нижние четыре отображались.

Анализ показателей DAX: анализ длинных показателей DAX

Он также устанавливает префикс для Top & N плюс тире.

Анализ показателей DAX: анализ длинных показателей DAX

При объединении он просто хочет показать «Лучшие 4 -», и именно так начинается соответствующая карточка перед перечислением ожидаемых результатов.

Анализ показателей DAX: анализ длинных показателей DAX

Теперь переходим к четвертому шагу. Здесь я начинаю приходить к ожидаемым результатам.

Анализ показателей DAX: анализ длинных показателей DAX

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

Анализ показателей DAX: анализ длинных показателей DAX

Затем я использовал функцию , которая использует данные о местоположении завода.

Анализ показателей DAX: анализ длинных показателей DAX

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

Анализ показателей DAX: анализ длинных показателей DAX

Пятый шаг измерения начинается с замены последней запятой в списке на И.

Анализ показателей DAX: анализ длинных показателей DAX

Когда вы вернетесь к слайду, вы увидите, что в последней записи есть «и» перед поставщиком и местонахождением завода.

Анализ показателей DAX: анализ длинных показателей DAX

Это то, что достигается на пятом шаге. Он создает список и использует функцию для LastCommaPosition .

Анализ показателей DAX: анализ длинных показателей DAX

Обратите внимание, что это говорит о том, что N больше 2. Это означает, что замена происходит после 3-й строки.

Шестой шаг будет выглядеть знакомо, потому что он в основном копирует то же самое, что я сделал сверху, чтобы начать список с «Top 4 -».

Анализ показателей DAX: анализ длинных показателей DAX

Единственная разница здесь в том, что я хочу, чтобы он отображался как «Bottom 4-» вместо «Top 4-».

Анализ показателей DAX: анализ длинных показателей DAX

Часть, которую я ранее обсуждал с использованием , снова используется здесь внизу, но теперь я вызываю переменную BottomData вместо TopData. Опять же, эта часть вставляет обратную косую черту и запятую между названиями заводов и поставщиков.

Анализ показателей DAX: анализ длинных показателей DAX

Если мы вернемся к исходной мере Антрикша, то увидим, что это та же самая часть, где он использовал ASC , в результате чего список получился не таким, как я ожидал. Вот почему вместо этого я использую DESC .

Таким образом, в основном, с этого момента большая часть просто скопирована и вставлена ​​из более ранних частей такта. Я просто заменяю слово «Верх» на «Низ» в большинстве случаев.

Для шага 8 я хочу изменить последнюю запятую на слово И.

Анализ показателей DAX: анализ длинных показателей DAX

Девятый шаг завершает эту меру.

Анализ показателей DAX: анализ длинных показателей DAX

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

Проверка результатов

Антрикш и я смогли сократить исходные 90 с лишним строк DAX до 41 строки. Однако для некоторых пользователей 41 строка может быть много. Разбивка меры так, как мы это сделали, была отличным способом понять, почему меру нужно было записать именно так.

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

Я начну с заводов/поставщиков по минутам простоя .

Анализ показателей DAX: анализ длинных показателей DAX

Здесь показана четверка лучших: Linktype в Новой Британии, Flashpoint во Frazer, Quinu в Twin Rocks и Layo в Henning. Что касается четверки худших, то Викидо в Миддлтауне считается худшим в целом.

Теперь я перейду на страницу объединения поставщиков и заводов , чтобы посмотреть, совпадут ли результаты.

Анализ показателей DAX: анализ длинных показателей DAX

Столбец «Рейтинг по минутам простоя», отсортированный сверху вниз, показывает правильный результат для первых четырех.

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

Обратите внимание, что рейтинг показывает три записи как первые 1. Они были ранжированы с использованием RANKX.

Анализ показателей DAX: анализ длинных показателей DAX

Однако, если вы посмотрите на колонку « Минуты простоя» , вы увидите, что New Britain показывает 0, в то время как Frazer и Twin Rocks показывают 1. Вот почему на карточке на странице рейтинга New Britain по-прежнему выходит на первое место у Frazer и Twin Rocks. даже если они все были в рейтинге номер один.

Теперь давайте проверим, верны ли нижние четыре. Просто отсортируйте рейтинг по минутам простоя в порядке убывания.

Анализ показателей DAX: анализ длинных показателей DAX

Как видите, Миддлтаун, Уолдоборо, Барлинг и Чесанинг показаны в нижней четверке на карте. Это означает, что мера для заводов/поставщиков по минутам простоя верна.

Теперь давайте посмотрим на карточку « Установки по минутам простоя» .

Анализ показателей DAX: анализ длинных показателей DAX

Это показывает, что в первую четверку входят Рединг, Мидлтаун, Уолдоборо и Кларксвилл. Четверку последних составляют Риверсайд, Чарльз-Сити, Твин-Рокс и Чесанинг.

Чтобы проверить эти результаты, я проверю страницу «Растения» и посмотрю, совпадают ли результаты. Самая большая разница здесь заключается в том, что карта, которую мы ранее проверили, была основана на данных как о растениях, так и о поставщиках, тогда как эта рассматривает только данные о растениях.

Когда мы сортируем рейтинг по минутам простоя сверху вниз, он показывает, что первые четыре места — это Рединг, Мидлтаун, Уолдоборо и Кларксвилл.

Анализ показателей DAX: анализ длинных показателей DAX

Теперь давайте на этот раз перевернем ранжирование, чтобы увидеть, совпадают ли четыре нижних. Вы увидите, что из 30 заводов в нашем списке Риверсайд, Чарльз-Сити, Твин-Рокс и Чесанинг занимают нижние строчки.

Анализ показателей DAX: анализ длинных показателей DAX

Это означает, что мы видим правильные результаты для растений.

На этот раз давайте посмотрим на карту, ранжирующую поставщиков по дефектам .

Анализ показателей DAX: анализ длинных показателей DAX

На этот раз я перейду на страницу поставщиков , чтобы узнать, является ли Dablist лучшим поставщиком, а Yombu — худшим из-за дефектов.

Анализ показателей DAX: анализ длинных показателей DAX

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

Позвольте мне изменить ранг с худшего на лучший и посмотреть, совпадают ли и последние четыре.

Анализ показателей DAX: анализ длинных показателей DAX

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

Анализ меры Dax: применение ветвления меры

Анализ показателей DAX, который мы провели ранее, рассматривал только показатель « Заводы/поставщики по минутам простоя» . Но как я работал над мерами для других карт? Вот где вступает в действие ветвление меры .

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

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

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

Анализ показателей DAX: анализ длинных показателей DAX

Но если я собираюсь использовать ту же меру для «Заводы по минутам простоя» , то мне придется удалить данные о поставщике и просто сосредоточиться на местоположении завода.

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

Анализ показателей DAX: анализ длинных показателей DAX

То же самое относится и к минутам простоя . Если бы мне пришлось работать с картой, которая показывает Среднее время простоя в минутах или Дефекты , то все, что мне нужно было бы сделать, это изменить эту часть.

Анализ показателей DAX: анализ длинных показателей DAX

Что касается части, где в показателе указано «@DowntimeMins», то не помешает оставить его таким, даже если я ссылаюсь на свои Дефекты или Среднее время простоя в минутах.

Анализ показателей DAX: анализ длинных показателей DAX

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

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

Чтобы показать вам, как я это сделал, давайте посмотрим на Vendors By Downtime Minutes .

Анализ показателей DAX: анализ длинных показателей DAX

Когда я вытащу показатель, вы увидите, что он имеет ту же 41 строку, что и Plants/Vendors By Downtime Minutes .

Анализ показателей DAX: анализ длинных показателей DAX

Однако на шаге 1 я указал только данные поставщика и удалил местоположение завода.

Анализ показателей DAX: анализ длинных показателей DAX

Я изменил данные и в других местах, где это применимо.

Анализ показателей DAX: анализ длинных показателей DAX

Я сохранил минуты простоя, так как это то, на чем основываются результаты.

Анализ показателей DAX: анализ длинных показателей DAX

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

Позвольте мне показать вам еще один пример. На этот раз давайте посмотрим на Vendors By Defects .

Анализ показателей DAX: анализ длинных показателей DAX

Еще раз, мы просто смотрим на поставщика здесь.

Анализ показателей DAX: анализ длинных показателей DAX

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

Анализ показателей DAX: анализ длинных показателей DAX

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

Анализ показателей DAX: анализ длинных показателей DAX


Измерения DAX в LuckyTemplates с использованием ветвления показателей
Внедрение групп показателей DAX в отчеты — обзор моделирования LuckyTemplates
Извлечение уникальных аналитических данных в LuckyTemplates с использованием ранжирования показателей DAX

Заключение

Это была мощная работа DAX от Антрикша. Мне определенно понравилось работать с ним , расширяя его и применяя к различным частям моего отчета .

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

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

Всего наилучшего,

Джарретт

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 для своих бизнес-отчетов.