Настроюване сортування 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

Змініть формати дати за допомогою редактора 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

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