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

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 つです。どちらもレポート内のデータと情報を生成します。彼らは結果を取得して生み出すためにさまざまなデータを収集します。

メリッサ


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて