Що таке Power Query та мова M: детальний огляд
Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.
Більшості початківців і навіть користувачів DAX із середнім рівнем досвіду дуже важко зрозуміти, що робить функція EARLIER . Мені також знадобилося багато часу, щоб зрозуміти, як, коли і чому ви повинні використовувати цю функцію в LuckyTemplates. Ви можете переглянути повне відео цього підручника внизу цього блогу.
У цій статті ми збираємося завершити глибоке занурення у використання функції EARLIER . Я покажу вам РАНІШІ приклади функцій і як їх ефективно використовувати.
Крім того, я покажу вам набагато більш інтуїтивно зрозумілий спосіб виконання обчислень замість використання функції EARLIER взагалі.
Зміст
Як і коли використовувати функцію EARLIER
Історично функція EARLIER була єдиним способом маніпулювати контекстом обчислення в конкретній формулі. Але оскільки були введені ЗМІННІ, тепер це не так важливо, як колись.
Однак розуміння функції EARLIER важливо, якщо ви хочете підняти свої знання DAX на новий рівень. Це вимагає глибокого розуміння контексту рядків і фільтрів, які є життєво важливими поняттями під час роботи з обчисленнями DAX.
Щоб швидко переглянути загальну (але дуже важливу) концепцію контексту, перегляньте посилання нижче.
Контекст оцінювання – (1.8) Посібник DAX для початківців
Контекст фільтра – (1.9) Посібник DAX для початківців
Пояснення контексту рядків – (1.10) Посібник DAX для початківців
Я буду використовувати таблицю Products для всіх прикладів, які ми тут розглядаємо. Якщо ми швидко поглянемо на модель, ви побачите, що моя таблиця Products є таблицею пошуку зі зв’язком до моєї таблиці Sales (яка вважається таблицею фактів).
Я хочу обчислити деякі сукупні підсумки в цій конкретній таблиці.
Перший кумулятивний підсумок є загальним. Я хотів обчислити це просто на основі загального індексу, який я маю для кожного продукту, який походить від назви продукту, яку я маю в цій конкретній таблиці.
Наступне, що я зробив, це помістив Загальні продажі продукту в показник Загальних продажів. Одним із ключових понять цієї конкретної формули є перехід контексту .
Перехід контексту відбувається шляхом розміщення міри всередині виразу. І тоді ви можете перейти від контексту рядка до контексту фільтра.
Ось як цей конкретний результат фільтрується для продукту 1.
Я занурився в це, тому що розуміння контексту в таблиці та обчислюваному стовпці тут є ключовим. І в цьому конкретному випадку ми використовуємо.
Контекст рядка означає, що оцінка відбуватиметься в кожному окремому рядку. І кожен окремий рядок у обчислюваному стовпці має результат із оцінкою, яка відбувається в кожному окремому рядку.
Приклади сукупної суми з використанням функції EARLIER
Тепер я хочу обчислити сукупний підсумок на основі цього конкретного рядка в стовпці «Сукупні продажі продукту», і я хочу зробити це в обчислюваному стовпці. Ось тут і вступає в дію функція EARLIER у LuckyTemplates.
Формула для цього прикладу містить функцію FILTER . І в цій конкретній формулі FILTER додає додатковий контекст рядка.
Для цього обчислення ми почали з контексту рядка , а потім використалиякий оцінюватиме кожен окремий рядок у таблиці продуктів.
Потім у кожному окремому рядку таблиці Product ми дивимося, який індекс, і оцінюємо, чи він менший за конкретне число, яке ми маємо в рядку.
Для цього конкретного рядка ми хочемо обчислити все, що має індекс 8 або нижче.
Нам потрібно оцінити кожен окремий рядок у таблиці Products і визначити, чи є число індексу менше або дорівнює 8.
Якщо є, тоді ми хочемо обчислити всі продажі для цих конкретних продуктів. І коли ми йдемо вниз, це переоцінює ставки.
EARLIER дозволяє нам переходити з контексту одного рядка до контексту попереднього рядка, щоб отримати значення.
У нашому наступному прикладі конкретним результатом є 10. Ми хочемо оцінити індекс продукту в кожному окремому рядку, якщо він менший або дорівнює 10.
Деякі з вас, хто знайомий із концепцією кумулятивної суми, можуть подумати, що ми можемо використати тут функцію МАКС замість неї, оскільки це те, що ми робимо в загальному шаблоні кумулятивної суми.
Але якщо я вставлю MAX у формулу, вона завжди оцінюватиме максимальну кількість продуктів. Крім того, він фактично не оцінює індекс продукту в певному рядку.
Тому нам потрібно вийти з контексту цього рядка , а потім повернутися до самого початкового контексту рядка, щоб отримати індекс продукту. І саме це робить EARLIER .
Функція EARLIER дозволяє нам переходити з одного контексту до контексту попереднього рядка, щоб ми могли отримати потрібний результат.
Для нашого наступного прикладу я ранжував свої продукти на основі продажів. Я також отримав ранг залежно від того, де вони всі сидять.
Найбільший обсяг продажів наших продуктів становить 864 000 доларів США, і це продукт 63.
Тепер я хочу створити підсумковий підсумок на основі рейтингу. Замість того, щоб дивитися на попередній індекс, я фактично шукаю попередній рейтинг продажів продукту.
Отже, ми маємо переглянути кожен окремий продукт у цій конкретній таблиці продуктів, щоб оцінити, чи є рейтинг продукту меншим або дорівнює рейтингу продукту в цьому конкретному рядку.
EARLIER виходить із цього контексту рядка та повертається до початкового контексту рядка, створеного під час перебування в обчислюваному стовпці.
Краща альтернатива функції EARLIER
Використання функції EARLIER може бути дещо складним. Але хороша новина полягає в тому, що ми маємо кращий спосіб виконувати ці обчислення в LuckyTemplates.
VARIABLES є набагато кращим способом виконання обчислень. Я покажу вам, як можна обійти РАНІШЕ .
У цьому прикладі замість того, щоб вискакувати з контексту рядка, створеного фільтром, ми можемо фактично просто отримати значення індексу продукту в початковому контексті рядка в змінній.
Тому я взяв EARLIER і вставив змінну ProductIndex .
Тут ви побачите, що сукупні продажі продуктів тепер чудово працюють і в цьому новому форматі. Виглядає як раніше.
Ми можемо зробити те саме з кумулятивними продажами продукту за рейтингом, використовуючи цей розрахунок:
А потім, якщо ми відсортуємо стовпець «Рейтинг продажів продукту» за зростанням, ми побачимо, що найвищий рейтинг має продукт 63.
Висновок
Використанняє набагато кращим способом вирішення всіх прикладів, які я показав раніше.
І, чесно кажучи, з усією роботою щодо розробки, яку я робив раніше, я рідко використовував функцію EARLIER . Але це все одно крута функція, щоб знати і розуміти.
Змінні є ключовими, коли ви пишете DAX у багатьох різних областях LuckyTemplates. Тут усе стає набагато простіше.
Замість того, щоб переходити в контекст формул і виходити з нього, ви можете фактично ініціювати обчислення всередині змінних або ізолювати обчислення за допомогою змінних у ньому, щоб виконання формули було більш безперебійним.
Ви можете переглянути ці посилання, щоб отримати більше інформації на цю тему:
Синтаксис формул, коментарі та змінні – найкращий посібник із DAX для початківців
Як використовувати змінні у формулі DAX за допомогою LuckyTemplates
Сподіваюся, ви зможете добре зрозуміти, як цей конкретний обчислення працює в LuckyTemplates.
Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.
Дізнайтеся, як створити звіт із розбивкою на сторінки, додати тексти та зображення, а потім експортувати звіт у різні формати документів.
Дізнайтеся, як використовувати функцію автоматизації SharePoint для створення робочих процесів і допомоги в мікрокеруванні користувачами, бібліотеками та списками SharePoint.
Відточіть свої навички розробки звітів, приєднавшись до змагання з аналізу даних. Прискорювач може допомогти вам стати суперкористувачем LuckyTemplates!
Дізнайтеся, як обчислювати поточні підсумки в LuckyTemplates за допомогою DAX. Поточні підсумки дозволяють вам не потрапити в окремий результат.
Зрозумійте концепцію змінних у DAX у LuckyTemplates і значення змінних для обчислення показників.
Дізнайтеся більше про настроюваний візуал під назвою LuckyTemplates Slope chart, який використовується для показу зростання/зменшення для одного чи кількох показників.
Відкрийте для себе кольорові теми в LuckyTemplates. Це необхідно для того, щоб ваші звіти та візуалізації виглядали та працювали без проблем.
Розрахувати середнє значення в LuckyTemplates можна кількома способами, щоб отримати точну інформацію для ваших бізнес-звітів.
Давайте заглибимося в стандартну тематику LuckyTemplates і розглянемо деякі функції, вбудовані в саму програму LuckyTemplates Desktop.