Списки в Power Query - як, коли і чому БЛОГ САМОСЕРВІСУ-BI

Мова M має так звані структуровані значення, до яких належать списки, записи та таблиці. Кожен тип значень має певні цілі, і ця публікація призначена для вступу до списків. Цей допис є частиною серії про списки, записи та таблиці в М. Я включив кілька знімків екрану з кодом М у цей пост. Ви можете завантажити код зі скріншотів у вигляді файлу txt тут. Для завантаження не потрібен пароль. Якщо вас все ще запитують пароль OneDrive, змініть браузер на Edge.

У М існує два типи значень: примітивні та структуровані значення. Прикладами примітивних значень є:

  • „А“,
  • 1,
  • правда.

Вони примітивні таким чином, що не вибиваються з інших цінностей. На відміну від примітивних значень, ми маємо так звані структуровані значення в M, які складаються з інших значень, примітивних та структурованих. Список є одним із таких структурованих значень (інші - це записи та таблиці), і він описується як „упорядкована послідовність значень“. Визначений список вводиться з фігурною фігурною дужкою, що відкривається. Навіть якщо списки може бути порожній (це виглядає так „<>“), списки є не обмежена в розмірах, оскільки M підтримує нескінченно великі списки.

Прикладом дуже простого представника списку є:

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

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

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

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

Давайте подивимось, як створювати списки.

Список у М зазвичай має початок і кінець, і, на мій досвід, вони є 3 шляхи в М щоб створити список:

1. Використання синтаксису ініціалізації списку за допомогою фігурних дужок

Ви можете визначити список, скориставшись фігурною дужкою, що відкривається, «списком предметів» і закінчити його фінальною фігурною дужкою «>». Найпростіший список - це порожній список.

Порожні списки

порожній список - найпростіший з усіх списків, в якому список елементів порожній:

Прикладом практичного використання порожнього списку є, наприклад, створення таблиці в моделі даних Power BI, яка містить лише міри. На відміну від порожньої таблиці, створеної в Power Query (яку ви можете створити так: = #table (<>, <>)), яка просто не відображається в моделі даних, порожній список імпортується у вигляді таблиці у модель даних з одним стовпцем і без рядків. Просто сховайте отриманий стовпець у моделі даних і використовуйте цю порожню таблицю як таблицю мір.

списки
Створення таблиці мір за допомогою порожнього списку в M

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

Списки з розділеними комами елементами

Для створення непорожній list, я можу додати до списку значення, відокремлені комами, будь-якого типу наступним чином:

Створення непустого списку вручну

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

Списки із суміжними номерами

Наприклад, якщо я хочу створити список, який відображає цілий числа від 1 до 100, Мені не потрібно вручну додавати всі ці номери до списку. Натомість є наступне скорочення:

Якщо, наприклад, я хотів би, щоб були вказані цілі числа від 1 до 100, але номер 48 має бути виключено, тоді це працює наступним чином:

Така послідовність суміжних значень не повинна мати більше 2 ^ 31 (2.147.483.647) значень. Наприклад, подивіться на наступне визначення списку:

Через те, що тут вказано діапазон чисел, більший за 2 147 483 647, повертається таке повідомлення про помилку:

Суміжні числа не повинні бути невизначено великими

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

Синтаксис „.“ для суміжного діапазону цілих чисел також можна застосувати до символів.

Списки із суміжними символами

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

Тоді результат виглядає наступним чином:

Можливо, не дивно, що Power Query „знає”, що після „a” постає „b”, але подивіться на список та його результат:

Між літерами „Z“ та „a“ також є ряд спеціальні символи. Отже, що лежить в основі цього списку, і це порядок сортування?

Списки символів базуються на Unicode

Символ функції M.ToNumber () відкриває секрет:

Списки символів базуються на Unicode