Короткий посібник. Вивчення основ мови DAX за 30 хвилин

Увага! : Цю статтю перекладено за допомогою служби машинного перекладу; див. застереження. Версію цієї статті англійською мовою див. тут для отримання довідки.

Цей короткий посібник призначено для користувачів, які ще не знайомі з Power Pivot у програмі Excel або проектами табличних моделей, створеними у компонентах SQL Server Data Tools. Він дасть змогу отримати загальне уявлення про те, як використовувати вирази аналізу даних (DAX), щоб вирішувати багато простих аналітичних задач і задач моделювання даних. У цьому розділі наведено концептуальні відомості, набір завдань, які можна виконати самостійно, і кілька вікторин, що дають змогу перевірити отримані знання. Ознайомившися з цим розділом, ви зрозумієте більшість основних понять мови DAX.

Що таке мова DAX?

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

Чому мова DAX настільки важлива?

Створити книгу й імпортувати в неї певні дані досить просто. Можна навіть створювати зведені таблиці та зведені діаграми, що відображатимуть важливу інформацію без використання формул DAX. Але як проаналізувати критичні дані продажів за кількома категоріями продуктів і для різних діапазонів дат? Або коли потрібно об'єднати важливі дані про запаси із кількох таблиць у різних джерелах даних? За допомогою формул DAX можна зробити ці дії та ще багато чого іншого. Відомості про створення ефективних формул DAX допоможе вам отримати якнайбільше від ваших даних. Коли ви отримаєте необхідну інформацію, то зможете розпочати вирішувати справжні проблеми бізнесу, які впливають на результат. Це бізнес-аналітика, і мова DAX допоможе вам у цьому.

Попередні вимоги

Можливо ви вже знайомі зі створенням формул у Microsoft Excel. Ці знання допоможуть вам зрозуміти мову DAX, однак навіть якщо у вас немає досвіду з використання формул Excel, концепції, описані в цій статті, допоможуть вам у створенні формул DAX і вирішенні справжніх проблем бізнес-аналітики.

Ми будемо фокус на докладні відомості про формули DAX використовувати в обчисленнях. Ви повинні бути вже знайомі з основних понять обчислюваних стовпців та показники (також відомий як Обчислювані поля), які збігаються з описаними в Power Pivot довідки. Ви також повинні бути знайомі з Power Pivot у програмі Excel, створення середовища та засоби.

Зразок книги

Найкращий спосіб вивчити мову DAX – це створити кілька простих формул, використати їх зі справжніми даними й побачити результати на власні очі. Наведені приклади та завдання створено на основі книги Contoso Sample DAX Formulas.xlsx, завантажити яку можна за посиланням http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Завантаживши книгу на комп’ютер, відкрийте її, а потім відкрийте вікно Power Pivot.

Починаймо!

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

Синтаксис

Перш ніж створювати власні формули, давайте поглянемо на синтаксис формул DAX. Синтаксис включає різні елементи, з яких складається формула, або простіше кажучи, якими пишеться формула. Наприклад, давайте поглянемо на просту формулу DAX, за допомогою якої в кожному рядку обчислюваного стовпця під назвою Margin створюються нові дані (значення), у таблиці FactSales: (кольори тексту формули наведені лише для наочності)

Формула обчислюваного стовпця

Цей синтаксис формули включає нижченаведені елементи.

  1. Оператор знака рівності (=) вказує на початок формули, а після обчислення формули він поверне результат або значення. Усі формули, які обчислюють значення, починаються зі знака рівності.

  2. Стовпець [SalesAmount], на який вказує посилання, містить значення, від якого відбуватиметься віднімання. Посилання на стовпець у формулі завжди береться в прямокутні дужки []. На відміну від формул Excel, які посилаються на клітинку, формула DAX завжди посилається на стовпець.

  3. Математичний оператор віднімання (–).

  4. Стовпець [TotalCost], на який вказує посилання, містить значення, які необхідно відняти від значень у стовпці [SalesAmount].

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

У на FactSales таблицю, для кожного рядка в обчислюваному стовпці Margin обчислити (=) значення, віднявши (–) значення в на [ TotalCost ] від значень у стовпці на [ SalesAmount ] стовпця.

