Power Query エディター内の変数と式

このチュートリアルでは、 Power Query エディター内の変数と式について説明します。各let式には、let 句と in 句の2 つの部分と、変数名またはステップ識別子のカンマ区切りリストの 2 つの部分があることがわかります。また、これらのことが Power Query エディターでのデータ レポートの作成にどのように役立つかについても説明します。

目次

Let 式と M 言語を理解する

Let式使用すると、一連の式を連結して 1 つのより複雑な式を作成できます。変数は、数値、テキスト、日付、またはレコード、リスト、テーブルなどの構造データ型などの任意の型の値を格納するために使用されます。

ほとんどのクエリは、ステージング クエリとして使用できるテーブル、またはデータ モデルにロードできるテーブルを返します。クエリ名の横にあるアイコンは、クエリが返す値のタイプを示します。

クエリ エディター内のすべてのクエリは、単一のM式です。そのクエリが実行されると、式が評価されて値が返されます。値は、in 句の後に続くものによって決まります。in 句は、変数リスト内の任意の変数を参照することも、まったく参照することもできません。別のクエリを参照したり、式を含めたりすることもできます。

新しいクエリを追加するには、画面左側のクエリ ペインの空白スペースを右クリックします。次に、[新しいクエリ] をクリックし、[空のクエリ] を選択します。

Power Query エディター内の変数と式

「クエリ」セクションの「詳細エディタ」をクリックして、「詳細エディタ」ウィンドウを開きます。

Power Query エディター内の変数と式

新しいクエリが空白ではないことがわかります。

Power Query エディター内の変数と式

let句で始まり、その後に単一の変数ソースが続きます。この変数には、空のテキスト文字列を表す二重引用符であるリテラルが割り当てられています。また、 in句の後にソース変数名が続きます。

クエリ ペインを見ると、クエリ名の前に ABC アイコンが表示され、クエリがテキスト値を返すことがわかります。

Power Query エディター内の変数と式

単純な変数と式の使用

この例では、変数としてAを入力し、等号を使用して値または式を変数に割り当てることにより、[詳細エディター] ウィンドウで単純な構文を作成します。

Power Query エディター内の変数と式

新しい変数を作成または追加するには、最初の変数の末尾にカンマを入れて Enter キーを押します。次の行では、新しい変数を入力できます。

Power Query エディター内の変数と式

値や式を割り当てるだけでなく、変数リスト内の変数を割り当てることもできます。

Power Query エディター内の変数と式

最後の変数を入力した場合は、最後にカンマを入れる必要はありません。Enter キーを押して in 句を入力するだけです。この例では、 in 句の後にCを入力すると、 Cの値が返されます。

Power Query エディター内の変数と式

[完了]を押すと、数式バーの式の結果である数値 6 が得られます。

Power Query エディター内の変数と式

クエリ名の横にあるアイコンが数値データ型を表す 123 アイコンに置き換えられるため、結果は数値になります。

Power Query エディター内の変数と式

変数とステップ識別子の名前付け

変数名にスペースが含まれる場合は、変数名を二重引用符で囲み、その前にハッシュ記号またはシャープ記号を付ける必要があります。二重引用符はテキスト値用に予約されています。

ハッシュ記号とポンド記号を区別するには、画面の右側にある[適用されたステップ] ペインでステップの名前を変更します。Bを右クリックし、[名前の変更] を選択して、var Bという名前を付けます。

Power Query エディター内の変数と式


その後、高度なエディター ウィンドウに戻ります。Power Queryが使用または参照されたすべての場所で、B の名前をvar Bに自動的に変更することがわかります。

Power Query エディター内の変数と式

これは、[適用されたステップ] ペインでステップの名前を変更する場合にのみ使用できます。[詳細エディター] ウィンドウでステップの名前を変更する場合は、その変数が参照されていたすべての場所も手動で更新する必要があります。[詳細エディター] ウィンドウには検索と置換のオプションがありません。

この例では、変数名をBに戻して [完了] をクリックすることを忘れないでください。

LuckyTemplates Desktop での変数と式の再作成

[詳細エディター] ウィンドウ内のコードの構造は、DAX でのコードの記述方法と似ています。

両方を比較してみてください。[ホーム]タブに移動し、[閉じて適用]を選択します。LuckyTemplates デスクトップに移動したら、[ホーム] タブに移動し、[データの入力]を選択してメジャーを作成します。

Power Query エディター内の変数と式

「テーブルの作成」ポップアップで「ロード」をクリックします。

Power Query エディター内の変数と式

次に、[フィールド] ペインでテーブルを右クリックし、[新しいメジャー]を選択します。

Power Query エディター内の変数と式

数式バーで、M言語から同じコードを再作成します。変数インデックスを開始するには、VARステートメントを使用する必要があります。その後、変数とその値を書き込むことができます。DAX では、変数にアクセスするにはRETURNステートメントを使用する必要があります。したがって、最後の変数の後にRETURNを入力し、C を入力して式の結果を返します。

Power Query エディター内の変数と式

次に、カード ビジュアライゼーションを追加し、作成したメジャーを選択します。Mの結果と同じ数値が表示されます。

Power Query エディター内の変数と式

数式バー内の変数の順序を変更すると、カードでエラーが発生します。

Power Query エディター内の変数と式

Power Query エディター内の変数と式

DAX 変数を扱うときは順序が重要です。まだ宣言されていない変数を呼び出すことはできません。

ただし、 Mコード内の順序を変更しても、結果は得られます。

Power Query エディター内の変数と式

この式は、C を評価するには、変数 A と B の値がわかっていなければならないことを示しています。これは依存関係の順序付けの例です。

Mエンジンは、式によって提供される依存関係の順序に従いますが、残りの計算はすべて、選択した順序で自由に実行できます。

M クエリとコードを理解する

ユーザー インターフェイスを使用してコードを生成しているため、すべてのMクエリは手続き型コードのように見えます。各変換ステップは前のステップから返された値に基づいて構築されるため、常に連続的に見えます。

Mエンジンにとって重要なことは、in 句からたどることができる依存関係チェーンです。クエリ エンジンはクエリを最初から順に評価するのではなく、最後から逆に評価します。

なぜエンジンはそのようなことをするのでしょうか?まず、クエリが評価されると、過去を振り返り、不要なものをすべて削除しようとします。使用されない値は評価されず、無視されます。これは、遅延評価と呼ばれるプロセスです。

次に、実行中のすべての変換を調べて、その作業をできるだけソース システムにプッシュしようとします。このプロセスは、クエリ フォールディングと呼ばれます。どちらのプロセスも、クエリのパフォーマンスを向上させる上で重要な役割を果たします。

最後に覚えておくべきことは、ほとんどの場合、[適用されたステップ] ペインにすべての変数名またはステップ識別子が表示されるということです。Mコードが順序どおりに記述されていない場合、式は次のように 1 つの結合されたステップとして表示されます。

Power Query エディター内の変数と式

この問題は、手順の順序を変更することで簡単に修正できます。変数Cを変数Bの一番下に戻し、「完了」をクリックします。[適用されたステップ] ペインにステップ名が再び表示されます。

Power Query エディター内の変数と式

結論

変数と重要な関数を使用した DAX クエリ
LuckyTemplates の数式構文、コメント、変数
LuckyTemplates での変数の使用 – 詳細な例

変数と式は、Power Query エディター内で理解する必要がある最も重要なものの 1 つです。どちらもレポート内のデータと情報を生成します。彼らは結果を取得して生み出すためにさまざまなデータを収集します。

メリッサ

Leave a Comment

Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。