Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

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

Зміст

Визначення та синтаксис функції DAX RANKX

Функція RANKX LuckyTemplates DAX повертає ранжування певного числа в списку чисел для кожного рядка в аргументі таблиці. Його можна використовувати в розрахунках як для обчислюваних стовпців, так і для обчислених мір. Нижче наведено синтаксис формули RANKX.

RANKX(
     , , , ,
)

Для параметра таблиці можна ввести стандартну таблицю, імпортовану в LuckyTemplates, або обчислену таблицю через DAX. RANKX, як функція ітерації , потім виконує ітерацію по цій таблиці та ранжує певне число. Це залежить від кількості значень у таблиці. Наприклад, якщо таблиця містить 20 значень, то RANKX матиме результат ранжирування від 1 до 20.

Одним із ключів до розуміння функції RANKX є те, що вона повертає скалярне значення . У параметрі виразу нам потрібен вираз DAX, який повертає скалярне значення. Цей вираз виконує цикл і ітерацію по кожному рядку в таблиці, надаючи вам значення ранжирування відповідно.

Параметри значення та порядку є необов’язковими, тоді як параметр зв’язків допомагає вам визначити значення.

Концепції формул RANKX і LuckyTemplates DAX

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

RANKX — це дуже унікальна функція DAX, яка потребує більш глибокого осмислення її логіки та того, як вона насправді працює під час виконання обчислень у певному контексті (наприклад, таблиця чи діаграма в LuckyTemplates).

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

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

Базовий сценарій RANKX DAX

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

Але, якщо ми видалимо фільтр (у цьому випадку  функцію ALL  ) і просто використаємо «Продукти», це покаже інший результат. Ось чому нам потрібно отримати правильний результат. Ось як ви можете вирішити прості   обчислення  RANKX .

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

Складний сценарій RANKX DAX

Давайте спробуємо внести точно таку ж формулу (міру рейтингу продукту) у таблицю з правого боку.

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Давайте спробуємо розібратися в  стовпці Customer Name  .

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

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

У нашому прикладі ми маємо два виміри з двох абсолютно різних таблиць. У нас є стовпець Ім’я клієнта  з  таблиці Клієнти та стовпець Назва продукту з таблиці Продукти.

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

Нам потрібно якось видалити фільтри на цій віртуальній таблиці всередині логіки RANKX з обох двох таблиць. Нам потрібно зробити те, що ми зробили в першій таблиці (ліворуч), але нам потрібно зробити це в обох стовпцях «Ім’я клієнта» та «Назва продукту» в обох окремих таблицях.

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

Ця функція дозволяє нам об’єднати два стовпці, або це також можуть бути дві таблиці. Однак у цьому випадку ми просто об’єднаємо колони.

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

Розширений приклад RANKX DAX

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

Вам потрібно чітко розуміти контекст, а потім навчитися використовувати RANKX у цьому контексті.

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

У візуалізації нижче ми маємо рейтинг округів, рейтинг штатів і рейтинг регіонів штатів.

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Формула №1: RANKX з ALL і ALLSELECTED

Функція ALL є ключовою частиною цієї формули для рейтингу округу:

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

Він маніпулює контекстом у формулі RANKX. Потім він виконує ітерацію по таблиці Regions і створює результат ранжирування. У цьому випадку функція ALL фактично працює з кожним окремим округом незалежно від початкового контексту.

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

Контекст налаштовується на основі фільтрів у функції CALCULATE. Таким чином, рейтинг буде скориговано на основі контексту, що надходить від роздільників штату та регіону штату.

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

Формула №2: RANKX з ALL і VALUES

Давайте тепер подивимося на стовпець «Округ» (оновлено).

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Це формула, яка використовується:

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

Це дає вам хорошу відмінність між округами. Таким чином тепер ви можете працювати з віртуальною таблицею округів, які є в даних. Перш ніж це зробити, вам потрібно видалити ВСІ контексти з таблиці Regions.

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

Отже, будь-який контекст, що надходить із таблиці Region, на даний момент часу не існує. За допомогою цієї функції ви можете повернути контекст стовпця Full County.

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

RANKX працює в кожному окремому окрузі в кожному рядку разом із їхніми загальними продажами, а потім ранжує їх. Таким чином ви отримуєте значення від 1 до X у рядку County (Updated). У результаті фільтри та зрізи не матимуть значення та не впливатимуть на рейтинг, оскільки формула налаштована на їх ігнорування.

Інші практичні приклади LuckyTemplates вимірювання RANKX

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

Пошук верхнього та нижнього значень за допомогою RANKX

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

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

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

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

