Як максимізувати використання функції INTERSECT – Advanced DAX

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

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

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

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

Зміст

Демонстрація унікальної думки за допомогою функції INTERSECT

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

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

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

Як максимізувати використання функції INTERSECT – Advanced DAX

Потім у мене є стовпці для всіх клієнтів. Стовпці «Загальний обсяг продажів » і «Продажі LM» показують історію покупців за поточний місяць, а також за останній місяць. Формула загального обсягу продажів дуже проста. Це просто сума всіх продажів від певного клієнта.

Як максимізувати використання функції INTERSECT – Advanced DAX

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

Як максимізувати використання функції INTERSECT – Advanced DAX

Як максимізувати використання функції INTERSECT – Advanced DAX

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

Як ми динамічно опрацьовуємо клієнтів, які купували два місяці поспіль? Це те, що ви можете побачити в стовпці «Клієнти 2 млн у рядку» .

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

Як максимізувати використання функції INTERSECT – Advanced DAX

Ідентифікація постійних клієнтів за допомогою функції INTERSECT

Давайте розглянемо, наскільки корисним є INTERSECT , коли справа доходить до пошуку постійних клієнтів. Ось формула для клієнтів 2 млн поспіль .

Як максимізувати використання функції INTERSECT – Advanced DAX

У цій формулі я розмістив дві віртуальні таблиці, які є зовнішніми змінними ( VAR ) всередині функції INTERSECT . По суті, він оцінює список елементів або рядків, які присутні в першій таблиці, але не в другій.

Як максимізувати використання функції INTERSECT – Advanced DAX

Початкова таблиця тут — CustomerTM , що означає тих клієнтів, які зробили покупку цього місяця. Потім формула перевіряє, чи ці клієнти також перераховані в таблиці CustomerLM .

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

Далі я використавфункція для підрахунку клієнтів, що залишилися.

Як максимізувати використання функції INTERSECT – Advanced DAX

Тепер поговоримо про створення віртуальних столів для тих клієнтів, які купували 2 місяці поспіль.

Як максимізувати використання функції INTERSECT – Advanced DAX

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

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

Ось що цікавого в цьому розрахунку, який ми маємо зараз.

Як максимізувати використання функції INTERSECT – Advanced DAX

Формула перевіряє лише кожен окремий рядок клієнтів, оскільки клієнти фільтруються. Якщо для певного рядка (клієнта) немає продажів за попередній місяць, оцінювати нема чого. Таким чином, стовпець "Клієнти 2 м у рядку" порожній. Але якщо клієнт має попередній запис, він вважається 1 .

Наприклад, якщо ми подивимося на дані про Адама Томпсона, він поверне 1 у стовпці «Клієнти 2 млн у рядку» . Це означає, що цей клієнт має запис як за останній місяць, так і за два попередні місяці.

Повторне використання формули для іншого контексту

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

Як максимізувати використання функції INTERSECT – Advanced DAX

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

У стовпці «Клієнти 2 млн у рядку» можна побачити точну кількість клієнтів, які відповідають цим критеріям.

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

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

Ось чому я сказав, що INTERSECT дуже потужний. Замість того, щоб просто писати оператори IF , ви можете використовувати ці функції INTERSECT у своїй формулі.

Розрахунок загального обсягу продажів від постійних клієнтів

Крім того, ми працюємо на загальній кількості продажів від наших постійних клієнтів .

Результати в стовпці Продажі від клієнтів 2M In A Row — це сума покупок клієнта за поточний і попередній місяць. Зверніть увагу, що ми можемо отримати такий результат, лише якщо клієнт купував два місяці поспіль. 

Це формула для загальних продажів постійних клієнтів.

Як максимізувати використання функції INTERSECT – Advanced DAX

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

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

Включення INTERSECT для клієнтів за останні три місяці

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

Як максимізувати використання функції INTERSECT – Advanced DAX

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

Як максимізувати використання функції INTERSECT – Advanced DAX

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

Щоб додати ці дані до таблиці, просто перетягніть формулу «Клієнти 3M In A Row» у таблицю.

Як максимізувати використання функції INTERSECT – Advanced DAX

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




Висновок

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

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

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


Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

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

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

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

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Тут ми зануримося в LuckyTemplates Advanced DAX і запровадимо логіку ранжирування, щоб отримати дуже унікальну інформацію. У цьому прикладі я також демонструю розгалуження міри.

Функція параметра LuckyTemplates «Що, якщо».

Функція параметра LuckyTemplates «Що, якщо».

У цьому блозі представлено нову функцію в LuckyTemplates — параметр аналізу «Що, якщо». Ви побачите, як це робить усе швидким і легким для аналізу сценарію.

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

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

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

Параметри LuckyTemplates через редактор запитів

Параметри LuckyTemplates через редактор запитів

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

Кругла гістограма – візуалізація для вашої інформаційної панелі

Кругла гістограма – візуалізація для вашої інформаційної панелі

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

Функції та формули PowerApps | Вступ

Функції та формули PowerApps | Вступ

Дізнайтеся, як використовувати функції та формули PowerApps, щоб покращити функціональність і змінити поведінку в нашій програмі Canvas Power Apps.

Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

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

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

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

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