Спеціальні значки LuckyTemplates | Техніка візуалізації PBI
Я обговорю одну з моїх улюблених технік, пов’язаних із користувальницькими піктограмами LuckyTemplates, яка динамічно використовує власні піктограми у візуальних елементах LuckyTemplates.
Коли я працював із учасниками LuckyTemplates на форумі, я бачив деяку плутанину з ітераційними функціями в DAX. Тому ми зробимо огляд того, чого можна досягти за допомогою цих функцій і чому ви повинні їх використовувати. Ви можете переглянути повне відео цього підручника внизу цього блогу.
Коли ви більше ознайомитеся з формулами DAX , ви будете використовувати ці ітераційні функції набагато частіше, ніж ви думаєте. Вони набагато універсальніші, ніж прості функції агрегації, такі як SUM або AVERAGE .
У мене є кілька прикладів, і я хочу попрацювати над логікою кожного з цих прикладів, щоб ви могли добре зрозуміти, що насправді відбувається, коли логіка виконується через ці формули.
Ключова річ у ітераційних функціях полягає в тому, що вони повторюють щось.
Зміст
Проста ітерація з використанням SUMX
У цьому випадку я хочу дещо підсумувати, але хочу переглянути кожен рядок у цій таблиці Sales.
І потім у кожному окремому рядку я хочу запустити цю конкретну логіку тут.
Давайте швидко перейдемо до нашої дуже простої таблиці Sales, де я хочу виконати деяку логіку в кожному окремому рядку. А потім я хочу помножити кількість на ціну.
Ціни в цій таблиці немає. І для цієї конкретної моделі він фактично є в таблиці Product.
Наступне, що мені потрібно зробити, це повернутися до своєї таблиці Product, і я зможу це зробити за допомогою RELATED . Коли ми обчислюємо кількість, помножену на відповідну ціну, ми робимо це для кожного окремого рядка. Це саме те, що відбувається всередині цієї формули.
Це ключові поняття, про які слід пам’ятати, коли ми починаємо робити більш складні речі.
Альтернативний підхід до отримання продажів за допомогою SUMX
У цьому прикладі я маюзнову перегляньте таблицю Sales. Тож ми запускаємо цю логіку в кожному окремому рядку та обчислюємо кількість, помножену на ціну, у кожному окремому рядку, а потім агрегуємо це, коли завершимо всі ітерації.
Тут ви побачите, що цей результат точно такий самий, як результати в першому прикладі (підручник SUMX 2) або загальні продажі.
Ви можете розмістити тут цілу низку різних речей – це може бути міра, а ви можете розгалужуватися за допомогою функції ітерації. Вам не обов’язково посилатися на певні стовпці, щоб справді отримати правильні обчислення.
Як ви бачите тут, все, що я зробив, це розмістив тут показник (загальний обсяг продажів), і я отримую точно такий же результат.
SUMX і логічні функції
Я використовую тут SUMX , але це також актуально для, MINX і MAXX . Вони всі дуже схожі речі.
Ще одна ключова річ, про яку слід пам’ятати з цими ітераційними функціями , полягає в тому, що вони запускають логіку в кожному окремому рядку, і це зберігає результат у пам’яті.
Після того, як усі ці значення збережено в пам’яті, виконується загальний обчислення – наприклад, SUM або AVERAGE .
Повертаючись до нашого прикладу, ви можете побачити тут, що сума в цьому стовпці трохи менша, ніж у попередніх стовпцях.
За допомогою функції ітерації SUMX я хочу пройти кожен окремий рядок у таблиці Sales. І в кожному окремому рядку я хочу підрахувати, чи цей конкретний продаж перевищує 2000 доларів США. Якщо так, я хочу обчислити загальний обсяг продажів для цього рядка. Але якщо загальна сума продажу була меншою за 2000 доларів США, я хочу повернути нуль. Тому я хочу обчислити лише більші обсяги продажів.
Деякі люди припустять, що я міг би просто помістити логіку в обчислюваний стовпець. Але ми не хочемо цього робити, тому що є набагато кращий спосіб запустити цю логіку всередині DAX , ніж розміщувати її фізично всередині стовпця.
Ітерація по таблицях
Ось де ітераційні функції справді вражають. Ви можете не тільки перебирати фізичну таблицю, як ми це робили раніше, але ви також можете перебирати іншу віртуальну таблицю, яку ви вводите як параметр.
Ми думатимемо, що кожен окремий результат тут має певний контекст. У цьому конкретному випадку ми маємо контекст клієнта.
У цьому контексті я хочу переглянути кожну окрему локацію та побачити, чи досяг конкретний клієнт обсяг продажів понад 5000 доларів США.
Якщо так, я хочу підрахувати загальний обсяг продажів. Але якщо ні, я хочу, щоб він повернув нуль.
Тож у цьому конкретному випадку я обчислюю місця з високою вартістю, де купує цей клієнт, і загальну кількість продажів, які вони здійснюють у цих місцях.
Щоробить тут це створює віртуальну таблицю. Отже, SUMX тут навіть не працює над чимось фізичним. Це насправді робота над чимось абсолютно віртуальним.
Проста ітерація з використанням MINX
Це схоже на попередні приклади, але замість SUMX ми збираємося запустити якийсь інший тип агрегації, коли пройдемо кожен окремий рядок.
У цьому конкретному випадку ми описуємо кожну окрему локацію для кожного клієнта та розраховуємо загальний обсяг продажів для кожної з цих локацій.
Потім ми хочемо повернути мінімальну суму з місця, де вони придбали.
Проста ітерація з використанням MAXX
Я також роблю подібне тут, щоб показати вам універсальність ітераційних функцій. Я переглядаю кожне місце, дивлячись на їхні продажі, але потім повертаю максимальну кількість продажів у цьому місці, тому ми бачимо тут вищі цифри.
Висновок
Ключова річ, яку я хотів торкнутися в цій статті, це діапазон опцій, які ви маєте всередині ітераційної функції проти простої суми чи середнього.
Як тільки ви почнете копатися в більш складних обчисленнях, ви побачите, наскільки ці функції важливі для повернення значень на рівні контексту.
Є така багатофункціональність і так багато способів, що ви можете виконати ці обчислення за допомогою простої формули, якщо ви просто знаєте, як маніпулювати параметрами.
Якщо вам сподобалося вивчати ці функції ітерації , ви можете переглянути ці посилання, щоб отримати більше інформації на цю тему:
Ключові поняття для ітерації функцій у LuckyTemplates
Ітерація логіки за допомогою віртуальних таблиць – розширені концепції DAX у LuckyTemplates
Насолоджуйтесь роботою над цим.
Я обговорю одну з моїх улюблених технік, пов’язаних із користувальницькими піктограмами LuckyTemplates, яка динамічно використовує власні піктограми у візуальних елементах LuckyTemplates.
У цьому блозі я покажу вам, як можна створювати таблиці LuckyTemplates за допомогою формули, яка поєднує функції UNION і ROW.
Дізнайтеся, як локальний шлюз даних дозволяє Power Automate отримувати доступ до настільних програм, коли користувач знаходиться поза комп’ютером.
У цьому блозі представлено функцію LuckyTemplates TOPN DAX, яка дає вам змогу отримувати унікальну статистику з ваших даних, допомагаючи вам приймати кращі маркетингові рішення.
Дізнайтеся про деякі фантастичні аналітичні прийоми, які ми можемо використовувати для моделювання даних у LuckyTemplates за допомогою таблиць підтримки DAX.
Тут ми зануримося в LuckyTemplates Advanced DAX і запровадимо логіку ранжирування, щоб отримати дуже унікальну інформацію. У цьому прикладі я також демонструю розгалуження міри.
У цьому блозі представлено нову функцію в LuckyTemplates — параметр аналізу «Що, якщо». Ви побачите, як це робить усе швидким і легким для аналізу сценарію.
Дізнайтеся, як визначити, чи добре зростає ваш дохід, перевіривши, чи зросла ваша маржа за допомогою розгалуження міри LuckyTemplates.
Дізнайтеся та зрозумійте, як можна створювати та використовувати параметри LuckyTemplates, які є потужною функцією редактора запитів.
У цьому підручнику буде обговорено створення круглої гістограми за допомогою Charticulator. Ви дізнаєтеся, як створити їх для звіту LuckyTemplates.