Приклад запиту DAX із використанням різних ключових слів і функцій

У цьому підручнику ви дізнаєтеся про різні ключові слова та функції в DAX Studio з конкретним прикладом запиту для кожного з них.

Зокрема, ви дізнаєтеся про ключові слова ORDER BY і START AT, а також про функції TOPNSKIP і ADDMISSINGITEMS.

Зміст

Приклад запиту DAX: ORDER BY Keyword

Ключове слово ORDER BY дозволяє сортувати набір даних.

Базовий приклад

Наприклад, використовуючи ключове слово ORDER BY, ви можете відсортувати стовпець за алфавітом.

Приклад запиту DAX із використанням різних ключових слів і функцій

Ви бачите, що дані першого рядка починаються з «А». Порядок сортування DAX Studio за замовчуванням є за зростанням .

Якщо ви хочете, щоб ваші дані відображалися в порядку спадання, напишіть DESC . Тож у цьому прикладі стовпець «Бренд» замість A починатиметься з «W».

Приклад запиту DAX із використанням різних ключових слів і функцій

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

Приклад запиту DAX із використанням різних ключових слів і функцій

Приклад реального світу

Тепер давайте розглянемо просту реальну програму з використанням ключового слова ORDER BY. Це той самий приклад, що використовується в .

Приклад запиту DAX із використанням різних ключових слів і функцій

Ви бачите, що ця таблиця повертає 3 стовпці. Перший — це тип продукту, який складається з Boring і Trendy. Другий стовпець показує загальний обсяг продажів за типом продукту. Третій повертає відсоток продажів.

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

Приклад запиту DAX із використанням різних ключових слів і функцій

Формула для цього стовпця така сама, як синтаксис IF, але замість «Модний» і «Нудний» у цьому стовпці відображатиметься «1» для «Модного» та «2» для нудного.

Щоб побачити цей стовпець у таблиці, запишіть його під синтаксисом EVALUATE.

Приклад запиту DAX із використанням різних ключових слів і функцій

Потім ви побачите, що до таблиці додано новий стовпець Product Type Sort, який складається з чисел 1 і 2.

Щоб відсортувати цей стовпець, напишіть ключове слово ORDER BY після синтаксису. Потім після назви стовпця напишіть або ASC, або DESC, залежно від порядку сортування, у якому ви хочете мати стовпець.

Приклад запиту DAX із використанням різних ключових слів і функцій

Приклад запиту DAX: START AT

Наступне, що ви дізнаєтесь, це ключове слово ПОЧАТИ З.

ПОЧАТИ З є застарілим ключовим словом. Його використання не рекомендується для більшості запитів DAX. Однак ви все одно можете знайти код DAX, який використовує це. Тому все ж важливо знати, що це таке і в яких випадках його можна використовувати.

Базовий приклад

Спочатку напишіть ключове слово EVALUATE. У цьому прикладі використовується таблиця Products. Перш ніж писати START AT, спочатку використовуйте ORDER BY , а потім укажіть стовпці, які ви хочете включити.

Приклад запиту DAX із використанням різних ключових слів і функцій


Потім ви можете написати START AT. Цей синтаксис буде відповідати порядку, подібному до того, як ви написали свої стовпці в ORDER BY. У цьому прикладі стовпець «Ключ продуктів» починатиметься з «2», а стовпець «Бренд» — із «Contoso».

Приклад запиту DAX із використанням різних ключових слів і функцій

Якщо натиснути клавішу F5, у таблиці результатів можна побачити, що вказані стовпці відповідають напрямку запиту.

Тепер давайте подивимося, що відбувається, коли додається ще один стовпець. У цьому випадку стовпець «Колір» має починатися зі «Срібло».

Приклад запиту DAX із використанням різних ключових слів і функцій

Коли ви запустите цей запит, ви побачите, що перший запис у стовпці «Колір» — «білий». Не гарантується, що результат завжди відповідатиме всім умовам під час використання START AT.

Для цього прикладу в таблиці Products немає екземпляра, який містить 2, Contoso та Silver у одному рядку. Натомість механізм DAX намагається створити найкращу відповідність створеному вами запиту.

Складний приклад

Давайте розглянемо інший приклад:

Приклад запиту DAX із використанням різних ключових слів і функцій