Отже, ми збираємося використовувати функцію RANKX і ВСІ імена клієнтів, тому що ми будемо ранжувати кожного клієнта в будь-якому конкретному контексті. ALL позбавляється будь-якого фільтра за іменами клієнтів, щоб ми могли завершити цей рейтинг.

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

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

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

Якщо ви продаєте клієнтам багато разів, ви захочете скоротити часові рамки; але якщо лише ви продаєте клієнтам 2 або 3 рази на рік, тоді вам варто проаналізувати речі з довгострокового періоду часу.

Є ще одна функція DAX під назвою TOPN, яка також використовується для ранжирування статистичних даних. Однак є ще великий . Майте на увазі, що TOPN є табличною функцією, а RANKX повертає скалярне значення . Головне — зрозуміти контекст , у який ви вкладаєте ці функції.

Комбінування динамічного групування за допомогою LuckyTemplates RANKX

Ще один чудовий спосіб використовувати RANKX — сегментувати або групувати результати, а не просто показувати результати самі по собі без будь-якого контексту.

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

Щоб побачити, чи існує тенденція, нам потрібно створити динамічні групи та оцінити їх з часом. Це дуже важко зробити, особливо якщо ви працюєте з Excel. Але якщо ви добре розумієте DAX, ви можете написати формулу, написання якої не займе у вас багато часу, і тоді вона стане шаблоном, який ви можете використовувати знову і знову.

Ось показник, який я створив для цього сценарію:

Функція RANKX DAX у LuckyTemplates: вичерпний огляд

Ми починаємо з функції CALCULATE, тому що без CALCULATE нічого не відбувається. Потім ми додаємо загальний обсяг продажів, тому що це те, що ми підсумовуємо.

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

Наступним кроком буде використання функції та функції FILTER знову. Потім виберіть групу клієнтів, яку я створив.

Потім ми збираємося перебирати цю таблицю за допомогою RANKX. Ми обчислюємо загальний обсяг продажів у верхній частині, але таблиця груп клієнтів насправді є рейтингом. Нам потрібно отримати рейтинг кожного з цих окремих клієнтів, а потім перевірити, чи входять вони до будь-якої з груп у таблиці Групи клієнтів.

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

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

Висновок

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

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

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

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

здоров'я!


Вирішіть задачу аналізу даних за допомогою прискорювача LuckyTemplates

Вирішіть задачу аналізу даних за допомогою прискорювача LuckyTemplates

Відточіть свої навички розробки звітів, приєднавшись до змагання з аналізу даних. Прискорювач може допомогти вам стати суперкористувачем LuckyTemplates!

Підсумки в LuckyTemplates за допомогою DAX

Підсумки в LuckyTemplates за допомогою DAX

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

Змінні LuckyTemplates Dax постійні: що це означає?

Змінні LuckyTemplates Dax постійні: що це означає?

Зрозумійте концепцію змінних у DAX у LuckyTemplates і значення змінних для обчислення показників.

Діаграма нахилу LuckyTemplates: огляд

Діаграма нахилу LuckyTemplates: огляд

Дізнайтеся більше про настроюваний візуал під назвою LuckyTemplates Slope chart, який використовується для показу зростання/зменшення для одного чи кількох показників.

Колірні теми LuckyTemplates для однорідної візуалізації

Колірні теми LuckyTemplates для однорідної візуалізації

Відкрийте для себе кольорові теми в LuckyTemplates. Це необхідно для того, щоб ваші звіти та візуалізації виглядали та працювали без проблем.

Обчислення середнього значення в LuckyTemplates: виділення результатів у будні чи вихідні за допомогою DAX

Обчислення середнього значення в LuckyTemplates: виділення результатів у будні чи вихідні за допомогою DAX

Розрахувати середнє значення в LuckyTemplates можна кількома способами, щоб отримати точну інформацію для ваших бізнес-звітів.

Шаблони LuckyTemplates | Стандартне оформлення робочого столу LuckyTemplates

Шаблони LuckyTemplates | Стандартне оформлення робочого столу LuckyTemplates

Давайте заглибимося в стандартну тематику LuckyTemplates і розглянемо деякі функції, вбудовані в саму програму LuckyTemplates Desktop.

Візуальна карта LuckyTemplates: як створити та додати спеціальну легенду в LuckyTemplates

Візуальна карта LuckyTemplates: як створити та додати спеціальну легенду в LuckyTemplates

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

Фонове зображення LuckyTemplates для звітів із використанням PPT

Фонове зображення LuckyTemplates для звітів із використанням PPT

Дізнайтеся, як налаштувати фонове зображення LuckyTemplates за допомогою PowerPoint. Це одна з моїх технік створення звітів LuckyTemplates.

Модель та аналіз рішень щодо закупівель у LuckyTemplates

Модель та аналіз рішень щодо закупівель у LuckyTemplates

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