M 公式言語

中級 Power Query in Excel

Lyndsay Girard

Performance Analytics Consultant

詳細エディター

  • M 公式言語(M コード)で記述
    • 大文字小文字を区別
  • let 式は2部構成
    • 「let」と「in」節
    • 変数名またはステップ名のカンマ区切り一覧
      • 各ステップは直前のステップ名を参照して構築
    • 「in」節の後に記すステップがクエリ出力
let
    Source = ""
in
    Source
中級 Power Query in Excel

詳細エディター

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

1 ステップの let 式

中級 Power Query in 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"

2 ステップの let 式

中級 Power Query in 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"

3 ステップの let 式

中級 Power Query in Excel

値の型

プリミティブ

  • 単一要素の値(数値、論理、テキスト、null など)
    [ID = 1, Name = "A"]
    

構造化

  • リスト
  • レコード
  • テーブル
  • 関数
中級 Power Query in Excel

構造化された値の型

リスト:

  • 0 始まりの順序付き1列シーケンス
    List = {1,2,3}
    

レコード:

  • 1 行・複数列の構造
    Record = [Column1=1,Column2=2]
    

テーブル:

  • 複数行・複数列の組み合わせ
    Table = #table({"Column A","Column B"},
          {{1,10},{2,20}})
    
中級 Power Query in Excel

M の組み込み関数

関数:

  • 引数で呼び出すと新しい値を生成する値
  • テーブル関数
  • リスト関数
  • 数値関数
  • レコード関数
  • 日付関数
  • 時刻関数
  • 期間関数
  • ほか多数
1 https://learn.microsoft.com/en-us/powerquery-m/power-query-m-function-reference
中級 Power Query in Excel

カスタム関数

  • 複雑な計算
  • 再利用性
  • パラメータ化
  • パフォーマンス最適化

 

  カスタム関数の構文:

= (Variable as Data Type, Variable as Data Type) => (Output Expression)
中級 Power Query in Excel

カスタム関数

簡単なカスタム関数の例:

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

     

Ch3_simple_custom_function.png

中級 Power Query in Excel

クエリ パラメーター

  • クエリに動的に値を渡すためのプレースホルダー
    • クエリを柔軟・再利用可能にする
      • 動的フィルター
      • カスタム関数

スライダーを調整してアプリ設定を変更する手。トグルで UI をカスタマイズ

中級 Power Query in Excel

Let's practice!

中級 Power Query in Excel

Preparing Video For Download...