Після EVALUATE напишіть ключове слово ORDER BY, а потім три вказані стовпці. Після цього напишіть ПОЧАТОК З. У цьому випадку стовпець «Колір» має починатися з «Червоний», стовпець «Стать» має починатися з «M», а стовпець «Ключ магазину» має починатися з «2».

Приклад запиту DAX із використанням різних ключових слів і функцій

Після виконання запиту можна побачити, що механізм DAX зробив усе можливе, щоб відповідати вказаним параметрам.

У результатах можна побачити, що два стовпці правильні, тоді як стовпець Store Key починається зі 199 замість 2. Це тому, що Store Key 2 не існує в моделі даних цього прикладу.

Повільний двигун DAX

Натисніть кнопку «Час сервера» на вкладці «Домашня сторінка».

Приклад запиту DAX із використанням різних ключових слів і функцій

Внизу з’явиться нова вкладка. Натисніть кнопку «Очистити кеш», а потім «Виконати» , яка знаходиться у стрілці спадного меню «Виконати».

Приклад запиту DAX із використанням різних ключових слів і функцій

Ви бачите, що для виконання запиту DAX Studio потрібно 142 мс. Якщо видалити синтаксис START AT і запустити код знову, ви побачите, що це займе лише 11 мс для виконання.

Приклад запиту DAX із використанням різних ключових слів і функцій

Запит виконується довше, якщо є синтаксис START AT, оскільки він викликає поведінку механізму DAX під назвою CallBackDataID .

START AT робить ваш код надзвичайно повільним. Якщо використовувати його не потрібно, краще уникайте його.

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

Приклад запиту DAX: функція TOPNSKIP

Наступне, про що ви дізнаєтесь у цьому посібнику, це функція TOPNSKIP . Ця функція схожа на, але він має одну тонку відмінність разом із додатковим параметром. Щоб краще зрозуміти це, розглянемо приклад.

TOPN проти TOPNSKIP

Спочатку напишіть ключове слово EVALUATE. Потім напишіть аргумент TOPN нижче, щоб переглянути 100 найкращих рядків таблиці продуктів.

Приклад запиту DAX із використанням різних ключових слів і функцій

Цю таблицю також відсортовано за зростанням стовпця «Ключ продукту».

Тепер замініть TOPN на TOPNSKIP. У другому аргументі вкажіть кількість рядків, які потрібно пропустити. У цьому прикладі вказано 10.

Приклад запиту DAX із використанням різних ключових слів і функцій

Коли ви запустите це, ви побачите, що стовпець «Ключ продукту» тепер починається з 11 і закінчується на 110. Зауважте, що ви не можете використовувати функцію TOPNSKIP всередині обчислюваної таблиці або в табличній моделі даних.

Інший приклад

У наступному прикладі давайте переглянемо 5000 найпопулярніших рядків у таблиці клієнтів. Ця таблиця відсортована в порядку зростання відносно стовпця Стать.

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

Приклад запиту DAX із використанням різних ключових слів і функцій

Однак якщо ви використовуєте функцію TOPNSKIP, ви можете побачити, що таблиця повертає лише перші 5000 рядків у стовпці Стать.

Приклад запиту DAX із використанням різних ключових слів і функцій

Таким чином, навіть якщо стовпець «Стать клієнта» містить кілька правил для певної статі, функція TOPNSKIP поверне лише перші 5000 рядків. Цей результат не гарантується під час використання функції TOPN.

Приклад запиту DAX: функція ADDMISSINGITEMS

Нарешті, давайте розглянемо функцію ADDMISSINGITEMS у DAX Studio.

Коли ви використовуєте SUMMARIZECOLUMNS, за замовчуванням він намагатиметься видалити порожні рядки з результату. Наприклад, ми можемо написати запит, який підсумовує Колір продукту, Бренд продукту та Стать клієнта.

Приклад запиту DAX із використанням різних ключових слів і функцій

Коли ви натискаєте F5, ви бачите, що таблиця повертає три стовпці. Стовпець «Стать» складається з 3 типів статі: чоловіча, жіноча та порожня. Бланк представляє компанію. Ви також можете побачити, що він повертає 333 рядки.

Але якщо ви створюєте стовпець «Загальні продажі», фільтр SUMMARIZECOLUMNS видалить рядки, які містять порожні значення для «Загальних продажів». Замість 333 рядків таблиця тепер містить лише 323 рядки.

Приклад запиту DAX із використанням різних ключових слів і функцій

Є 2 варіанти повернення цих рядків. Перший варіант – додати нуль після загальних продажів. У результатах ви можете побачити, що 10 рядків повертають нульове значення для Total Sales.

Приклад запиту DAX із використанням різних ключових слів і функцій

Однак цей варіант не завжди дає найкращий результат. Натомість існує спеціальна функція, яку можна використовувати для вирішення цієї проблеми: функція ADDMISSINGITEMS .

Щоб використовувати цю функцію, розмістіть це після EVALUATE. У першому аргументі запишіть стовпці. Вам також потрібно вставити ці стовпці в параметр groupBy SUMMARIZECOLUMNS.

Приклад запиту DAX із використанням різних ключових слів і функцій

Коли ви запустите цей запит, ви побачите, що таблиця повертає 333 рядки.

Приклад запиту DAX із використанням різних ключових слів і функцій

Якщо відсортувати стовпці «Загальний обсяг продажів» і видалити нуль, таблиця поверне порожні значення під стовпцем «Загальний обсяг продажів».

Приклад запиту DAX із використанням різних ключових слів і функцій

Таким чином, замість звіту про нуль, таблиця повертає порожні рядки, які були видалені функцією SUMMARIZECOLUMNS.

Використання ADDMISSINGITEMS і FILTER

Ви також можете використовувати функцію ADDMISSINGITEMS разом із. Наприклад, давайте відфільтруємо рядки, які містять «Tailspin Toys». У запиті сказано, що стовпець Brand не повинен містити ( <> ) Tailspin Toys.

Приклад запиту DAX із використанням різних ключових слів і функцій

Коли ви натискаєте F5, ви бачите, що таблиця тепер повертає лише 331 рядок. Тож ті два рядки, що містять бренд «Tailspin Toys», були видалені.

Висновок

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

DAX Studio — це потужний інструмент для виконання та аналізу запитів DAX. Важливо вивчити основи кодування цього програмного забезпечення, щоб у майбутньому вам було легше працювати зі складними запитами.

Експерти LuckyTemplates


Що таке Power Query та мова M: детальний огляд

Що таке Power Query та мова M: детальний огляд

Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.

Створення звіту з розбивкою на сторінки: додавання текстів і зображень

Створення звіту з розбивкою на сторінки: додавання текстів і зображень

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

Функція автоматизації SharePoint | Вступ

Функція автоматизації SharePoint | Вступ

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

Вирішіть задачу аналізу даних за допомогою прискорювача LuckyTemplates

Вирішіть задачу аналізу даних за допомогою прискорювача LuckyTemplates

Відточіть свої навички розробки звітів, приєднавшись до змагання з аналізу даних. Прискорювач може допомогти вам стати суперкористувачем LuckyTemplates!

Підсумки в LuckyTemplates за допомогою DAX

Підсумки в LuckyTemplates за допомогою DAX

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

Змінні LuckyTemplates Dax постійні: що це означає?

Змінні LuckyTemplates Dax постійні: що це означає?

Зрозумійте концепцію змінних у DAX у LuckyTemplates і значення змінних для обчислення показників.

Діаграма нахилу LuckyTemplates: огляд

Діаграма нахилу LuckyTemplates: огляд

Дізнайтеся більше про настроюваний візуал під назвою LuckyTemplates Slope chart, який використовується для показу зростання/зменшення для одного чи кількох показників.

Колірні теми LuckyTemplates для однорідної візуалізації

Колірні теми LuckyTemplates для однорідної візуалізації

Відкрийте для себе кольорові теми в LuckyTemplates. Це необхідно для того, щоб ваші звіти та візуалізації виглядали та працювали без проблем.

Обчислення середнього значення в LuckyTemplates: виділення результатів у будні чи вихідні за допомогою DAX

Обчислення середнього значення в LuckyTemplates: виділення результатів у будні чи вихідні за допомогою DAX

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

Шаблони LuckyTemplates | Стандартне оформлення робочого столу LuckyTemplates

Шаблони LuckyTemplates | Стандартне оформлення робочого столу LuckyTemplates

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