クエリエディターの関数クエリと演算子

クエリエディターの関数クエリと演算子

このチュートリアルでは、クエリ エディターの関数クエリ機能について説明します。関数クエリを使用して最大化し、必要な結果とデータを取得する方法を学びます。また、これらが演算子とどのように連携して特定の結果を生成するかについても理解できます。

目次

関数クエリの作成

Power Query を使用すると、ユーザーは一連の引数を 1 つの値にマップするカスタム関数を定義できます。実際に行うには、クエリ ペイン内のスペースを右クリックします。次に、[新しいクエリ] をクリックし、[空のクエリ] を選択します。

クエリエディターの関数クエリと演算子

次に、[詳細エディタ] ウィンドウを開き、その内容をすべて削除します。カスタム関数を構築したい場合は、一連のかっこから始める必要があります。次に、括弧内にパラメータのカンマ区切りリストを定義します。その後、等号と大なり記号の組み合わせである移動記号を入力し、その後に関数本体を入力します。

この例では、パラメーターはabで、関数本体はa + bです。クエリにAdd2Values という名前を付けます。

クエリエディターの関数クエリと演算子

関数クエリは次のようになります。

クエリエディターの関数クエリと演算子

クエリ ペインのクエリ名の横に、関数クエリであることを示すfxアイコンが表示されます。

クエリエディターの関数クエリと演算子

関数を呼び出すには、各パラメータの値を入力し、Invoke を押します。

クエリエディターの関数クエリと演算子

Invoke を押すと、設定されたパラメーターの結果を含むInvoked Functionという新しいクエリが作成されます。数式バーでは、関数クエリを名前で参照し、パラメーターの値を割り当てていることもわかります。

クエリエディターの関数クエリと演算子

異なる列から値を追加するには、同じ関数クエリを使用することもできます。新しいクエリを作成し、詳細エディターウィンドウを開きます。次に、次のコードを入力して小さなテーブルを作成します。

クエリエディターの関数クエリと演算子

クエリエディターの関数クエリと演算子

カスタム関数クエリの呼び出し

テーブルの各行でカスタム関数を呼び出すには、「列の追加」タブに移動して「カスタム関数の呼び出し」を選択します。

クエリエディターの関数クエリと演算子

もう 1 つの方法は、プレビューの左上隅にあるミニテーブル アイコンをクリックし、[カスタム関数の呼び出し] を選択することです。

クエリエディターの関数クエリと演算子

「カスタム関数の呼び出し」をクリックすると、ダイアログボックスが表示されます。列名として「AddValues」と入力し、関数クエリとして「Add2Values」を選択します。次に、各パラメータの値を設定します。

この例では、値は列 1 と列 2 にあります。

クエリエディターの関数クエリと演算子

新しい列がテーブルに追加されたことがわかります。列内の値は、列 1 と列 2 の行値の合計です。

クエリエディターの関数クエリと演算子

引数の削除

数式内の引数の 1 つを削除すると、新しい列内の値は Error を生成します。この例では、Column2が数式から削除されます。

クエリエディターの関数クエリと演算子

エラー値の横のスペースをクリックすると、プレビュー ペインの下にエラー メッセ��ジが表示されます。

クエリエディターの関数クエリと演算子

カスタム関数には必須のパラメーターのセットがあり、これを使用してオプションの関数パラメーターを作成できます。

次のステップでは、 Add2Values関数クエリに戻り、詳細エディター ウィンドウを開きます。次に、括弧内にオプションのキーワードを追加し、「完了」をクリックします。

クエリエディターの関数クエリと演算子

SumExample Table Queryに戻ると、最後の列の Error 値が null 値に変わっていることがわかります。null を含む値に演算子を適用すると、常に null が返されます。

クエリエディターの関数クエリと演算子

もう 1 つ注意すべき点は、関数クエリは任意の型の引数を受け入れることです。これにより、テキスト値を渡して別のエラーが発生する可能性があるため、問題が発生する可能性があります。加算演算子は、そのデータ型のオペランドには適用できません。

[詳細エディター] ウィンドウで、キーワードをとして追加することで関数を入力できます。パラメータを入力する以外に、括弧の後に戻り値の型を関数に割り当てることもできます。

クエリエディターの関数クエリと演算子

引数の追加

