Що таке Power Query та мова M: детальний огляд
Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.
Третім стовпом розробки LuckyTemplates є обчислення DAX. Цей підручник містить вичерпний посібник із DAX для початківців, який охоплює основи форматування та редагування. До обговорення також включено функції DAX, які часто використовуються.
Зміст
Посібник редактора DAX
Перш за все, ось кілька порад редактора DAX, які вам потрібно знати:
Використовуйте Ctrl + колесо прокрутки миші , щоб збільшити або зменшити розмір шрифту у вікні редактора DAX.
Використовуйте Ctrl + Shift + L , щоб оновити всі екземпляри імені одночасно.
Додайте префікс « @ » до віртуальних таблиць або тимчасових імен стовпців у DAX.
Посібник DAX для форматування
Ваш код DAX має бути впорядкованим і зрозумілим для користувачів.
Ви пишете код не лише для себе сьогодні, але й для себе в майбутньому.
Важливо розробити коди DAX, які легко читати та зрозуміли вам і іншим як зараз, так і пізніше.
Не хвилюйтеся, якщо редагування та впорядкування може в кінцевому підсумку зіпсувати ваш код. Комп’ютери розумні; якщо синтаксис правильний, вони зможуть інтерпретувати та виконувати коди, які ви написали.
Чудова цитата Марко Руссо говорить:
Якщо він не відформатований, це не DAX.
Існує кілька способів форматування DAX. Рекомендованим варіантом є використання засобу очищення DAX, доступного в LuckyTemplates Analyst Hub.
Ви можете отримати доступ до цього інструменту за допомогою цього. Інший спосіб – отримати доступ до веб-сайту LuckyTemplates і вибрати «Ресурси». Унизу сторінки ви знайдете засіб очищення DAX.
Щоб скористатися цим інструментом, скопіюйте код із редактора DAX у файл LuckyTemplates. Вставте його в засіб очищення DAX і натисніть «Форматувати».
Після завершення очищення ви можете вставити відформатований код назад у свій файл LuckyTemplates.
Ви також можете редагувати код в інструменті.
Коментування коду DAX
Коли ви маєте справу зі складними кодами DAX, доцільно додавати коментарі. Вам буде дуже корисно пояснення псевдокоду. Але бувають винятки.
Коментування – це дуже особиста діяльність. Можуть бути різні думки щодо правильного рівня коментарів від розробників і користувачів. Отже, знову ж таки, створюючи коди та коментарі, важливо брати до уваги те, як вони будуть прийняті та зрозумілі користувачами або розробниками в майбутніх випадках. Це принесе значну користь вам і бізнесу в довгостроковій перспективі.
Посібник DAX для змінних
Використовуйте докладні імена змінних. Ключ - це ясність . Важливо створити чіткі та зрозумілі назви.
Знову ж таки, комп’ютери розумні і можуть легко зрозуміти, що написано. Тож пам’ятайте, що ви пишете не для комп’ютера чи для LuckyTemplates; ви пишете для себе та для тих, хто використовуватиме та підтримуватиме ваш код у наступні місяці.
Під час використання змінних у коді DAX найкраще використовувати префікс перед іменем змінної, щоб переконатися, що ви виберете правильну змінну в наступних рядках. Підкреслення ( _ ) є рекомендованим префіксом для використання . Це також допомагає зменшити список, представлений у функції IntelliSense у LuckyTemplates.
Ось приклад:
Ви бачите, що під час введення підкреслення доступні лише два варіанти. Кількість варіантів значно зменшується, що підвищує ефективність кодування.
Ще одна найкраща практика — використання конструкції RETURN Result .
Це полегшує поступову розробку та налагодження кодів DAX.
Кваліфікація розрахунків DAX
Використовуючи стовпці у виразах DAX, потрібно бути точним, оскільки можна мати однакове ім’я стовпця в кількох таблицях.
Наприклад, стовпець «Ключ клієнта» може мати місце як у таблицях «Клієнти», так і в таблицях «Продажі».
Хоча вони часто означають те саме й містять однакові дані, це не завжди так. Щоб отримати бажані результати, ви завжди повинні кваліфікувати імена стовпців.
Крім того, вам потрібно переконатися, що заходи не прив’язані до таблиці. Їх можна переміщувати з однієї таблиці в іншу, тому важливо переконатися, що імена мір не є кваліфікованими.
Важливі функції DAX, які слід знати
1. ОБЧИСЛИТИ
є однією з найважливіших функцій DAX, оскільки вона дозволяє змінювати контекст обчислення.
Однак ця функція часто викликає плутанину не тому, що нею важко користуватися, а скоріше через її назву. Навіть якщо він називається CALCULATE, він насправді не виконує обчислення. Швидше, це змінює контекст обчислення.
Наприклад, у цьому показнику Sales LY функція CALCULATE використовується для зміни контексту обчислення загальних продажів на один рік до поточного контексту оцінки.
2. ДАТАДОДАТИ
У DAX доступно багато функцій аналізу часу. Звичайні коди DAX, швидше за все, використовуватимуть функції,, ісеред багатьох інших. алеє однією з найбільш універсальних функцій аналізу часу DAX. І ця функція повинна бути вашим першим вибором.
За допомогою DATEADD той самий синтаксис можна використовувати для кількох обчислень, як назад, так і вперед у часі, а також для YEAR, QUARTER, MONTH або DAY. Завдяки цьому дуже легко створювати кілька вимірювань часу за допомогою копіювання та вставлення з незначним редагуванням.
3. РОЗДІЛИТИ
Поділ у LuckyTemplates можна виконати різними способами. Найелементарнішим способом є використання простого арифметичного ділення.
Однак випадки ділення на нуль зазвичай вимагають проведення складних тестів, перш ніж продовжити. На щастя, є функція DAX, яка впорається з цим за вас.
Функція автоматично виконує ділення на нуль, а також дозволяє додавати альтернативний результат. Оскільки це простіше для арифметичного ділення в LuckyTemplates, код легше читається.
4. ПЕРЕКЛЮЧЕННЯ ІСТИНА
Інший код DAX - це логіка.
Якщо у вас є кілька умов для оцінки, це призведе до створення кількох вкладенихзаяви, які часто важко прочитати та простежити.
Інструкція SWITCH TRUE надає гнучкість для зміни коду пізніше та налаштування нових умов. Він також компактніший, що полегшує читання.
Посібник DAX щодо віртуальних таблиць
Під час створення віртуальної таблиці в коді DAX використовуйте функцію для групування стовпців у базову таблицю. Потім оточіть йогоконструкція для додавання стовпців.
Щоб повторити, використовуйте префікс « @ » у стовпцях за допомогою функції ADDCOLUMNS, щоб запобігти неоднозначності та переконатися, що вибраний стовпець віртуальної таблиці правильний.
Крім того, під час роботи з віртуальними таблицями рекомендується використовувати DAX Studio або табличний редактор, щоб допомогти вам.
Між парою таблиць у LuckyTemplates може бути багато зв’язків. Код DAX за замовчуванням використовуватиме активний зв’язок. Але його можна змінити, щоб використовувати певний неактивний зв’язок за допомогоюкоманда.
Наприклад, може бути багато зв’язків між стовпцями «Дата» таблиці «Дати» та таблиці «Продажі». Збут [Дата замовлення] є активним зв’язком, а Збут [Дата рахунку] — неактивним. Якщо ви хочете використовувати Sales [Order Date] у розрахунку, не потрібно докладати додаткових зусиль. Однак, якщо ви хочете використовувати Sales [Invoice Date] у розрахунку, вам потрібно використовувати його разом із командою USERELATIONSHIP .
У режимі перегляду моделі в LuckyTemplates наведення курсора на суцільну лінію показує активний зв’язок. Тоді як дві пунктирні лінії показують неактивний зв’язок між кожним елементом у двох таблицях.
Переглядаючи зразок звіту, також можна побачити різницю між стовпцями «Продажі за датою замовлення», «Продажі за датою рахунку-фактури» та «Продажі за датою доставки».
Міри проти обчислених стовпців
Це комфортне місце для тих, хто має досвід роботи з Excel, оскільки він дозволяє переглядати дані. Але найкраща практика в DAX і LuckyTemplates — використовувати якомога більше.
У деяких випадках використовуються обчислювані стовпці. Вони часто розробляються як відправна точка, щоб допомогти візуалізувати обчислення. Але згодом вам потрібно замінити їх мірами, коли ви повністю візуалізуєте розрахунок у своїй голові. Крім того, обчислювані стовпці можна використовувати в зрізах на відміну від мір.
Міра не збільшує фізичний розмір вашої моделі даних під час розрахунку; це робиться лише тоді, коли використовується у візуалі. Однак обчислюваний стовпець збільшує фізичний розмір вашої моделі даних, оскільки він обчислюється та фізично зберігається щоразу, коли файл оновлюється.
DAX Guide To Measure Branching
Одним із найцінніших прийомів у LuckyTemplates є .
Чудовий спосіб модульувати ваш код — почати з простих або базових заходів, які виконують прості обчислення, а потім комбінувати їх за потреби для виконання більш складних обчислень. Розмістіть базові та проміжні показники в таблицях, щоб побачити розрахунки під час їх виконання.
Існують різні школи думок щодо того, де слід застосовувати конкретні заходи, і всі методи мають свої переваги та недоліки. Але вигідніше використовувати спеціальний у розробці LuckyTemplates. Якщо всі показники розташовані в одному місці у верхній частині панелі «Поля», це спрощує відстеження логіки ваших обчислень DAX.
Контекст у розрахунках DAX
Однією з головних переваг LuckyTemplates є контекст. І це також одна з найважчих концепцій для розуміння для розробників.
Контекст – це середовище, в якому виконується обчислення.
Часто представлено два контексти: контекст рядка та контекст фільтра . Але насправді є третій: контекст оцінювання .
І це повертає вас до команди CALCULATE , яка знову ж таки дозволяє користувачеві змінювати контекст обчислення. У DAX і LuckyTemplates є два основні класи функцій: функції агрегації та функції ітерації .
Функції агрегації – це функції, які агрегують значення одного стовпця. Приклади функцій агрегації включають,, і. У той час як більшість функцій агрегації працюють лише з числовими значеннями чи значеннями дати, MAX і MIN також працюють із текстовими значеннями.
Ітераційні функції — це функції, які обчислюють вираз для кожного рядка таблиці. Вони також відомі як функції X. Приклади включають,,, і. Вони мають два параметри: таблицю для повторення та вираз, який виконує обчислення. Це може використовувати кілька стовпців з базової таблиці або з інших пов’язаних таблиць.
Ось короткий приклад того, як функції агрегування та ітерації використовуються по-різному, але забезпечують однаковий результат:
Висновок
Цей посібник DAX спрямований на допомогу новим користувачам LuckyTemplates, які все ще вивчають і навчаються. Це також дуже корисно як єдиний контрольний список для досвідчених розробників, яким потрібен швидкий курс підвищення кваліфікації. Цей посібник є чудовим будівельним блоком для розширеної розробки звітів у LuckyTemplates.
LuckyTemplates має різноманітні ресурси щодо навчальних посібників з DAX, від основ до розширеного програмування. Перегляньте їх, щоб краще знати мову програмування DAX.
Грег
Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.
Дізнайтеся, як створити звіт із розбивкою на сторінки, додати тексти та зображення, а потім експортувати звіт у різні формати документів.
Дізнайтеся, як використовувати функцію автоматизації SharePoint для створення робочих процесів і допомоги в мікрокеруванні користувачами, бібліотеками та списками SharePoint.
Відточіть свої навички розробки звітів, приєднавшись до змагання з аналізу даних. Прискорювач може допомогти вам стати суперкористувачем LuckyTemplates!
Дізнайтеся, як обчислювати поточні підсумки в LuckyTemplates за допомогою DAX. Поточні підсумки дозволяють вам не потрапити в окремий результат.
Зрозумійте концепцію змінних у DAX у LuckyTemplates і значення змінних для обчислення показників.
Дізнайтеся більше про настроюваний візуал під назвою LuckyTemplates Slope chart, який використовується для показу зростання/зменшення для одного чи кількох показників.
Відкрийте для себе кольорові теми в LuckyTemplates. Це необхідно для того, щоб ваші звіти та візуалізації виглядали та працювали без проблем.
Розрахувати середнє значення в LuckyTemplates можна кількома способами, щоб отримати точну інформацію для ваших бізнес-звітів.
Давайте заглибимося в стандартну тематику LuckyTemplates і розглянемо деякі функції, вбудовані в саму програму LuckyTemplates Desktop.