Як динамічно об’єднати стовпці в таблиці Power Query

У цьому підручнику ми розглянемо цікаве питання, яке було порушено напро те, як динамічно об’єднати змінну кількість стовпців у таблиці Power Query. Ви можете переглянути повне відео цього підручника внизу цього блогу.

У цьому сценарії йдеться про експорт необроблених даних, у результаті чого дані потрапляють у невідому кількість сусідніх стовпців. Коли ви дивитеся на приклад, ви можете бачити, що опис перекинувся в стовпець 4, а опис 2 було розділено на два сусідні стовпці. Але так буде не завжди. У наступному циклі ця кількість стовпців може змінитися.

Як динамічно об’єднати стовпці в таблиці Power Query

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

Зміст

Power Query Table M Code

Існує кілька способів об’єднати стовпці. Перший – вибрати стовпець опису та натиснути клавішу Shift або Control, а потім вибрати також стовпець 4. Потім клацніть правою кнопкою миші та виберіть «Об’єднати стовпці» .

Як динамічно об’єднати стовпці в таблиці Power Query

Або навиберіть об’єднати стовпці . З’явиться діалогове вікно, у якому можна вибрати роздільник.

Як динамічно об’єднати стовпці в таблиці Power Query

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

Як динамічно об’єднати стовпці в таблиці Power Query

У рядку формул ми бачимо код M, створений цим кроком перетворення.

Як динамічно об’єднати стовпці в таблиці Power Query

Якщо панель формул не відображається на екрані, перейдіть на вкладку «Перегляд» і ввімкніть її.

Як динамічно об’єднати стовпці в таблиці Power Query

Тож функція, яку Power Query використовує для об’єднання стовпців, — Table.CombinedColumns . Перший параметр, який він приймає, це таблиця. Цю таблицю повертає попередній крок у нашому коді, тому в Застосованих кроках ви побачите, що це називається Source .

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

Як динамічно об’єднати стовпці в таблиці Power Query

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

Як динамічно об’єднати стовпці в таблиці Power Query

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

Об’єднання змінної кількості стовпців у таблиці Power Query

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

Як динамічно об’єднати стовпці в таблиці Power Query

А щоб отримати назви стовпців у рядку формул, я можу додати Table.ColumnNames . Ця функція повертає список із усіма назвами стовпців із цієї таблиці. Давайте знову перетворимо це на таблицю, натиснувши «До таблиці» .

Як динамічно об’єднати стовпці в таблиці Power Query

У цьому спливаючому вікні натисніть OK.

Як динамічно об’єднати стовпці в таблиці Power Query

Потім на вкладці «Додати стовпець » я виберу «Формат» , а потім «Обрізати» .

Як динамічно об’єднати стовпці в таблиці Power Query

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

Як динамічно об’єднати стовпці в таблиці Power Query

Тож у рядку формул, замість Text.Trim , ми можемо сказати if Text.StartsWith , а потім вказати його на наш стовпець 1 , і я негайно скопіюю це. Йому потрібен текст, який ми шукаємо, тож це буде Стовпець. Отже, якщо він починається з текстового стовпця, ми хочемо «null» — для всього іншого ми хочемо все, що є в стовпці 1. Ми також можемо перейменувати цей стовпець, тож у рядку формул, замість Trim, назвемо його GroupColumn .

Як динамічно об’єднати стовпці в таблиці Power Query

Тепер все, що нам потрібно зробити, це заповнити їх цими значеннями. Тому я клацну правою кнопкою миші свій заголовок, виберу «Заповнити » та «Вниз» .

Як динамічно об’єднати стовпці в таблиці Power Query

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

Як динамічно об’єднати стовпці в таблиці Power Query

Давайте перейменуємо цей запит, я назву його групи стовпців.

Як динамічно об’єднати стовпці в таблиці Power Query

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

Як динамічно об’єднати стовпці в таблиці Power Query

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

Як динамічно об’єднати стовпці в таблиці Power Query

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

Як динамічно об’єднати стовпці в таблиці Power Query

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

Як динамічно об’єднати стовпці в таблиці Power Query

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

Як динамічно об’єднати стовпці в таблиці Power Query

Тепер ми можемо повернутися до запиту Result і замінити другий аргумент нашим динамічним списком. Отже, тут ми можемо посилатися на наш ListDescr .

Як динамічно об’єднати стовпці в таблиці Power Query

Давайте повторимо це також для опису 2. Я перейду до свого запиту ColumnGroups. Я створю ще одне посилання та виберу потрібні мені стовпці. Тоді я відфільтрую опис 2, який поверне ці три стовпці. Я клацну правою кнопкою миші свій заголовок і виберу «Деталізація», а також перейменую цей запит ( ListDescr2 ).

Потім я повернуся до свого запиту результатів, виберу стовпець Опис2 і натисну клавішу shift або control, щоб також вибрати наступний стовпець (стовпець2). Я клацну правою кнопкою миші заголовок і виберу.

Як динамічно об’єднати стовпці в таблиці Power Query

У спливаючому вікні я виберу вкладку як роздільник і назву це Опис2.

Як динамічно об’єднати стовпці в таблиці Power Query

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

Як динамічно об’єднати стовпці в таблиці Power Query




Висновок

У цьому блозі я показав вам, як використовувати коди M у Power Query для динамічного об’єднання стовпців. Це неважко, якщо ви знайомі з тим, як працює Power Query і які коди M використовувати.

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

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

Меліса


Як використовувати запит природною мовою (Q&A) у LuckyTemplates

Як використовувати запит природною мовою (Q&A) у LuckyTemplates

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

Динамічно сортуйте візуалізації у звітах LuckyTemplates

Динамічно сортуйте візуалізації у звітах LuckyTemplates

Дізнайтеся, як динамічно сортувати візуалізації у звітах LuckyTemplates. Отримуйте якісну статистику, творчо підходячи до представлення даних.

Поле пошуку PowerApps: як додати та налаштувати

Поле пошуку PowerApps: як додати та налаштувати

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

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Збирайте або фіксуйте значення в мірі для повторного використання в іншій мірі для динамічних обчислень за допомогою SELECTEDVALUE DAX у LuckyTemplates.

Історія версій у списках SharePoint

Історія версій у списках SharePoint

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

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

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

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

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

Таблиці пропорцій і частот в Excel

Таблиці пропорцій і частот в Excel

Збирався зануритися в частотні таблиці в Excel, а також у таблиці пропорцій. Добре подивіться, що це таке і коли їх використовувати.

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Дізнайтеся, як завантажити та інсталювати DAX Studio та Tabular Editor 3 і як налаштувати їх для використання в LuckyTemplates і Excel.

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

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

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