Power Query 関数名の直接参照は不可、クエリ名で参照

PowerQuery

はじめに

Power Queryでは、クエリ内で定義された関数名を直接参照することはできません。クエリ名を使ってそのクエリの結果を取得し、その結果が関数であれば、その関数を呼び出すことができます。

具体例

関数を定義したクエリ (Func1)

let
    func = (param1 as text, param2 as text) => param1 & param2
in
    func

関数を呼び出すクエリ (CallFunc)

let
    // 関数を定義したクエリを参照
    Source = Func1,
    // 関数を呼び出す
    Result = Source("Hello", "World")
in
    Result

CallFunc クエリでは Func1 を参照し、その結果を Source に格納してから関数を呼び出しています。

クエリ名と関数名が違って良い

let
    // 関数を定義したクエリを参照
    Source = Func1,
    // 関数を呼び出す
    Result = Source("Hello", "World")
in
    Result

上記のコードをFunc1という名前で保存し、クエリ名と関数名を分けて管理することができます。クエリ名はFunc1ですが、実際に呼び出される関数はfuncです。

注意点

Power Queryでは、クエリ名を使って関数を参照し、その関数を呼び出すことができます。これにより、クエリ名と関数名を分けて管理することも可能です。ただし、実務的にはクエリ名と関数名は一致させておいた方が管理上はよいかなと思います。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました