Труба в R: підключення функцій за допомогою Dplyr
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
RANKX — це дуже унікальна функція DAX, яка потребує більш глибокого осмислення її логіки та того, як вона насправді працює під час виконання обчислень у певному контексті (наприклад, таблиця чи діаграма в LuckyTemplates). Ви можете переглянути повне відео цього підручника внизу цього блогу.
Чого ви не хочете, щоб функція RANKX DAX почала отримувати результати й не розуміти, як вони обчислюються, тому що у ваших звітах завжди можуть відображатися неправильні обчислення та результати.
Кожен інший параметр у межахфункція може змінити спосіб обчислення результату. Є кілька параметрів, які можна ввести в цю функцію DAX, щоб зрозуміти, як кожен з них може визначити основний результат, який вважається важливим.
Ось чому важливо розуміти ключові елементи та концепції того, як RANKX працює в різних контекстах. Це дозволить вам бути впевненими, що ваші розрахунки правильні та що ваші споживачі бачать статистику, яка дійсно має сенс.
У цьому посібнику я обговорюватиму, як можна використовувати цю конкретну формулу та функцію.
Зміст
Приклад базового сценарію RANKX
Ось приклад сценарію для простого обчислення RANKX . Спочатку поглянемо на таблицю зліва.
Те, що ми намагаємося зробити тут, це визначити рейтинг цих продуктів на основі продажів (це також може базуватися на будь-якому показнику) для всіх різних продуктів, які ми продаємо.
Використання функції ALL у обчисленні RANKX DAX
Тепер давайте подивимося на поточну формулу для цього конкретного сценарію.
По-перше, нам потрібно створити таблицю всередині функції RANKX DAX , щоб оцінити кожен окремий продукт на основі показника, який ми вказали.
Тут використовувалася функція ALL, щоб видалити будь-який фільтр із таблиці Products . Це тому, що нам потрібно оцінити кожен окремий продукт і побачити, дедля кожного конкретного продукту рейтинги на основі всіх продуктів.
Але якщо ми видалимо фільтр (у цьому випадку функцію ALL ) і просто використаємо « Продукти », це покаже інший результат.
Як ви бачите, воно щойно оцінене до 1 . Це пояснюється тим, що він розглядає лише поточний продукт у поточному контексті (у даному випадку Продукт 63 ). Отже, все буде поставлено на 1-е місце , оскільки це буквально єдиний продукт у таблиці, який RANKX оцінює. І головним чином тому нам потрібно використовувати функцію ALL , щоб отримати правильний результат.
Ось як ви можете вирішити прості обчислення RANKX .
Але що, якщо це стане складніше? Що робити, якщо вам потрібні результати рейтингу, які базуються не лише на загальних продажах ?
Що ж, тут нам потрібно зрозуміти поточний контекст цього розрахунку. Нам потрібно знати, як ми можемо маніпулювати контекстом, щоб отримати бажаний результат.
Зразок комплексного сценарію RANKX
Давайте спробуємо внести точно таку ж формулу ( міру рейтингу продукту ) у таблицю з правого боку.
Як бачите, це дало нам ще один помилковий результат. Причина цього полягає в тому, що тут також є стовпець «Ім’я клієнта» .
Якщо ми знову подивимося на формулу, ви побачите, що вона не розбиває кожного окремого клієнта . Ми лише оцінюємо продукцію для кожного конкретного клієнта.
Давайте спробуємо розібратися в стовпці Customer Name .
Навіть якщо ми відсортуємо стовпець імені клієнта , рейтинг продукту все одно зміниться на основі рейтингу продукту, який вони придбали .
Як ви бачите тут, є багато однакових чисел. Одним із прикладів є ранг 17 . У цьому випадку це може бути тому, що цей конкретний клієнт купив лише 17 продуктів .
Можливо, це те, що вам потрібно в цьому сценарії. Але що, якщо вам знадобиться щось складніше за це? Що робити, якщо вам знадобиться ранг від 1 до невизначеного значення контекстів імені клієнта та продукту ?
Як я підкреслював, важливо розуміти контекст і те, як ми маніпулюємо контекстом , щоб отримати бажаний результат.
Використання функції CROSSJOIN
Наразі ми маємо два виміри з двох абсолютно різних таблиць. Коли ви перемикаєтесь у режим перегляду моделювання , ви побачите, що стовпець «Ім’я клієнта» походить із таблиці «Клієнти », а стовпець «Назва продукту» — із таблиці « Продукти» .
Отже, нам потрібно якимось чином видалити фільтри цієї віртуальної таблиці всередині логіки RANKX з обох таблиць.
Нам потрібно зробити те, що ми зробили в першій таблиці (ліворуч), але нам потрібно зробити це в обох стовпцях « Ім’я клієнта» та «Назва продукту» в обох окремих таблицях.
Потім, зрештою, ми отримаємо правильний рейтинг за допомогою загального обсягу продажів імені клієнта та назви продукту . Ось формула, яку ми можемо використовувати для цього окремого сценарію.
Цефункція дозволяє нам об’єднати два стовпці разом, або це також можуть бути дві таблиці. Однак у цьому випадку ми просто об’єднаємо колони.
Заглиблюючись у деталі, ми намагаємося зробити в цій частині лише видалення всіх фільтрів із таблиць клієнтів і продуктів .
Потім ми будемо переглядати кожен окремий рядок у цій віртуальній таблиці та оцінювати чи визначати, де знаходиться конкретний ранг для цієї конкретної підмножини імені клієнта та назви продукту .
Якщо ви перевірите результати, ви побачите, що ми нарешті отримали точний рейтинг. А також, якщо ви помітили, в 4-му ряду є два рядки . Це тому, що вони обидва мають однакові загальні продажі .
І саме так ми досягли результатів, яких хочемо досягти в цьому конкретному сценарії.
Висновок
Це лише деякі міркування під час використання функції RANKX у обчисленнях DAX , які ми хочемо розглянути в цьому посібнику. Є так багато способів, якими ви можете це зробити за допомогою багатьох різних функцій. Але ключовим висновком тут є те, що вам справді потрібно розуміти контекст, у який поміщається ваша функція RANKX .
Це, безперечно, найкращий спосіб продемонструвати RANKX , особливо коли йдеться про його універсальність у розрахунку аналізу будь-якого типу рейтингу. Ви будете вражені, наскільки гнучкою може бути функція RANKX у LuckyTemplates.
Його можна використовувати в різних сценаріях. Крім того, він дає змогу отримувати розширену інформацію, яка зрештою справить враження на споживачів ваших звітів і візуалізацій.
Успіхів у перегляді цього.
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.
Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!
Шпаргалка формул Excel: Посібник середнього рівня
Календарна таблиця LuckyTemplates: що це таке та як ним користуватися
Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.
Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.
Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.
У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.
Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.