Функція M для таблиці дат – як додати параметр у редакторі запитів

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

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

Цей процес не обов’язково складний, але вам потрібне базове розуміння структури мови M. Якщо ви є учасником LuckyTemplates, ви можете перевірити. Вступ торкається теми.

Зміст

Функція M і розширена таблиця дат

Дозвольте мені почати з переходу до Power Query . Я вже скопіював сюди функцію M таблиці дат .

Функція M для таблиці дат – як додати параметр у редакторі запитів

Я отримав функцію M із категорії M Code Showcase на форумі LuckyTemplates . Код знаходиться під темою.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Якщо я відкрию розширений редактор , це код.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Там багато коду M, який може відволікати.

Створення тестового запиту

Оскільки у функції M відбувається занадто багато, я почну з нового порожнього запиту .

Функція M для таблиці дат – як додати параметр у редакторі запитів

Я збираюся назвати цей тестовий запит .

Функція M для таблиці дат – як додати параметр у редакторі запитів

Далі я збираюся відкрити розширений редактор .

Функція M для таблиці дат – як додати параметр у редакторі запитів

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

Функція M для таблиці дат – як додати параметр у редакторі запитів

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

Функція M для таблиці дат – як додати параметр у редакторі запитів

Далі я додам змінну. Я назву цю змінну WDStartNum , оскільки вона буде означати початковий номер дня тижня. Мені також потрібно оголосити його тип, тому я введу число .

Функція M для таблиці дат – як додати параметр у редакторі запитів

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

Наступним кроком буде додавання пропозиції let і пропозиції in .

Функція M для таблиці дат – як додати параметр у редакторі запитів

У пропозиції let мені потрібна назва змінної. Тож я назву цю змінну WDStart .

Функція M для таблиці дат – як додати параметр у редакторі запитів

Тепер мені потрібно перевірити, чи було передано WDStartNum . Якщо він пройде, він не прирівнюватиметься до null . Тож я збираюся оголосити, що якщо WDStartNum не дорівнює null, я хочу, щоб було повернуто значення .

Функція M для таблиці дат – як додати параметр у редакторі запитів

Що стосується пункту in, я хочу, щоб той самий крок було виконано. Тож я просто поміс��ю туди WDStart , яку ми назвали змінною раніше в пропозиції let.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Як тільки я натисну «Готово», функція буде створена. Тому я спробую передати значення через цю функцію.

Я спробую ввести літеру «а».

Функція M для таблиці дат – як додати параметр у редакторі запитів

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

Функція M для таблиці дат – як додати параметр у редакторі запитів

Тож я збираюся видалити це та просто залишу місце порожнім.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Щойно я натискаю Invoke, воно повертає значення 0.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Повертаючись до мого початкового запиту, у ньому сказано, що якщо значення не дорівнює null, потрібно повернути WDStartNum. Якщо він дорівнює null, тоді має бути повернуто 0.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Отже, 0 правильний.

Цього разу я спробую передати значення, змінивши число в TestQuery. Щоправда, він повертає «1», коли я натискаю Enter.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Тепер дозвольте мені спробувати пройти 2020 рік у TestQuery. Коли я натискаю Enter, також повертається 2020 рік.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Очевидно, я не хочу, щоб це сталося. Оскільки мені потрібно значення, яке представляє початок тижня, я хочу, щоб з’являлося або 0, або 1. Це означає, що мені потрібно створити інший тест, щоб побачити, чи введене число є 0 чи 1. Для цього я можу використати функцію List.Contains .

Використання List.Contains

Я створив порожній запит і ввів List.Contains без використання дужок.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Коли я натискаю клавішу enter, я бачу документацію щодо цієї функції.

Функція M для таблиці дат – як додати параметр у редакторі запитів

List.Contains вказує, чи список містить значення.

Отже, першим параметром потрібен список, а потім додається значення. Якщо це значення знайдено в списку, воно повертає true. В іншому випадку він поверне false.

Я знову відкрию розширений редактор , щоб внести необхідні зміни у свій запит.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Замість того, щоб перевіряти, чи значення не дорівнює null, я збираюся використовувати List.Contains .

Функція M для таблиці дат – як додати параметр у редакторі запитів

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

Я буду використовувати фігурні дужки як ініціалізатор списку. У цих фігурних дужках я поставлю 0, 1. Я додам кому після закриття цієї дужки.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Для другого параметра я збираюся використовувати WDStartNum. Потім я додам закриваючу дужку.

Функція M для таблиці дат – як додати параметр у редакторі запитів

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

Дозвольте мені перевірити це, поставивши 2020 у TestQuery. Як і очікувалося, це повертає «0» (нуль).

Функція M для таблиці дат – як додати параметр у редакторі запитів

Це тому, що значення 2020 немає в списку.

Додавання параметра до функції M

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

Функція M для таблиці дат – як додати параметр у редакторі запитів

Потім я перейду до запиту таблиці дат.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Я відкрию оригінальну функцію M за допомогою розширеного редактора .

Функція M для таблиці дат – як додати параметр у редакторі запитів

Потім я збираюся вставити туди свій код. Переконаємося, що в кінці рядка стоїть кома.

Функція M для таблиці дат – як додати параметр у редакторі запитів

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

Функція M для таблиці дат – як додати параметр у редакторі запитів

Потім я додам цей параметр сюди .

Функція M для таблиці дат – як додати параметр у редакторі запитів

Функція M для таблиці дат – як додати параметр у редакторі запитів

Зауважте, що спочатку я маю додати кому в кінці існуючого рядка, а потім оголосити цей параметр необов’язковим . Тоді я можу розмістити WDStartNum і додати тип .

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

Функція M для таблиці дат – як додати параметр у редакторі запитів

Потім я додам + WDStart .

Функція M для таблиці дат – як додати параметр у редакторі запитів

Я клацну «Готово» , щоб закрити редактор. Потім я викличу запит.

Для StartDate я вставлю 1 січня 2020 року, а потім використаю 31 грудня 2020 як EndDate.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Я використовую «7» як місяць початку фінансового року, потім я вставлю «0» як WDStartNum.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Я клацну Виклик. Тепер у мене є таблиця дат.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Я перейменую його, щоб його можна було легко ідентифікувати.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Зараз я перевірю результати.

Це моя колонка DayOfWeek .

Функція M для таблиці дат – як додати параметр у редакторі запитів

Це показує, що понеділок повернувся як 0.

Функція M для таблиці дат – як додати параметр у редакторі запитів

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

Функція M для таблиці дат – як додати параметр у редакторі запитів

Коли я натискаю Enter, понеділок тепер буде днем ​​1 замість дня 0.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Дивлячись на діапазон чисел, тепер він працює від 1 до 7 замість 0 до 6.

Функція M для таблиці дат – як додати параметр у редакторі запитів

Що станеться, якщо я передам нульове значення?

Функція M для таблиці дат – як додати параметр у редакторі запитів

Тоді DayOfWeek для понеділка просто повертається до 0.

Функція M для таблиці дат – як додати параметр у редакторі запитів




Висновок

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

Знову ж таки, ви завжди можете переглянути курс Advanced Data Transformations & Modeling уОнлайн, якщо ви не знаєте, як працюють коди M.

Все найкраще,

Меліса

***** Вивчаєте LuckyTemplates? *****






Leave a Comment

Змініть формати дати за допомогою редактора Power Query

Змініть формати дати за допомогою редактора Power Query

У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

Створення таблиці дат у LuckyTemplates

Створення таблиці дат у LuckyTemplates

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

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

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

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

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

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

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