Подробное изучение RANKX: функция LuckyTemplates DAX

Подробное изучение RANKX: функция LuckyTemplates DAX

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

Оглавление

Примеры сценариев

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

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

RANKX Сценарий 1: Рейтинг клиентов

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

Итак, давайте начнем с того, что откроем LuckyTemplates и нажмем кнопку «Общие продажи » на вкладке «Ключевые показатели» , а затем перейдем к « Новый показатель» . Напишите показатель для рейтинга клиентов (например, «Рейтинг клиентов =»).

Вы можете просмотреть результаты, перетащив показатель ранжирования клиентов внутри таблицы.

Подробное изучение RANKX: функция LuckyTemplates DAX

Но является ли это лучшим подходом для каждого сценария? Что делать, если есть два человека с одинаковым именем, но в разных городах? Или что, если у нас есть два места с одинаковым названием, но разными территориями?

RANKX Сценарий 2: Рейтинг городов V1

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

Подробное изучение RANKX: функция LuckyTemplates DAX

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

Результаты будут выглядеть примерно так:

Подробное изучение RANKX: функция LuckyTemplates DAX

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

Чтобы решить эту проблему, вам нужно сослаться на имя поля внутри функции RANKX и имя таблицы, как на изображении ниже.

Подробное изучение RANKX: функция LuckyTemplates DAX

Так как же исправить ошибку? Когда мы ссылаемся на имя поля внутри функции RANKX, оно будет перебирать его только по этому столбцу, а не по всей таблице.

Это удалит дубликаты, даже если два города доступны на двух разных территориях, тем самым объединив их в один город.

RANKX Сценарий 3: Рейтинг территорий

Так что же происходит, когда уровень детализации уменьшается?

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

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

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

Подробное изучение RANKX: функция LuckyTemplates DAX

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

Cities RankingV2: лучший подход с использованием слайсера

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

Подробное изучение RANKX: функция LuckyTemplates DAX

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

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

Если мы хотим увидеть общие результаты ранжирования, мы можем ссылаться только на имя таблицы внутри функции RANKX .

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

RANKX Сценарий 4: Рейтинг продуктов

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

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

Итак, как и в первом сценарии, вам нужно написать показатель ранжирования для ваших продуктов (в этом случае хорошо использовать ранжирование продуктов). Если вы поместите меру ранжирования продуктов внутри визуального элемента, вы увидите результат, как на изображении ниже:

Подробное изучение RANKX: функция LuckyTemplates DAX

Вы можете видеть, что, несмотря на то, что мы сослались на поле имени нашего продукта внутри функции RANKX, она неправильно оценивает результаты. Так почему это происходит? Чтобы ответить на этот вопрос, нам нужно открыть DAX Studio .

RANKX Сценарий 5: Студия DAX

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

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

Подробное изучение RANKX: функция LuckyTemplates DAX

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

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

Подробное изучение RANKX: функция LuckyTemplates DAX

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

Заключение

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

Самое главное, что нужно помнить, это то, что вам нужно понимать контекст, в котором находится ваша функция RANKX.

RANKX исключительно универсален при расчете любого анализа типа ранжирования в 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 для своих бизнес-отчетов.

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать