Настроювані функції запиту LuckyTemplates

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

Це продовження підручника, який я нещодавно зробив, де ми мали справу зі звичайним форматом складених даних, складним для обробки, і використовували Modulo, Pivot і деякі функції очищення з Power Query, щоб перетворити ці дані в упорядкований і функціональний формат.

Настроювані функції запиту LuckyTemplates

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

Зміст

Як створити та налагодити спеціальні функції запиту LuckyTemplates

Перейдемо до Power Query. Якщо ми перейдемо до нашої таблиці даних у розширеному редакторі, ми отримаємо код М, який показує, як ми завершили перехід від цих стекових даних до потрібного формату.

Настроювані функції запиту LuckyTemplates

Якщо ми хочемо повторно використати це, просто клацніть правою кнопкою миші на Даних і скажіть «Створити функцію» .

Настроювані функції запиту LuckyTemplates

Там сказано, що він не посилатиметься на жодний параметр, але можна створити функцію без параметрів. Ми збираємося відповісти «Так», тому що ми збираємося додавати параметри під час переходу до розширеного редактора. Ми назвемо цю функцію Unstack – 3 Elements лише тому, що у нас є три рядки в необробленому форматі. Якби у нас був дворядковий формат, ми, ймовірно, створили б окремий, який складався б із двох або чотирьох елементів.

Настроювані функції запиту LuckyTemplates

Отже, у нас є цей Invoke, у нас немає параметрів, і давайте перейдемо до Advanced Editor і почнемо працювати над цим.

Настроювані функції запиту LuckyTemplates

По-перше, нам не потрібне це Джерело. Ми будемо використовувати параметри функції, щоб визначити наше джерело.

Настроювані функції запиту LuckyTemplates

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

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

Настроювані функції запиту LuckyTemplates

Ми назвемо це ConvertStack і буде використовувати функцію під назвою Table.FromList . Як і багато інших функцій M, вона робить саме те, що написано. Для цього потрібен лише список. У цьому випадку список буде нашим списком стеків. А потім нам потрібно замінити Source на наш ConvertStack. Виглядає досить добре! У нас немає синтаксичних помилок, тож натискаємо «Готово».

Тепер він дає нам те, що ми хотіли, тобто можливість вибирати стовпець.

Настроювані функції запиту LuckyTemplates

Потім ми виберемо TestData, тобто неправильно відформатовані дані. Ми виберемо стовпець «Значення» та натиснемо «ОК». Після цього натискаємо Викликати.

Настроювані функції запиту LuckyTemplates

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

Настроювані функції запиту LuckyTemplates

Замість запуску цього на даний момент як функції, ми запустимо це як запит. Ми просто збираємося вручну ініціювати цей виклик Stack. Ми повинні визначити, що таке стек, оскільки ми не малюємо його через взаємодію вибору в Invoke. Отже, ми маємо Stack, що дорівнює TestData, і стовпець Value TestData.

Настроювані функції запиту LuckyTemplates

Тепер він розбиває його на прикладні кроки. Це допоможе нам зрозуміти, чому це не працює. Зверніть увагу на одну цікаву річ, коли ми залучаємо Stack. Спочатку він залучає TestData[Value], але коли ми перетворюємо його на таблицю, замість Value є заголовок стовпця, заголовок стовпця тепер Column1.

Настроювані функції запиту LuckyTemplates

Пам’ятайте повідомлення про помилку: воно не може знайти стовпець «Значення». Причина, чому він не може знайти стовпець Value, полягає в тому, що функція Table.FromList перейменовує його на Column1.

Якщо ми перейдемо до Applied Steps, ви побачите, що саме на Added Custom крок ми отримуємо помилку. Тут значення запису не знайдено.

Настроювані функції запиту LuckyTemplates

Отже, якщо ми перейдемо до розширеного редактора, ми знайдемо це поле Custom, і ми побачимо, що воно знаходиться в Text.Remove, де ми видаляємо непотрібні символи, але вони все ще посилаються на поле Значення. Ми змінимо це на стовпець 1. Подібним чином у полі «Видалені стовпці» воно стосується значення, тому ми також змінимо його на стовпець 1.

Настроювані функції запиту LuckyTemplates

І коли ми підходимо до кінця Застосованих кроків, це дає ідеальний кінцевий результат.

Настроювані функції запиту LuckyTemplates

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

Настроювані функції запиту LuckyTemplates




Висновок

У цьому посібнику ми створили цю спеціальну функцію, налагодили її, протестували, і вона чудово працює. І тому тепер, коли у нас є триелементний стек, ми можемо просто вибрати цю таблицю, вибрати цей стовпець у таблиці та запустити ту спеціальну функцію. Потім застосуйте Modulo, unpivot і очистіть.

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

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


Труба в 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.

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

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

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