Язык формул M

Средний уровень Power Query в Excel

Lyndsay Girard

Performance Analytics Consultant

Расширенный редактор

  • Написан на языке формул M (M-код)
    • Чувствителен к регистру
  • Выражения Let состоят из двух частей:
    • Блоки "let" и "in"
    • Список имён переменных или идентификаторов шагов через запятую.
      • Каждый шаг ссылается на предыдущий по имени
    • Шаг после блока "in" — это видимый результат запроса
let
    Source = ""
in
    Source
Средний уровень Power Query в Excel

Расширенный редактор

let
    MyTable = Table.FromRecords({
    [ID = 1, Name = "A", Result = 10],
    [ID = 2, Name = "B", Result = 5]})
in
    MyTable

Выражение Let с 1 шагом

Средний уровень Power Query в Excel

Расширенный редактор

let
    MyTable = Table.FromRecords({
    [ID = 1, Name = "A", Result = 10],
    [ID = 2, Name = "B", Result = 5]}),
    #"Sorted Rows" = Table.Sort(MyTable,{{"Result", Order.Ascending}})
in
    #"Sorted Rows"

Выражение Let с двумя шагами

Средний уровень Power Query в Excel

Расширенный редактор

let
    MyTable = Table.FromRecords({
    [ID = 1, Name = "A", Result = 10],
    [ID = 2, Name = "B", Result = 5]}),
    #"Sort" = Table.Sort(MyTable,{{"Result", Order.Ascending}}),
    #"Lower" = Table.TransformColumns(#"Sort",{{"Name", Text.Lower, type text}})
in
    #"Lower"

Выражение Let с тремя шагами

Средний уровень Power Query в Excel

Типы значений

Примитивный

  • Одиночное значение (например, число, логическое, текст или null)
    [ID = 1, Name = "A"]
    

Структурированный

  • Список
  • Запись
  • Таблица
  • Функция
Средний уровень Power Query в Excel

Структурированные типы значений

Список:

  • Упорядоченная последовательность значений с одним столбцом, индексируемая с нуля
    List = {1,2,3}
    

Запись:

  • Структура с одной строкой и несколькими столбцами
    Record = [Column1=1,Column2=2]
    

Таблица:

  • Сочетание нескольких строк и нескольких столбцов
    Table = #table({"Column A","Column B"},
          {{1,10},{2,20}})
    
Средний уровень Power Query в Excel

Встроенные функции M

Функция:

  • Значение, которое при вызове с аргументами возвращает новое значение.
  • Функции таблиц
  • Функции списков
  • Функции чисел
  • Функции записей
  • Функции дат
  • Функции времени
  • Функции длительностей
  • ... и многое другое!
1 https://learn.microsoft.com/en-us/powerquery-m/power-query-m-function-reference
Средний уровень Power Query в Excel

Пользовательские функции

  • Сложные вычисления
  • Повторное использование
  • Параметризация
  • Оптимизация производительности

 

  Синтаксис пользовательской функции:

= (Variable as Data Type, Variable as Data Type) => (Output Expression)
Средний уровень Power Query в Excel

Пользовательские функции

Простой пример пользовательской функции:

let
    MyFunction = (x) => x + 1
in
    MyFunction(10)

     

Ch3_simple_custom_function.png

Средний уровень Power Query в Excel

Параметры запроса

  • Заполнители для динамической передачи значений в запрос
    • Делают запросы более гибкими и пригодными для повторного использования
      • Динамические фильтры
      • Пользовательские функции

Рука регулирует ползунки, изменяя настройки приложения на экране. Настройка интерфейса с помощью переключателей

Средний уровень Power Query в Excel

Давайте потренируемся!

Средний уровень Power Query в Excel

Preparing Video For Download...