Давайте поглянемо на інший тип формулу, яка використовується в міру:

Формула обчислюваного стовпця

Ця формула включає наступні синтаксичні елементи.

  1. Ім'я елемента сума обсягу продажів. Формули міри можуть містити ім'я елемента, двокрапку, слідує обчислення формули.

  2. Оператор знака рівності (=) вказує на початок формули обчислення. Після обчислення він поверне результат.

  3. Функція SUM додає всі числа зі стовпця [SalesAmount]. Детальніше про функції ви дізнаєтеся пізніше.

  4. Дужки () охоплюють один або кілька аргументів. У кожної функції має бути принаймні один аргумент. Аргумент передає функції значення.

  5. Таблиця FactSales, на яку вказує посилання.

  6. Стовпець [SalesAmount], на який вказує посилання, у таблиці FactSales. Завдяки цьому аргументу функція SUM визначає, у якому стовпці збирати суму.

Цю формулу можна прочитати так:

Для на вимірювання іменем сума обсягу продажів, обчислити (=) СУМУ значень у на [ SalesAmount ] стовпця в FactSales таблиця.

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

Зверніть увагу, що дещо в цій формулі відрізняє її від формули, яку використовували для обчислюваного стовпця Margin. Головним чином у тому, що ми ввели функцію SUM. Функції – це попередньо написані формули, які спрощують складні обчислення з числами, датами, часом, текстом і керування ними. Докладніше про функції ви дізнаєтеся пізніше.

На відміну від обчислюваному стовпці Margin раніше, відображаються у стовпці [SalesAmount] була передувати таблиці FactSales, у якому належить до стовпця. Це називається на повне ім'я стовпця в тому, що містить ім'я стовпця, що передує імені таблиці. Стовпці, на який указує посилання в одній таблиці не потрібно ім'я таблиці потрібно включити у формулу. Це можна зробити довгий формул, які посилаються багато стовпців, коротший і зручнішими для читання. Проте, рекомендовано завжди включають ім'я таблиці у формулах міри, навіть якщо у таблиці.

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

Правильний синтаксис формул дуже важливий. Зазвичай, якщо синтаксис неправильний, буде повернуто синтаксичну помилку. В інших випадках синтаксис може бути правильний, але повернуті значення можуть відрізнятися від очікувань. Power Pivot (і компоненти SQL Server Data Tools) включає IntelliSense, функцію, що використовується, щоб створювати синтаксично правильні формули, і допомагає вибирати правильні елементи.

Давайте створимо просту формулу. Це завдання допоможе вам краще зрозуміти синтаксис формул і можливості функції IntelliSense.

Завдання: створити просту формулу для обчислюваного стовпця

  1. Якщо ви не відкрито у вікні Power Pivot у програмі Excel на до Power Pivot стрічки, натисніть кнопку Power Pivot вікна.

  2. У вікні Power Pivot клацніть таблицю (вкладку) FactSales.

  3. Прокрутіть до останнього правого стовпця, а потім у заголовку стовпця клацніть Додати стовпець.

  4. Клацніть у рядку формул у верхній частині вікна конструктора моделей.

    Рядок формул надбудови Power Pivot

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

    Давайте поглянемо на три кнопки зліва від рядка формул.

    Рядок формул

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

    Кнопка введення – це кнопка перевірки формули. Користі з неї небагато, доки ви не ввели формулу. Повернемося до цього за мить.

    Натисніть кнопку Fx . Ви побачите, що відкриється нове діалогове вікно; діалогове вікно Вставлення функції. Діалогового вікна Вставлення функції – це найпростіший спосіб почати введення формули DAX. Додати функцію до формули ми створюємо міра трохи пізніше, але на даний момент, не потрібно додавати функцію до формули обчислюваного стовпця. Вперед та закриття діалогового вікна Вставлення функції.

  5. У рядку формули введіть знак рівності =, а потім введіть відкриваючу прямокутну дужку [. З'явиться маленьке вікно з усіма стовпцями таблиці FactSales. Так працює функція IntelliSense.

    Оскільки обчислювані стовпці завжди створюються в активній відкритій таблиці, назву таблиці не потрібно вводити перед назвою стовпця. Спробуйте прокрутити вниз і потім двічі клацнути [SalesQuantity]. Можна також прокрутити до потрібної назви стовпця, а потім натиснути клавішу Tab.

    Курсор активовано праворуч відстовпця SalesQuantity][.

  6. Введіть пробіл, а потім введіть оператор віднімання – (знак «мінус»), а потім ще один пробіл.

  7. Тепер введіть інший дужкою [. Цього разу виберіть [ReturnQuantity] стовпець і натисніть клавішу Enter.

    Якщо з'явиться помилка, уважно перевірте синтаксис. За потреби порівняйте її з формулою в обчислюваному стовпці Margin, описаному раніше.

    Якщо натиснути клавішу Enter, щоб завершити формулу, у рядку стану внизу вікна Power Pivot відобразиться повідомлення Обчислення. Воно швидко зникне, навіть якщо обчислюються нові значення більш ніж для трьох мільйонів рядків.

  8. Клацніть правою кнопкою миші заголовок стовпця та перейменуйте стовпець, NetSales.

Готово! Ви щойно створили просту, але досить потужну формулу DAX. Для кожного рядка в таблиці FactSales формула NetSales обчислює значення відніманням значення у стовпці [ReturnQuantity] від значення у стовпці [SalesQuantity]. Зверніть увагу, як ми щойно сказали «Длякожногорядка». Це ще одна з надзвичайно важливих концепцій мови DAX – контекст рядка. Детальніше про контекст рядка ви дізнаєтеся пізніше.

Порада : 

Щось дуже важливо розуміти під час введення оператора у формулі DAX – це тип даних у аргументи, що використовується. Наприклад, якщо ви введіть наведену нижче формулу, = 1 і 2, значення яке повертається, буде текстового значення «12». Це, оскільки амперсанд (&) оператор об'єднання тексту. DAX інтерпретує цю формулу, щоб прочитати: обчислення результату, пройшовши значення 1 як текст і додати значення 2 як текст. Тепер, якщо ви введете = 1 + 2, DAX читає цю формулу як: обчислення результату, беручи числові значення 1 і додавання числові значення 2. Результат – звичайно числове значення «3». DAX обчислює результуюче значення залежно від оператора у формулі, не залежно від типу даних стовпців, які використовуються в аргументі. Типи даних у DAX – це дуже важливо, але за межами області цьому короткому посібнику. Щоб отримати додаткові відомості про типи даних і операторів у формулах DAX, перегляньте DAX посилання (http://go.microsoft.com/fwlink/?LinkId=239769 & через = 0x409) в Інтернеті книги.

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

Завдання: Створити формулу вимірювання

  1. У таблиці FactSales клацніть у будь-якій пустій клітинці в області обчислення (це область пустих клітинок безпосередньо під таблицею у вікні Power Pivot).

Область обчислення надбудови Power Pivot

  1. У рядку формул введіть назву «Продажі попереднього кварталу:».

  2. Введіть знак рівності (=), щоб розпочати формулу обчислення.

  3. Введіть кілька перших літер CAL, а потім двічі клацніть необхідну функцію. У цій формулі нам необхідно використати функцію CALCULATE.

  4. Введіть відкриваючу дужку (, щоб почати передавати аргументи для функції CALCULATE.

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

  5. Введіть кілька перших літер таблиці FactSales а потім у розкривному списку, двічі клацніть FactSales[обсяг продажів].

  6. Введіть кому (,), щоб указати перший фільтр, потім введіть PRE і двічі клацніть функцію PREVIOUSQUARTER.

    Після вибору функції PREVIOUSQUARTER з'явиться ще одна відкриваюча дужка, указуючи на необхідність ще одного аргументу; цього разу для функції PREVIOUSQUARTER.

  7. Введіть у кілька перших літер Dim і двічі клацніть DimDate[DateKey].

  8. Введіть дві закриваючі дужки )), щоб завершити передачу аргументів функціям PREVIOUSQUARTER і CALCULATE.

    Формула тепер має виглядати так:

    Продажі попереднього кварталу:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Натисніть кнопку перевірки формули в рядку формул, щоб перевірити формулу. Якщо з'явиться помилка, перевірте кожний елемент синтаксису.

Ви зробили це! Щойно створений міра за допомогою DAX та легко одне на тому. Ця формула буде зробити – це обчислення загального обсягу продажів за попередній квартал, залежно від того, фільтри, застосовані у зведеній таблиці або зведеної діаграми.

Щойно ви дізналися кілька важливих аспектів формул DAX. По-перше, формула складалася з двох функцій. Зверніть увагу, що функція PREVIOUSQUARTER вкладена як аргумент, переданий до функції CALCULATE. Формули DAX можуть містити до 64 вкладених функцій. Малоймовірно, що будь-яка формула міститиме таку кількість вкладених функцій. Таку формулу буде досить складно створити й налагодити, до того ж вона не буде дуже швидкою.

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

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

Примітка : Зазвичай, щоб використовувати функції часового аналізу у формулах DAX, необхідно вказати унікальний стовпець даних за допомогою діалогового вікна «Позначити як таблицю дат». У книзі Contoso DAX Formula Samples.xlsx унікальним стовпцем дат обирається стовпець DateKey у таблиці DimDate.

Додаткові бали

Ви можете запитати: "Що таке найпростіший формули DAX, можна створити?" Відповідь на що ж "формула, не потрібно". І це саме те, що можна робити за допомогою функції стандартної агрегації в міру. Майже будь-які модель даних має фільтрування та обчислення на сукупні дані. Наприклад, в міру сума обсягу продажів ви бачили раніше, функції SUM використовується для додати до всіх чисел у певному стовпці. Мова DAX містить кілька функцій, що Агрегація значень, а також. Можна створити автоматично формули з використанням стандартних агрегації за допомогою функції "Автосума".

Завдання за додаткові бали: Створити формулу елемента за допомогою функції "Автосума"

  1. У таблиці FactSales прокрутіть до стовпця ReturnQuantity і клацніть його заголовок, щоб вибрати весь стовпець.

  2. На вкладці "Основне" на стрічці у групі обчислення натисніть кнопку Автосума.

Функція AutoSum у надбудові Power Pivot

  1. Клацніть стрілку вниз поруч із кнопкою сума і виберіть пункт середнє значення (повідомлення про те, що інші стандартні агрегації функції, які ви можете використовувати, також).
    Негайно, міра новий створюється з ім'ям середня ReturnQuantity: слідує формулу = AVERAGE([ReturnQuantity]).

Правда просто? Звичайно не всі формули будуть такими простими. Однак, використовуючи функцію AutoSum, можна створювати прості та швидкі формули завдяки стандартним агрегатним обчисленням.

Це має забезпечити вам досить добре розуміння синтаксису, що використовується у формулах DAX. Ви також дізналися кілька справді цікавих функцій, як IntelliSense і AutoSum, які допомагають створювати швидкі, прості та точні формули. Звичайно існує ще багато чого, що можна дізнатися про синтаксис. Докладні відомості наведено в довіднику із мови DAX чи в електронній документації мови SQL.

Коротке опитування з синтаксису

  1. Для чого потрібна ця кнопка в рядку формул?
    Кнопка функції

  2. Що завжди оточує назву стовпця у формулі DAX?

  3. Як ви пишете формули для наведених нижче дій:
    у на DimProduct для кожного рядка в таблиці в UnitMargin обчислюваний стовпець, обчислення значення, віднявши значення в на Ціна від значень у стовпці на Вартість одиниці товару стовпець?

Відповіді наведено наприкінці теми.

Функції

Функції – це попередньо визначені формули, які виконують обчислення, використовуючи певні значення, які називаються аргументами, у визначеному порядку чи структурі. Аргументами можуть бути інші функції, інша формула, посилання на стовпці, числа, текст, логічні значення, такі як TRUE (істина) або FALSE (хибність), або константи.

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

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

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

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

  • Мова DAX містить низку функцій часового аналізу. Завдяки цим функціям можна визначати або вибирати діапазони дат, а також проводити динамічні обчислення на основі їх. Наприклад, можна порівняти суми для всіх паралельних періодів.

Іноді важко визначити функції, потрібні у формулі. Power Pivot, як і конструктор табличних моделей у компонентах SQL Server Data Tools, включає діалогове вікно "Вставити функцію", використовуючи яке, можна вибрати функції за категорією, і яке містить короткий опис для кожної функції.

Вставлення функції

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

Завдання: додати функцію до формули за допомогою вставлення функції

  1. У таблиці FactSales прокрутіть до останнього правого стовпця, а потім у заголовку стовпця клацніть «Додати стовпець».

  2. У рядку формул введіть знак рівності =.

  3. Натисніть кнопку «Вставлення функції». Вставлення функції Відкриває діалогове вікно вставлення функції.

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

  5. Для цієї формули нам необхідно повернути певні дані, які вже є в іншій таблиці. Для цього використаємо функцію з категорії Фільтр. Спробуйте вибрати категорію Фільтр, а потім у вікні Виберіть функцію прокрутіть униз і двічі клацніть функцію RELATED. Натисніть кнопку ОК, щоб закрити діалогове вікно вставлення функції.

  6. За допомогою IntelliSense знайдіть і виберіть стовпець DimChannel[ChannelName].

  7. Закрийте формулу й натисніть клавішу Enter.

  8. Якщо натиснути клавішу Enter, щоб завершити формулу, у рядку стану внизу вікна Power Pivot відобразиться повідомлення Обчислення. Тепер у таблиці FactSales створено новий стовпець із відомостями про канал із таблиці DimChannel.

  9. Перейменуйте стовпець Channel.

    Формула має виглядати так: =RELATED(DimChannel[ChannelName])

Ви щойно дізналися про іншу дуже важливу функцію мови DAX, функцію RELATED. Функція RELATED повертає значення з іншої таблиці. Наведену функцію RELATED можна використовувати у зв'язку між таблицею, у якій ви наразі знаходитесь, і таблицею, яка містить потрібні значення. Звичайно, функція RELATED має величезні можливості. У нашому прикладі можна додати канал продажів для кожного продажу з таблиці FactSales. Тепер можна приховати таблицю DimChannel зі списку полів зведеної таблиці, щоб простіше було переходити між таблицями та бачити лише найважливішу інформацію, яка вам насправді потрібна. Як і описана раніше функція CALCULATE, функція RELATED дуже важлива і, ймовірно, ви її часто використовуватимете.

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

Коротке опитування з функцій

  1. На що завжди посилається функція?

  2. Чи може формула містити більше однієї функції?

  3. Яку категорію функцій ви використаєте для об'єднання двох текстових рядків у один?

Відповіді наведено наприкінці теми.

Контекст

Контекст – одна з найважливіших концепцій мови DAX. У мові DAX є два види контексту: контекст рядка і контекст фільтра. Спочатку розглянемо контекст рядка.

Контекст рядка

Найпростіше уявити контекст рядка як поточний рядок. Наприклад, пам'ятаєте обчислюваний стовпець Margin із прикладу про синтаксис? Формула = [SalesAmount] – [TotalCost] обчислює значення у стовпці Margin для кожного рядка в таблиці. Значення для кожного рядка обчислюються зі значень у двох інших стовпцях: [SalesAmount] і [TotalCost] у тому ж рядку. Мова DAX може обчислити значення для кожного рядка у стовпці Margin, оскільки вона має контекст: для кожного рядка значення у стовпці [TotalCost] віднімаються від значень у стовпці [SalesAmount].

У виділеній клітинці нижче значення $49,54 у поточному рядку було обчислено відніманням значення $51,54 у стовпці [TotalCost] від значення $101,08 у стовпці [SalesAmount].

Контекст рядка у надбудові Power Pivot

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

Контекст фільтра

Контекст фільтра – явище, трохи складніше за контекст рядка. Найпростіше контекст фільтра можна уявити так: один або кілька фільтрів, застосовано в обчисленні, яке визначає результат або значення.

Контекст фільтра не заміняє контексту рядка, радше він застосовується додатково до контексту рядка. Наприклад, щоб ще більше звузити значення для обчислення, можна застосувати контекст фільтра, який не лише вказує контекст рядка, але також і певне значення (фільтр) у цьому контексті рядка.

Контекст фільтра легко побачити у зведених таблицях. Наприклад, якщо додати TotalCost до області значень, а потім додати Year і Region до рядка чи стовпців, можна визначити контекст фільтра, який вибиратиме підмножину даних залежно від визначеного року чи регіону.

Чому контекст фільтра так важливо для DAX? Те, що під час контекст фільтра можна застосовувати найлегше, додавши стовпці та підписи рядків і роздільників у зведеній таблиці, контекст фільтра також можуть бути застосовані у формулі DAX шляхом визначення фільтра за допомогою функцій, таких як усе, пов'язані з фільтр, ОБЧИСЛИТИ зв'язки а інші показники та стовпці. Наприклад, розглянемо таку формулу в міру з іменем storesales і після нього.

Формула

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

Ця формула включає наступні синтаксичні елементи.

  1. Ім'я елемента storesales і після нього, а потім двокрапку:.

  2. Оператор знака рівності (=) вказує на початок формули.

  3. Функція CALCULATE оцінює вираз, як аргумент, у контексті, який змінюється вказаними фільтрами.

  4. Дужки () охоплюють один або кілька аргументів.

  5. Міра [обсяг продажів] у таблиці як вираз. З продажів є формулу: = SUM(FactSales[SalesAmount]).

  6. Кома (,) розділяє фільтри один від одного.

  7. Стовпець, на який вказує посилання, і певне значення, DimChannel[ChannelName] = ”Магазин”, як фільтр.

Ця формула забезпечить продажів значення, визначеного продажів міри, як фільтр, обчислюються лише для рядків у стовпці DimChannel [ChannelName] зі значенням "Магазин", як фільтр.

Уявіть, наскільки великі та потужні можливості з'являються завдяки можливості визначення контексту фільтра у формулі. Можливість створення посилання лише на певне значення в пов'язаній таблиці – це лише один із прикладів. Не хвилюйтесь, якщо ви не одразу зрозумієте контекст. Створюючи власні формули, ви краще зрозумієте контекст і те, чому він такий важливий у мові DAX.

Коротке опитування з контексту

  1. Що це за два типи контексту?

  2. Що таке контекст фільтра?

  3. Що таке контекст рядка?

Відповіді наведено наприкінці теми.

Зведення

Тепер у вас є базовими найважливіші понять у DAX, можна починати створення формули DAX для обчислюваних стовпців і мір власні. DAX може бути справді трохи складніше, щоб дізнатися, але є багато ресурсів для вас. Після читання через у цьому розділі кілька разів і експериментування з кількома власні формули, ви можете дізнатися більше про інші поняття DAX і формули, які можуть допомогти вирішити проблеми власного бізнесу. Є багато ресурсів DAX в Power Pivot довідки, SQL Server Online книги, офіційні документи та блоги від корпорації Майкрософт і провідні фахівці бізнес-Аналітики. У центрі вікі-ресурсів DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) – це чудове місце, щоб почати. Вирази аналізу даних (DAX) посилання є також ресурсом. Не забудьте зберегти його в уподобаннях.

