Начало работы с M в Power Query
Начало работы с M в Power Query
Если вы сошли с ума, когда впервые открыли расширенный редактор в Power Query, не волнуйтесь, нас двое.
В этой заметке я помогу вам понять устройство и основы языка M в Power Query, чтобы вы не испугались, когда в следующий раз откроете Advanced Editor.
Начало работы с языком M в Power Query – видео
Мы поговорим о трех важных аспектах языка M – синтаксис, пример запроса и объекты Power Query (например, таблицы, списки, записи и т.д.).
#1 Синтаксис языка M Power Query
Я работаю с простым запросом, состоящим из 3 шагов.
В расширенном редакторе запрос выглядит следующим образом.
Обратите внимание, что каждый шаг в запросе Power Query служит входом для следующего шага.
- Урок 1 – Каждый шаг в Power Query подобен переменной
- В этих переменных хранятся выходные данные этого шага. Этот результат может быть таблицей, списком, функцией, значением и т.д., которые вы можете затем вызвать в любом другом шаге запроса.
- Если имена шагов содержат пробелы, они должны быть заключены в двойные кавычки, перед которыми ставится символ хэша (#), как показано на рисунке. Смотрите шаг #”Отфильтрованные строки”.
Выходные данные остаются прежними
- Урок 5 – Оценка запроса начинается снизу вверх, а не сверху вниз.
-
- Power query начнет оценивать запрос с последнего шага – #”Удаленные столбцы”.
- Чтобы оценить #”Удаленные столбцы”, сначала нужно оценить #”Отфильтрованные строки”.
- А чтобы оценить #”Отфильтрованные строки”, запрос должен оценить Источник.
- Таким образом, даже если запрос не следует последовательному порядку, оценка снизу вверх (также известная как ленивая оценка) будет оценивать каждый шаг, необходимый для вывода результата.
#2 Пример запроса
Давайте создадим простой трехшаговый запрос, который подсчитывает элементы списка и умножает их количество на произвольное число.
Вот как выполняются эти 3 шага.
- Мы определяем список и присваиваем его переменной mylist. Список определяется в фигурных скобках <>.
- List.Count подсчитывает элементы списка.
- Затем мы умножаем значение listcount на 2, чтобы получить результат 6.
Объекты #3 в языке M – таблицы, списки, записи, скаляры и функции
Таблицы – это двумерные объекты в запросе power, которые в идеале имеют несколько столбцов и строк. Таблицы могут быть определены вручную с помощью функции #table в Power Query.
Списки – это одностолбцовые структуры данных. Примечание – Одноколоночная таблица НЕ является списком.
Чтобы создать список вручную, используйте фигурные скобки <>. Простой список из 3 чисел выглядит следующим образом!
Чтобы извлечь список (т.е. столбец) из таблицы, мы пишем имя столбца в квадратных скобках перед именем таблицы.
Запись – это одна строка данных. Она содержит заголовки столбцов и значения строк. Для создания записи данных мы используем следующий синтаксис.
Для извлечения записи из таблицы мы можем использовать синтаксис, аналогичный приведенному ниже.
- Обратите внимание, что Power Query sta
- Функции – это встроенные формулы, которые можно использовать для преобразования таблиц, списков, записей или отдельных значений в Power Query.
Для просмотра всех функций в Power Query вы можете перейти в Документацию Microsoft или ввести #shared как новый шаг в строке формул.
При изучении функций сосредоточьтесь на входных параметрах и выходе функций.
Например, если нам нужно подсчитать количество строк нашей входной таблицы, мы используем функцию
Эта функция принимает таблицу в качестве входного аргумента (Source в нашем случае) и возвращает скалярное значение в качестве выходного.
Поэтому важно быть бдительным в отношении типов входных и выходных данных.
Подробнее о Power Query:
Автоматизация повторяющихся задач очистки данных с помощью Power Query
Комплексный курс по изучению Power Query для автоматизации всех рутинных и повторяющихся задач по очистке данных в Excel или Power BI