RANKX Deep Dive: функція LuckyTemplates DAX

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

Зміст

Приклади сценаріїв

Ми проаналізуємо деякі з найважливіших сценаріїв, зокрема, коли посилатися на всю таблицю та назву поля всередині .

Ми також розглянемо, що відбувається, коли зменшується і коли до поля застосовується порядок сортування. Нарешті, ми детальніше розглянемо найкращу практику посилання на ім’я таблиці або ім’я поля в таблиці та те, як рейтинг оцінюється на задній частині.

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

У нашому першому сценарії ми хочемо обчислити рейтинг наших клієнтів і посилатися на всю таблицю клієнтів у функції RANKX. Зрештою, ми дізнаємося, як оцінюються результати.

Тож давайте почнемо з того, що відкриємо LuckyTemplates і натиснемо кнопку параметрів Total Sales на вкладці Key Measures , а потім перейдемо до New Measure . Напишіть міру для рейтингу клієнта (наприклад, «Рейтинг клієнта =»).

Ви можете переглянути результати, перетягнувши показник рейтингу клієнта всередину таблиці.

RANKX Deep Dive: функція LuckyTemplates DAX

Але чи це найкращий підхід для кожного сценарію? Що робити, якщо є дві людини з однаковим іменем, але в різних містах? А що, якщо у нас є два місця з однаковою назвою, але на різних територіях?

RANKX Сценарій 2: Рейтинг міст V1

Тепер застосуємо той самий підхід до першого сценарію. Однак цього разу ми застосуємо його до таблиці регіонів, де у нас є два міста з однаковою назвою, але в двох різних місцях.

RANKX Deep Dive: функція LuckyTemplates DAX

Як ви можете бачити на зображенні вище, у таблиці регіонів у нас є два міста з однаковою назвою, але вони доступні на двох різних територіях. Отже, що станеться, якщо ми застосуємо ті самі кроки з нашого попереднього сценарію?

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

RANKX Deep Dive: функція LuckyTemplates DAX

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

Щоб вирішити цю проблему, потрібно посилатися на назву поля всередині функції RANKX і назву таблиці, як на зображенні нижче.

RANKX Deep Dive: функція LuckyTemplates DAX

Отже, як виправити помилку? Коли ми посилаємося на ім’я поля всередині функції RANKX, воно повторюватиметься лише через цей стовпець, а не по всій таблиці.

Він видалить дублікати, навіть якщо два міста доступні на двох різних територіях, таким чином об’єднавши їх як одне місто.

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

Отже, що відбувається, коли рівень деталізації зменшується?

У цьому випадку ви побачите помилку під час розрахунку рейтингу на територіальному рівні. Причина полягає в тому, що коли ми посилаємося лише на ім’я таблиці та знову ігноруємо ім’я стовпця, воно повторюється по всій таблиці, таким чином, не вдається консолідувати результати на територіальному рівні.

Щоб отримати правильні результати на територіальному рівні, потрібно посилатися на поле територій у таблиці регіонів. Але коли слід посилатися на всю тему таблиці та включати назву поля разом із таблицею?

Коли ранжирування застосовується до найнижчого рівня деталізації, ми можемо посилатися на ім’я таблиці та ігнорувати ім’я поля.

RANKX Deep Dive: функція LuckyTemplates DAX

Але коли рівень деталізації зменшується, нам доведеться посилатися на назву стовпця разом з назвою таблиці. Поки що ми аналізуємо результати лише в одному візуалі, тобто в таблиці.

Cities RankingV2: кращий підхід із використанням Slicer

Давайте скопіюємо другий сценарій, де ліва сторона візуалізації посилатиметься лише на ім’я таблиці, а права – на назву стовпця всередині функції RANKX. Потім ми порівняємо результати, розмістивши на цій сторінці роздільник у формі територій, результатом якого буде зображення нижче.

RANKX Deep Dive: функція LuckyTemplates DAX

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

Причина полягає в тому, що RANKX повторює лише певний стовпець таблиці, що дозволяє відфільтрувати результати відповідно до вибору, зробленого в зрізі. Це також одна з найважливіших речей, про яку слід пам’ятати.

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

Але якщо ми хочемо, щоб наші результати були в послідовному порядку відповідно до вибору, зробленого в зрізі, тоді нам також потрібно посилатися на назву стовпця всередині функції.

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

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

У цьому сценарії ми використовуємо назву продуктів із таблиці продуктів, щоб проаналізувати, які є нашими.

Тож, як і в першому сценарії, вам потрібно написати вимірювання рейтингу для ваших продуктів (у цьому випадку краще використовувати рейтинг продуктів). Якщо ви перенесете вимірювання рейтингу продуктів у візуальне зображення, ви побачите результат, як на зображенні нижче:

RANKX Deep Dive: функція LuckyTemplates DAX

Ви бачите, що навіть незважаючи на те, що ми посилалися на поле назви нашого продукту всередині функції RANKX, воно неправильно оцінює результати. Так чому це відбувається? Щоб відповісти на це питання, нам потрібно відкрити.

RANKX Сценарій 5: DAX Studio

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

На зображенні нижче я скопіював запит візуалу таблиці через і вставив його в DAX studio. Як ви бачите в цьому запиті, також є індекс продукту, поле сортування всередині таблиці продуктів.

RANKX Deep Dive: функція LuckyTemplates DAX

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

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

RANKX Deep Dive: функція LuckyTemplates DAX

Як ви можете бачити на зображенні вище, результати для назв продуктів тепер правильно оцінюються. Таким чином, коли у нас є поле, відсортоване за іншим полем, нам потрібно посилатися на обидва поля всередині функції RANKX на основі всіх сценаріїв, які ми сьогодні обговорювали.

Висновок

Отже, це деякі сценарії використання функції RANKX у обчисленнях DAX. Загалом, є багато інших способів, якими ви можете це зробити, завдяки широкому набору функцій.

Найважливіше пам’ятати, що вам потрібно розуміти контекст, у якому розміщується ваша функція RANKX.

RANKX надзвичайно універсальний для обчислення аналізу будь-якого типу рейтингу в LuckyTemplates. Він також дає змогу отримувати розширену статистику, яка справляє враження на споживачів ваших звітів і візуалізацій.

Все найкраще,

Суворий Аніл Джоші


Змініть формати дати за допомогою редактора Power Query

Змініть формати дати за допомогою редактора Power Query

У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

Створення таблиці дат у LuckyTemplates

Створення таблиці дат у LuckyTemplates

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

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.