Power Query M: змінний шаблон 0-1 у таблиці дат

Цей підручник присвячено використанню функції Number.mod Power Query M для створення змінного шаблону 0-1 у таблиці Date. Рішення, яке я збираюся вам показати, надійшло від одного з досвідчених користувачів нашої спільноти, Раджеша, з LuckyTemplates. Ви можете переглянути повне відео цього підручника внизу цього блогу.

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

Power Query M: змінний шаблон 0-1 у таблиці дат

Раджеш був на місці зі своїм аналізом і розбивкою проблеми за допомогою функції Power Query M для її вирішення. З огляду на це, давайте перейдемо до Power Query.

Зміст

Функція Power Query M Number.Mod

TheM, зокрема функція number.mod буде ядром нашого рішення. Що воно робить?

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

Power Query M: змінний шаблон 0-1 у таблиці дат

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

Power Query M: змінний шаблон 0-1 у таблиці дат

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

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

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

Power Query M: змінний шаблон 0-1 у таблиці дат

Як бачите, нічого не змінилося.

Power Query M: змінний шаблон 0-1 у таблиці дат

Створення спеціального стовпця для шаблону Power Query M

Отже, за допомогою цієї міні-таблиці ми збираємося додати спеціальний стовпець.

Power Query M: змінний шаблон 0-1 у таблиці дат

Давайте назвемо цей стовпець Pattern і введемо функцію Power Query M number.mod . Тут ви бачите два параметри: число як число, яке допускає обнулення, і дільник як число, яке може обнулюватися. Отже, як параметри потрібні два значення числового типу.

Power Query M: змінний шаблон 0-1 у таблиці дат

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

Power Query M: змінний шаблон 0-1 у таблиці дат

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

Power Query M: змінний шаблон 0-1 у таблиці дат

Для другого запису ми отримуємо два (2) значення для дати в стовпці Date, мінус один (1) із нашого значення StartDate, яке дорівнює одиниці, плюс той, який ми додаємо назад, повертає двійку, і так далі . Наш повторюваний шаблон базувався на серії з чотирьох змінних значень. Тож як дільник я збираюся передати значення чотири (4).

Power Query M: змінний шаблон 0-1 у таблиці дат

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

Power Query M: змінний шаблон 0-1 у таблиці дат

Створення конструкції IF-THEN-ELSE

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

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

Отже , якщо , і я вставлю сюди наш код (за винятком дільника), змініть цей дільник на вісімку, щоб восьмий рядок повертав нуль. Отже, якщо це дорівнює нулю, це означає, що він не пройде ваш шлях до істинного чи хибного. Тоді ми хочемо один (1). Інакше , якщо наша логіка визначає, що четвертий рядок дорівнює нулю, тоді нам потрібен нуль (0). Інакше ми не хочемо отримати вартість назад. Отже, давайте додамо null .

Power Query M: змінний шаблон 0-1 у таблиці дат

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

Так що це виглядає добре. Все, що нам зараз потрібно зробити, це заповнити ці значення.

Power Query M: змінний шаблон 0-1 у таблиці дат

Тож у рядок формул ми додамо Table.FillUp на початку, а потім кілька відкриваючих дужок. У кінці нашого коду ми додаємо номер типу – нам також потрібно додати стовпець як список. Отже, ми використовуємо кому , потім використовуємо фігурні дужки для ініціалізатора списку та як текстове значення передаємо назву нашого стовпця, Pattern . Не забудьте про круглі дужки та натисніть OK.

Power Query M: змінний шаблон 0-1 у таблиці дат




Висновок

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

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

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

Меліса


Візуалізація карти форми LuckyTemplates для просторового аналізу

Візуалізація карти форми LuckyTemplates для просторового аналізу

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

Фінансова звітність LuckyTemplates: розподіл результатів за шаблонами в кожному окремому рядку

Фінансова звітність LuckyTemplates: розподіл результатів за шаблонами в кожному окремому рядку

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

Вимірювання DAX у LuckyTemplates за допомогою розгалуження вимірювання

Вимірювання DAX у LuckyTemplates за допомогою розгалуження вимірювання

Створіть показники DAX у LuckyTemplates, використовуючи наявні показники або формули. Це те, що я називаю технікою розгалуження міри.

Найпотужніший виклик функцій у LuckyTemplates

Найпотужніший виклик функцій у LuckyTemplates

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

Методи моделювання даних для організації показників DAX

Методи моделювання даних для організації показників DAX

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

Фінансова інформаційна панель LuckyTemplates: повні поради щодо налаштування таблиці

Фінансова інформаційна панель LuckyTemplates: повні поради щодо налаштування таблиці

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

Рекомендації щодо потоку мови Power Query

Рекомендації щодо потоку мови Power Query

У цьому підручнику обговорюватиметься технологія Power Query Language Flow і те, як вона може допомогти створити гладкий і ефективний звіт із даними.

Спеціальні значки LuckyTemplates | Техніка візуалізації PBI

Спеціальні значки LuckyTemplates | Техніка візуалізації PBI

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

Створення таблиць LuckyTemplates за допомогою функції UNION & ROW

Створення таблиць LuckyTemplates за допомогою функції UNION & ROW

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

Локальний шлюз даних у Power Automate

Локальний шлюз даних у Power Automate

Дізнайтеся, як локальний шлюз даних дозволяє Power Automate отримувати доступ до настільних програм, коли користувач знаходиться поза комп’ютером.