Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

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

Зміст

Викликаний запит функції та запит таблиці дат

Цеі викликаний запит функції.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

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

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

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Подивившись на застосовані кроки праворуч, ви побачите, що цього разу вказано кілька кроків.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Це означає, що коли ви розробите свій код таблиці дат M, ви одразу побачите результати своїх змін у цьому запиті до таблиці.

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

Застосування коду M

Код таблиці дат M можна знайти на форумі LuckyTemplates. Це в темі Extended Data Table Power Queryв рамках M Code Showcase.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Код M знаходиться вгорі. Я виділю весь код і скопіюю його.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Потім я створю новий порожній запит.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Я відкрию розширений редактор і вставлю цей код.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Оскільки я бачу, що помилок не виявлено, я клацну «Готово».

Дозвольте мені перейменувати це й назвати Дати.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Цей запит повертає функцію, але мені потрібна таблиця.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Щоб внести необхідні зміни, я повернуся до розширеного редактора.

Перетворення функції в таблицю

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

Дивлячись на код M, я можу легко побачити принаймні два середовища на основі кількості операторів let.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Кожен оператор let має власний пункт in, який можна знайти внизу.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Ви можете подумати, що було б простіше просто видалити останнє в пункті, щоб перетворити це на таблицю.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Але я не збираюся цього робити. Натомість я прокоментую це, додавши дві похилі риски перед останнім пунктом in.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Я також збираюся зробити це для першого оператора let. Це робить його неактивним.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

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

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Тепер я скопіюю першу змінну із зовнішнього оператора let і вставлю її в пробіл.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Потім я скопіюю та вставлю наступну змінну, яка є EndDate.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

У мене вже є змінна в моєму коді M для CurrentDate, тому я збираюся посилатися на це.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Знову ж таки, я буду використовувати внутрішню дату. Я витягну Date.Year і використаю CurrentDate як значення року +1. Я також хочу, щоб дата була 31 грудня.

Знову ж таки, я закінчую цей рядок комою.

Наступна змінна є необов’язковим параметром під назвою FYStartMonth.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Тож я просто скопіюю це ім’я та вставлю його.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Зверніть увагу, що під змінною, яку я щойно вставив, під FYStartMonth з’явилося червоне підкреслення.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

Замість того, щоб називати це FYStartMonth, я буду називати це FYStartMonthNum.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Я не збираюся призначати значення для цієї змінної, тому я просто поставлю значення null.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Наступний параметр – необов’язковий список свят. Я збираюся скопіювати та вставити це також, а також оголосити його як null.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Те саме стосується WDStartNum. Я скопіюю та вставлю його, а потім оголошу як нульовий.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Щоб позначити, де починається код таблиці дат, я збираюся додати тут ще один коментар.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Коли я натисну «Готово», ви побачите, що запит тепер повертає правильний тип.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Тепер я маю таблицю замість функції.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

На панелі «Застосовані кроки» я також бачу всі кроки, які складають запит.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

Перетворення запиту таблиці назад у функцію

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

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

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Тоді я прокоментую блок змінних, який додав раніше. Тому я додам сюди косу риску та зірочку.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Потім зірочка та коса риска після блоку змінних.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Пам’ятаєте, коли я змінив цей рядок коду раніше через FYStartMonthNum?

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Я скопіюю цей рядок коду. Потім я додам новий рядок і вставлю його.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Я скорочу першу (саме там я вносив зміни в назву змінної раніше).

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

Потім на другому я знайду відредаговані назви змінних.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

І я поверну їх у FYStartMonth.

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates

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

Перетворіть функцію таблиці дат на запит таблиці в LuckyTemplates




Висновок

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

Ви також можете переглядати інші коди M, які можна використовувати в інших ситуаціях, у вітрині кодів M на. Це спільне співтовариство, тому ви можете прочитати коментарі щодо інших ідей від наших експертів і учасників.

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

Меліса

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







Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.

Вилучення тем і зображень LuckyTemplates із PBIX

Вилучення тем і зображень LuckyTemplates із PBIX

Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Python у LuckyTemplates: як встановити та налаштувати

Python у LuckyTemplates: як встановити та налаштувати

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

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

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

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

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

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

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.

Вимір сміття: що це таке і чому це щось інше, але не сміття

Вимір сміття: що це таке і чому це щось інше, але не сміття

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