Что такое self в Python: примеры из реального мира
Что такое self в Python: примеры из реального мира
Сегодня мы углубимся в RANKX, скалярную функцию DAX в LuckyTemplates , которая позволяет вам возвращать ранжирование определенного числа в каждой строке таблицы, которая является частью списка чисел. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Оглавление
Примеры сценариев
Мы проанализируем некоторые наиболее важные сценарии, в том числе случаи, когда нужно ссылаться на всю таблицу и имя поля внутри .
Мы также рассмотрим, что происходит, когда уровень детализации уменьшается и когда к полю применяется порядок сортировки. И, наконец, мы более подробно рассмотрим наилучшую практику ссылки на имя таблицы или имя поля в таблице и на то, как ранжирование оценивается на бэкэнде.
RANKX Сценарий 1: Рейтинг клиентов
В нашем первом сценарии мы хотим рассчитать рейтинг наших клиентов и сослаться на всю таблицу клиентов внутри функции RANKX. В конечном итоге мы узнаем, как оцениваются результаты.
Итак, давайте начнем с того, что откроем LuckyTemplates и нажмем кнопку «Общие продажи » на вкладке «Ключевые показатели» , а затем перейдем к « Новый показатель» . Напишите показатель для рейтинга клиентов (например, «Рейтинг клиентов =»).
Вы можете просмотреть результаты, перетащив показатель ранжирования клиентов внутри таблицы.
Но является ли это лучшим подходом для каждого сценария? Что делать, если есть два человека с одинаковым именем, но в разных городах? Или что, если у нас есть два места с одинаковым названием, но разными территориями?
RANKX Сценарий 2: Рейтинг городов V1
Теперь давайте применим тот же подход в первом сценарии. Однако на этот раз мы применим его к таблице регионов, где у нас есть два города с одинаковым названием, но в двух разных местах.
Как вы можете видеть на изображении выше, внутри таблицы регионов у нас есть два города с одинаковым названием, но они доступны на двух разных территориях. Итак, что происходит, когда мы применяем те же шаги из нашего предыдущего сценария?
Результаты будут выглядеть примерно так:
Теперь мы начинаем видеть проблему с нашей формулой ранжирования. Поскольку функция RANKX перебирает весь набор таблиц, она не может консолидировать результаты для городов с одинаковыми названиями, которые доступны на двух разных территориях. В конечном итоге это приводит к ошибке.
Чтобы решить эту проблему, вам нужно сослаться на имя поля внутри функции RANKX и имя таблицы, как на изображении ниже.
Так как же исправить ошибку? Когда мы ссылаемся на имя поля внутри функции RANKX, оно будет перебирать его только по этому столбцу, а не по всей таблице.
Это удалит дубликаты, даже если два города доступны на двух разных территориях, тем самым объединив их в один город.
RANKX Сценарий 3: Рейтинг территорий
Так что же происходит, когда уровень детализации уменьшается?
В этом случае вы увидите ошибку при расчете рейтинга на территориальном уровне. Причина в том, что когда мы ссылаемся только на имя таблицы и снова игнорируем имя столбца, выполняется итерация по всей таблице, таким образом, не удается консолидировать результаты на территориальном уровне.
Чтобы получить правильные результаты на уровне территорий, вам необходимо сослаться на поле территорий внутри таблицы регионов. Но когда вы должны ссылаться на всю тему таблицы и включать имя поля вместе с таблицей?
Когда ранжирование применяется на самом низком уровне детализации, мы можем ссылаться на имя таблицы и игнорировать имя поля.
Но когда уровень детализации уменьшается, нам придется ссылаться на имя столбца вместе с именем таблицы. Пока мы анализируем результаты только в одном визуале, то есть в таблице.
Cities RankingV2: лучший подход с использованием слайсера
Давайте продублируем второй сценарий, где левая сторона визуального элемента будет ссылаться только на имя таблицы, а правая сторона будет ссылаться на имя столбца внутри функции RANKX. Затем мы сравним результаты, перенеся слайсер на эту страницу в виде территорий, что приводит к изображению ниже.
Когда мы делаем выборку в слайсере, вы заметите, что в левой части визуальной таблицы результат не отображается в последовательном порядке, поскольку RANKX выполняет итерацию по всей таблице региона. Однако в правой части визуальной таблицы вы увидите результаты в последовательном порядке.
Причина в том, что RANKX выполняет итерацию только по определенному столбцу таблицы, что позволяет отфильтровывать результаты в соответствии с выбором, сделанным в слайсере. Это также одна из самых важных вещей, которые нужно помнить.
Если мы хотим увидеть общие результаты ранжирования, мы можем ссылаться только на имя таблицы внутри функции RANKX .
Но если мы хотим, чтобы наши результаты были в последовательном порядке в соответствии с выбором, сделанным в слайсере, нам также нужно сослаться на имя столбца внутри функции.
RANKX Сценарий 4: Рейтинг продуктов
Наконец, давайте приступим к нашему последнему сценарию. Давайте посмотрим, что происходит, когда мы помещаем заказ на продукт в определенное поле, и как RANKX оценивает ранжирование в конце.
В этом сценарии мы используем названия продуктов из таблицы продуктов, чтобы проанализировать, какие продукты являются наиболее эффективными .
Итак, как и в первом сценарии, вам нужно написать показатель ранжирования для ваших продуктов (в этом случае хорошо использовать ранжирование продуктов). Если вы поместите меру ранжирования продуктов внутри визуального элемента, вы увидите результат, как на изображении ниже:
Вы можете видеть, что, несмотря на то, что мы сослались на поле имени нашего продукта внутри функции RANKX, она неправильно оценивает результаты. Так почему это происходит? Чтобы ответить на этот вопрос, нам нужно открыть DAX Studio .
RANKX Сценарий 5: Студия DAX
Итак, давайте откроем студию DAX и посмотрим, как RANKX оценивает результаты ранжирования в конце.
На изображении ниже я скопировал запрос визуальной таблицы с помощью анализатора производительности и вставил его в студию DAX. Как вы можете видеть в этом запросе, есть также индекс продукта, поле сортировки внутри таблицы продуктов.
Таким образом, несмотря на то, что в нашей визуальной таблице мы указали только название продукта, общий объем продаж и показатель ранжирования, на это поле по умолчанию ссылаются в конце расчета ранжирования.
Итак, теперь давайте исправим наш показатель ранжирования продукта, обратившись к полю сортировки внутри функции RANKX, и посмотрим на результаты в последний раз.
Как вы можете видеть на изображении выше, результаты для названий продуктов теперь оцениваются правильно. Таким образом, всякий раз, когда у нас есть поле, отсортированное по другому полю, нам нужно ссылаться на оба поля внутри функции RANKX на основе всех сценариев, которые мы обсуждали сегодня.
Заключение
Вот некоторые из сценариев использования функции RANKX в вычислениях DAX. В целом, есть еще много способов сделать это в обширном наборе функций.
Самое главное, что нужно помнить, это то, что вам нужно понимать контекст, в котором находится ваша функция RANKX.
RANKX исключительно универсален при расчете любого анализа типа ранжирования в LuckyTemplates. Это также позволяет получать расширенные аналитические данные, которые впечатляют потребителей ваших отчетов и визуализаций.
Всего наилучшего,
Суровый Анил Джоши
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.
Что такое шлюз LuckyTemplates? Все, что тебе нужно знать