Представляємо групи обчислень - SQLBI

Групи обчислення - це нова функція в DAX, натхненна подібною функцією, доступною в MDX, відомою як обчислювані члени. Групи обчислення прості у використанні; однак правильне проектування моделі з групами обчислень може бути складним завданням, коли ви створюєте кілька груп обчислень або коли ви використовуєте елементи обчислення у вимірах.

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

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

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

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

Усі попередні міри відрізняються лише базовим показником; всі вони застосовують однаковий контекст фільтру DATESYTD до різних базових вимірів. Було б чудово, якби розробник отримав можливість визначити більш загальний розрахунок, використовуючи заповнювач для міри:

Попередній код не є дійсним синтаксисом DAX, але він забезпечує дуже хороший опис того, що таке елементи обчислення. Ви можете прочитати попередній код так: Коли вам потрібно застосувати обчислення з початку року до міри, викликайте міру після застосування DATESYTD до стовпця Дата [Дата]. Ось що таке елемент обчислення: Елемент обчислення - це вираз DAX, що містить спеціальний заповнювач. Заповнювач замінюється міркою двигуном безпосередньо перед оцінкою результату. Іншими словами, пункт обчислення - це варіація виразу, яка може бути застосована до будь-якої міри.

Більше того, вам, ймовірно, знадобиться кілька обчислень інтелекту за часом. Дійсно, рік на сьогоднішній день, квартал на сьогоднішній день і той самий період минулого року - це всі розрахунки, які якимось чином належать до однієї групи розрахунків. Тому DAX пропонує елементи розрахунку та групи розрахунків. Група розрахунків - це сукупність елементів розрахунку, які зручно згруповані разом, оскільки вони є варіаціями однієї теми.

Продовжимо з псевдокодом DAX:

Як бачите, ми згрупували чотири обчислення, пов’язані з часом, у групу з назвою Інтелектуум часу. Лише у чотирьох рядках код визначає десятки різних мір, оскільки елементи обчислення застосовують їх варіацію до будь-якої міри в моделі. Таким чином, як тільки розробник створить новий показник, варіації CY, PY, QTD та YTD будуть доступні безкоштовно.

У нашому розумінні груп обчислень ще бракує декількох деталей, але для початку користування ними та визначення першої групи розрахунків потрібна лише одна: Як користувач вибирає одну варіацію? Як ми вже говорили, пункт розрахунку не є мірою; це варіація міри. Отже, користувачеві потрібен спосіб подати до звіту конкретний показник з однією або кількома варіаціями самого вимірювання. Оскільки користувачі мають звичку вибирати стовпці з таблиць, групи обчислень реалізуються так, ніби це стовпці в таблицях, тоді як елементи обчислення подібні до значень даних стовпців. Таким чином, користувач може використовувати групу обчислення у стовпцях матриці для відображення різних варіацій міри у звіті. Наприклад, раніше описані елементи розрахунку застосовуються до стовпців матриці, показуючи різні варіації міри Суми продажів.

обчислень

Створення груп обчислень за допомогою табличного редактора

Табличний редактор - це перший інструмент, який дозволяє розробникам створювати групи обчислень. Оскільки для груп обчислень потрібна версія сумісності табличної моделі 1470, станом на червень 2019 року вони доступні лише в службах Analysis Services 2019 та Azure Analysis Services.

У табличному редакторі пункт меню Модель/Нова група розрахунків створює нову групу розрахунків, яка відображається у вигляді таблиці в моделі зі спеціальним значком. На наступному малюнку групу обчислень перейменовано в Time Intelligence.