Настроюване сортування LuckyTemplates за допомогою DAX

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

Зміст

Наша модель даних

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

Настроюване сортування LuckyTemplates за допомогою DAX

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

Настроюване сортування LuckyTemplates: використання циклу While

Почнемо з вимірювання за допомогою простого циклу while. 

Настроюване сортування LuckyTemplates за допомогою DAX

Ми встановимо наш бюджет на рівні 20000 і збережемо його в змінній Budget за допомогою _Budget.

Настроюване сортування LuckyTemplates за допомогою DAX

Потім ми використаємо цикл while, створивши змінну таблиці VAR_Table

Настроюване сортування LuckyTemplates за допомогою DAX

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

Настроюване сортування LuckyTemplates за допомогою DAX

Далі ми беремо [Analyzed ROI] у нашому поточному рядку, збереженому як VAR_ROI . Потім ми беремо наш бюджет . З нього ми віднімаємо, відфільтруйте таблицю 4 для проаналізованої рентабельності інвестицій, яка перевищує або дорівнює рентабельності інвестицій, яку ми захоплюємо для нашого поточного рядка, і захопіть [Вартість]

Настроюване сортування LuckyTemplates за допомогою DAX

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

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

Настроюване сортування LuckyTemplates за допомогою DAX

Тоді ми можемо використовувати для цих значень. Ми додамо наші стовпці — «Кампанії», «Аналізована рентабельність інвестицій» і «Вартість» — і додамо .

Настроюване сортування LuckyTemplates за допомогою DAX

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

Настроюване сортування LuckyTemplates за допомогою DAX

Давайте перевіримо нашу початкову таблицю, щоб порівняти результати.

Настроюване сортування LuckyTemplates за допомогою DAX

Ми бачимо, що PPC справді має нижчу рентабельність інвестицій, ніж SEM та Instagram. 

Однак, як ви могли помітити, наш результат не повернувся в правильному порядку: 8.1 Instagram відображався спочатку перед 8.15 SEM. 

Застосування порядку сортування LuckyTemplates

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

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

Настроюване сортування LuckyTemplates за допомогою DAX

І щоб гарантувати порядок сортування, нам потрібно трохи попрацювати. 

Знову ж таки, ми починаємо з нашого VAR_Budget , який ми встановлюємо на 20000. Потім ми створюємо нашу змінну Count за допомогою VAR_Count I і застосовуємо її до таблиці 4. 

Настроюване сортування LuckyTemplates за допомогою DAX

У наступному рядку ми використаємо функцію CONCATENATEX , щоб об’єднати стовпці Campaigns, Analyzed ROI та Cost. Ви можете використовувати будь-що як роздільник, якщо це не у ваших даних, тому в цьому випадку давайте просто використаємо зірочки. 

Потім ми використаємо вертикальну риску (|) у наступному параметрі після стовпця вартості. Ми також використовуватимемо VAR_Ordered для сортування за проаналізованою ROI у порядку спадання, тобто найвища ROI буде вгорі.

Настроюване сортування LuckyTemplates за допомогою DAX

Якщо ми подивимося на рядок коментаря, там сказано, що код дасть нам результат у форматі SEM*8.158*10000 | Instagram*8.1*10000 . Він також вийде в порядку від найвищої ROI до найнижчої ROI. 

Спеціальне сортування LuckyTemplates: використання циклу For

Цей приклад цікавий, оскільки ми отримуємо цикл while і всілякі цікаві функції. Цього разу ми використаємо цикл for

Таблиця1

У цьому прикладі Table1 є нашим циклом for, і те, що ми робимо, це ADDCOLUMNS доякий переходить від одиниці до нашого рахунку через одиницю, записану як (1,_Count,1).

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

Ми також використовуємо Value , який є нашим автоматичним стовпцем, створеним за допомогою GENERATESERIES , або нашими календарями 1, 2, 3, 4, 5, доки ми не вичерпаємо кількість рядків у нашій таблиці. Потім ми повертаємо його як Text

Настроюване сортування LuckyTemplates за допомогою DAX

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

Таблиця2

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

Давайте скористаємося ще одним ADDCOLUMNS , щоб додати до таблиці1 наш цикл for. Для кампаній створіть стовпець кампаній і використовуйтезамінити зірочки на труби. Потім ми використаємо PATHITEM на RowPath, щоб отримати перший елемент і повернути його як TEXT.

Настроюване сортування LuckyTemplates за допомогою DAX

У стовпці «Аналізована рентабельність інвестицій» ми зробимо те ж саме. ЗАМІНИТИ зірочки з трубами. Потім візьміть другий елемент на нашому шляху та поверніть його як ТЕКСТ. Ми робимо це тому, що з певних причин PATHITEM дозволяє повертати як цілі числа або текст, але не десяткові числа.

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

Настроюване сортування LuckyTemplates за допомогою DAX

Знову ми робимо те саме для стовпця Вартість . Ми використовуємо SUBSTITUTE і PATHITEM , щоб захопити третій елемент. Потім, щоб повернути число, ми знову додаємо нуль, оскільки в цьому випадку це ціле число.

Настроюване сортування LuckyTemplates за допомогою DAX

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

Настроюване сортування LuckyTemplates за допомогою DAX

Наша SEM була нашим найвищим рейтингом ROI для нашої кампанії, а Instagram займає друге місце. 




Висновок

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

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

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

Грег Деклер


Що таке Power Query та мова M: детальний огляд

Що таке Power Query та мова M: детальний огляд

Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.

Створення звіту з розбивкою на сторінки: додавання текстів і зображень

Створення звіту з розбивкою на сторінки: додавання текстів і зображень

Дізнайтеся, як створити звіт із розбивкою на сторінки, додати тексти та зображення, а потім експортувати звіт у різні формати документів.

Функція автоматизації SharePoint | Вступ

Функція автоматизації SharePoint | Вступ

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

Вирішіть задачу аналізу даних за допомогою прискорювача 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.