В офіційному документі «DAX in the BI Tabular Model» (Мова DAX у моделі таблиць бізнес-аналітики), який можна завантажити за посиланням http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409, наведено докладні відомості про концепції, розглянуті в цьому посібнику, а також про багато інших додаткових концепцій і формул. Офіційний документ також посилається на книгу Contoso DAX Sample Formulas.xlsx, яка вже є у вас.

Відповіді на короткі опитування

Синтаксис:

  1. Відкриває вікно «Вставлення функції».

  2. Прямокутні дужки [].

  3. =[UnitPrice] - [UnitCost]

Функції:

  1. Таблиця і стовпець.

  2. Так. Формула DAX може містити до 64 вкладених функцій.

  3. Текстові функції.

Контекст:

  1. Контекст рядка і контекст фільтра.

  2. Один або кілька фільтрів у обчисленні, яке визначає одне значення.

  3. Поточний рядок.

Примітка : Застереження про машинний переклад: Цю статтю перекладено комп’ютерною системою без втручання людини. Корпорація Майкрософт пропонує таку послугу, щоб іншомовні користувачі могли дізнаватися про продукти, служби й технології Microsoft. Оскільки статтю перекладено за допомогою служби машинного перекладу, вона може містити смислові, синтаксичні або граматичні помилки.

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×