Що таке Power Query та мова M: детальний огляд
Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.
Створення святкового календаря LuckyTemplates має вирішальне значення для багатьох розрахунків інтелекту часу. У цьому підручнику я покажу вам, як обчислити конкретні святкові дати за допомогою показників DAX. Ви можете переглянути повне відео цього підручника внизу цього блогу.
Цей приклад надійшов від одного зініціативи під назвою «Проблема тижня», де щомісяця ми беремо реальну проблему DAX або Power Query і розбираємо її в деталях.
Я використав техніку під назвою «Налагодження гумовою качечкою». Зазвичай він використовується для налагодження, але я вважаю, що він також дуже цінний для розробки початкового фреймворку, який ви збираєтеся використовувати для вирішення складної проблеми, як у LuckyTemplates.
По суті, це просто використання гумової качечки або людини, з якою ви розмовляєте і говорите вголос рішення, яке ви передбачаєте, і розробляєте план того, як ви збираєтеся атакувати проблему.
Простий акт голосу, який часто допомагає вам вирішити проблему. У деяких випадках у ситуації налагодження це дає вам зрозуміти, що ви робите, чи має це сенс, і допомагає знайти спосіб виправити це шляхом вирішення проблеми.
Нижче наведено реальну проблему DAX для цього конкретного завдання. У нас тут таблиця з 10 святами з місяцем і днем. Деякі дні є конкретними, а деякі відносними. Нам потрібно придумати дату свята і заходи, які відзначають.
Для цього нам потрібно розібрати поле Day на два компоненти. Перший розбір – це подія (третій, останній, перший, другий), а другий – день (понеділок, четвер). Це дві важливі частини інформації, які нам потрібно розділити.
Зміст
Розрахунок конкретних дат у святковому календарі LuckyTemplates
Зазвичай я робив би це в Power Query просто за допомогою розділювачів, але оскільки ми робимо це за допомогою DAX, нам доведеться зробити це іншим способом. (Зауважте, що нам не дозволено використовувати Power Query у цьому випробуванні.)
Нам потрібно обчислити мінімальну та максимальну дати для зазначеного року, місяця та назви дня. У цьому випадку, наприклад, ми можемо сказати про 2027 рік, січень і третій понеділок. Отримавши цей мінімальний день для даного місяця, ми можемо додати до нього сім днів, щоб дістатися до другого понеділка, 14 днів, щоб дістатися до третього понеділка, і 21 день, щоб дістатися до четвертого понеділка.
Інша техніка, якою я хочу поділитися з вами, пов’язана з цим завданням, це те, що я називаю «Побудова по частинах» під час створення міри. Я вважаю, що це дуже корисно для комплексного вимірювання, де, якщо у вас є багато змінних, у вас є багато компонентів для створення.
Я завжди маю змінну результату ( VAR Result ) у кінці та мій останній оператор, який є просто Return Result . Це робить дуже легким повернутися назад і перевірити створені мною змінні. Я можу пройти, відстежити та вирішити це по частинах.
Остання техніка, якою я хочу з вами поділитися, це те, що я називаю пошуком невідомих функцій. Наприклад, якщо я не знаю, яку функцію використовувати для цього завдання зі святковим календарем LuckyTemplates, я перейду на вкладку Зовнішні інструменти та перейду до посібника SQLBI DAX .
Тут є дуже гарна функція під назвою Групи (ліворуч), де функції згруповано за типом. Тому, наприклад, якщо я думаю про розбір текстового рядка, я можу шукати Text functions .
Він надає всі текстові функції, які має DAX. Це чудовий спосіб швидко знайтивам потрібна міра.
Показники DAX для святкового календаря LuckyTemplates
Для міри «Дата свята» я створив цю серію s , збираючи дати з розділювача, місяць свята, номер місяця та день із таблиці «Дати».
Потім я маю тривалість із цього вибраного дня, використовуючи тривалість () функція. У цьому випадку він повернув текст, тому мені довелося його обернутищоб змінити цей текст на числове значення.
А потім я використавфункція для позиції пробілу та обгортання його VALUE, але кажучи, шукати місце в межах вибраного дня, починаючи з позиції один і повертаючи нуль, якщо я не знайду там цей рядок.
CharsBeforeSpace (символи перед пробілом) — це просто SpacePosition. Кількість CharsAfterSpace (символів після пробілу) — це просто довжина ( SelDayLen ) рядка мінус позиція пробілу. З цього ми можемо виконати FirstParse і SecondParse .
На даний момент у нас є дві змінні, одна представляє подію, а друга — день.
І тоді ми маємо базове ( Calc1st ), де ми знімаємо фільтр із таблиці Dates. Потім ми застосовуємо фільтри вибраного року зі зрізу, назву місяця, а потім день тижня з того другого аналізу, який ми зробили.
Подібним чином ми робимо те саме для останнього обчислення ( VAR CalcLast ).
Коли ми все це маємо, він переходить до оператора, а остання частина – результат RETURN.
Нарешті, я хочу розповісти вам про захід Celebrated On як додатковий бонус від змагання. Це простоде я взяв дату свята, яку ми обчислили в попередньому заході, перейшов до таблиці «Дати» та знайшов назву дня тижня. А потім я просто зробив оператор SWITCH , де ми взяли цей результат DayLookup . І, нарешті, я завершую це RETURN DateAdjust .
Висновок
Цей виклик LuckyTemplates Holiday Calendar, як я вже згадував, є проблемою реального світу. Рішення, яке я придумав, досить складне, але дійсно ефективне для розрахунку конкретних святкових дат.
Сподіваюся, ви багато чого дізналися з цього підручника. Ознайомтеся з повним навчальним відео, щоб отримати більш детальне покрокове пояснення показників DAX.
здоров'я!
Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.
Дізнайтеся, як створити звіт із розбивкою на сторінки, додати тексти та зображення, а потім експортувати звіт у різні формати документів.
Дізнайтеся, як використовувати функцію автоматизації SharePoint для створення робочих процесів і допомоги в мікрокеруванні користувачами, бібліотеками та списками SharePoint.
Відточіть свої навички розробки звітів, приєднавшись до змагання з аналізу даних. Прискорювач може допомогти вам стати суперкористувачем LuckyTemplates!
Дізнайтеся, як обчислювати поточні підсумки в LuckyTemplates за допомогою DAX. Поточні підсумки дозволяють вам не потрапити в окремий результат.
Зрозумійте концепцію змінних у DAX у LuckyTemplates і значення змінних для обчислення показників.
Дізнайтеся більше про настроюваний візуал під назвою LuckyTemplates Slope chart, який використовується для показу зростання/зменшення для одного чи кількох показників.
Відкрийте для себе кольорові теми в LuckyTemplates. Це необхідно для того, щоб ваші звіти та візуалізації виглядали та працювали без проблем.
Розрахувати середнє значення в LuckyTemplates можна кількома способами, щоб отримати точну інформацію для ваших бізнес-звітів.
Давайте заглибимося в стандартну тематику LuckyTemplates і розглянемо деякі функції, вбудовані в саму програму LuckyTemplates Desktop.