Мова формул 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)

     

Проста користувацька функція, приклад

Середній рівень Power Query в Excel

Параметри запиту

  • Плейсхолдери для динамічної передачі значень у запит
    • Роблять запити гнучкішими й придатними до повторного використання
      • Динамічні фільтри
      • Користувацькі функції

Рука налаштовує повзунки, змінюючи параметри застосунку на екрані. Персоналізація інтерфейсу перемикачами

Середній рівень Power Query в Excel

Давайте потренуємось!

Середній рівень Power Query в Excel

Preparing Video For Download...