追加する引数が多すぎると、エラー値も取得されます。数式バーの列 2 と列 3 を入力すると、最後の列にエラー値が表示されます。

クエリエディターの関数クエリと演算子

もう一度、エラー値の横のスペースをクリックすると、プレビュー ペインの下にエラー メッセージが表示されます。

クエリエディターの関数クエリと演算子

このような状況に対処するのに役立つM 関数があります。まず、新しい空のクエリを作成し、数式バーに Function.From 関数を入力します。その後、関数のドキュメントが表示されます。

クエリエディターの関数クエリと演算子

デモを行うには、Add2Values関数クエリを複製し、詳細エディター ウィンドウを開きます。次に、構文の先頭にFunction.Fromを入力します。

第一引数には関数の種類として関数を入力します。2 番目の引数に「List.Sum」と入力して値を合計し、リストを返します。完了したら、「OK」をクリックし、クエリの名前をAddValuesに変更します。

クエリエディターの関数クエリと演算子

次に、 SumExampleテーブル クエリに戻り、関数クエリをAddValuesに変更します。AddValues 列に、列の各行の値の合計が含まれていることがわかります。

クエリエディターの関数クエリと演算子

関数型で 2 つのパラメーターのみが宣言されている場合でも、必要な数の引数を指定して関数を呼び出すことができます。これは、すべての引数が関数に渡される前に 1 つのリストにマージされるためです。

パラメータにどのような名前を付けるかは重要ではありません。

Function.From内でカスタム関数を作成しており、項目を参照する必要がある場合は、位置インデックス演算子を使用してリスト内の項目にアクセスする必要があります。

単項関数を理解する

単項関数は、常に目にする関数です。標準ライブラリ関数の多くは関数を引数として受け取り、それらのパラメーター関数は多くの場合単項です。これは、関数が引数を 1 つだけ取ることを意味します。

例として、新しい空のクエリを作成してフィルターのサンプル クエリを追加します。次に、Advanced Editor ウィンドウを開き、次の構文を入力します。

クエリエディターの関数クエリと演算子

完了すると、プレビュー ペインに CustomerID 列と Name 列を含むテーブルが表示されます。クエリにFilterExampleという名前を付けます。

クエリエディターの関数クエリと演算子

関数クエリでのコードの記述

ユーザー インターフェイスを使用してコードを生成する代わりに、自分でコードを作成することもできます。顧客 ID が 2 より大きい行を選択する場合は、数式バーの横にある[fx]をクリックしてステップを手動で入力します。Power Query は、[適用されたステップ] ウィンドウの最後のステップの変数名を自動的に返します。

次に、Table.SelectRows関数とその引数を数式バーに入力します。最初の引数と 2 番目の引数は、それぞれテーブルと関数としての条件である必要があります。この例では、最初の引数は ChType で 2 番目の引数は 2 より大きい顧客 ID を取得するカスタム関数です。

クエリエディターの関数クエリと演算子

もう 1 つの方法は、単項関数の短縮形であるeachキーワードを使用することです。単一の名前のない変数を引数として受け取り、アンダースコア ( _ ) で表されます。実際に使用するには、[詳細エディター] ウィンドウを開いてカスタム関数を変更します。

クエリエディターの関数クエリと演算子

「完了」を押すと、同じ結果が生成されることがわかります。

クエリエディターの関数クエリと演算子

数式を読みやすくするために、フィールドまたは列にアクセスするときにアンダースコアを省略できます。

クエリエディターの関数クエリと演算子

[詳細エディター] ウィンドウに戻ってカスタム関数のアンダースコアを削除しても、同じ結果が返されます。

クエリエディターの関数クエリと演算子

すべての式は互いに等しい。しかし、読みやすさと書きやすさの観点から見ると、最後のバージョンの方が間違いなく理解しやすいです。ユーザー インターフェイスを通じてこのステップを作成する場合、Mエンジンは短縮表記を使用します。


日付テーブルの M 関数 – クエリ エディターでパラメーターを追加する方法
Power Query でカスタム テキスト クリーニング関数を作成する

結論

関数クエリは関数を利用および最大化してデータを取得します。これらは、表またはソースから特定の情報を取り出したり収集して結果を提供するのに役立ちます。これらの機能を使用すると、データ レポートを効果的に作成し、データ開発スキルを向上させることができます。

メリッサ


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 ゲートウェイとは何ですか? 知っておくべきことすべて