Групи обчислення в табличних моделях служб аналізу служб Microsoft Docs

Стосується: SQL Server 2019 та пізніших версій Служби аналізу Azure Analysis Services Power BI Premium

служб

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

Ця стаття описує:

  • Переваги
  • Як працюють розрахункові групи
  • Рядки динамічного формату
  • Перевага
  • Бокова рекурсія
  • Замовлення
  • Як творити
  • Обмеження

Переваги

Групи обчислень вирішують проблему в складних моделях, де може спостерігатися поширення надлишкових заходів, використовуючи ті самі розрахунки - найпоширеніші з розрахунками інтелекту часу. Наприклад, аналітик продажів хоче переглянути загальний обсяг продажів та замовлення за місяцем до дати (MTD), кварталом до дати (QTD), роком до дати (YTD), замовленнями за рік до попередньої дати рік (PY) тощо. Моделіст даних повинен створити окремі міри для кожного розрахунку, що може призвести до десятків мір. Для користувача це може означати необхідність сортувати стільки ж заходів і застосовувати їх окремо до свого звіту.

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

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

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

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

Групи обчислення працюють з явний Заходи DAX. У цьому прикладі, Продажі - це явна міра, вже створена в моделі. Групи обчислень не працюють із неявними показниками DAX. Наприклад, у Power BI неявні міри створюються, коли користувач перетягує стовпці на візуальні елементи для перегляду агрегованих значень, не створюючи явного мірила. На даний момент Power BI генерує DAX для неявних мір, записаних як вбудовані розрахунки DAX - тобто неявні міри не можуть працювати з групами обчислень. Введено нову властивість моделі, видиму в табличній об’єктній моделі (TOM), DiscourageImplicitMeasures. Наразі для створення груп обчислень для цієї властивості потрібно встановити значення правда. Якщо встановлено значення true, Power BI Desktop у режимі Live Connect вимикає створення неявних заходів.

Групи обчислень також підтримують запити багатовимірних виразів даних (MDX). Це означає, що користувачі Microsoft Excel, котрі запитують табличні моделі даних за допомогою багатозначної роботи, можуть повною мірою скористатися перевагами груп обчислень у зведених таблицях та діаграмах робочого аркуша.

Як вони працюють

Тепер, коли ви побачили, як групи обчислень приносять користь користувачам, давайте подивимось, як створюється показаний приклад групи обчислень Time Intelligence.

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

SELECTEDMEASURE - Використовується виразами для елементів обчислення для посилання на міру, яка наразі знаходиться в контексті. У цьому прикладі міра продаж.

SELECTEDMEASURENAME - Використовується виразами для елементів обчислення для визначення міри, яка знаходиться в контексті за іменем.

ISSELECTEDMEASURE - Використовується виразами для елементів обчислення, щоб визначити міру, яка знаходиться в контексті, вказану в переліку мір.

SELECTEDMEASUREFORMATSTRING - Використовується виразами для елементів обчислення для отримання рядка формату міри, що знаходиться в контексті.

Приклад часової розвідки

Назва таблиці - Інтелект часу
Назва стовпця - Розрахунок часу
Перевага - 20

Елементи розрахунку інтелекту часу

Поточний

MTD

QTD

З початку року

PY

PY MTD

PY QTD

PY YTD

ТАК

YOY%

Щоб перевірити цю групу обчислень, виконайте запит DAX у SSMS або DAX Studio з відкритим кодом. Примітка: YOY та YOY% у цьому прикладі запиту пропущено.

Запит часової розвідки

Повернення запиту Time Intelligence

У таблиці повернення відображаються розрахунки для кожного застосованого елемента розрахунку. Наприклад, див. QTD за березень 2012 року - це сума січня, лютого та березня 2012 року.

Рядки динамічного формату

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

Табличні моделі підтримують динамічне форматування мір за допомогою функції FORMAT DAX. Однак функція FORMAT має недолік повернення рядка, змушуючи міри, які в іншому випадку були б числовими, також повертати як рядок. Це може мати деякі обмеження, наприклад, не працювати з більшістю візуальних елементів Power BI, залежно від числових значень, наприклад діаграм.

Рядки динамічного формату для аналізу часу

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