LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

日付テーブルの M コードをテーブル クエリに変換する方法を説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

M コードの経験があれば簡単に理解できるため、このチュートリアルの難易度は中級だと考えます。関連した経験がない場合は、ここで説明する概念を理解しやすくするために、まず M コードを調べることをお勧めします。

目次

呼び出される関数のクエリと日付テーブルのクエリ

これは、日付テーブル クエリと呼び出される関数クエリです。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

右側の [適用されたステップ] ペインを見ると、ステップが 1 つだけあります。そのクエリのソースが表示されます。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

したがって、この日付テーブルの M コードを開発する場合は、適用した変更を確認するために関数とテーブル クエリを切り替える必要があります。

これは、変更によって発生したエラーへの対処がより複雑になることを意味します。テーブル クエリ自体でエラーが発生するため、コード行を検索してエラーを修正する必要があります。

次のページは、関数の代わりにテーブルを返す日付クエリを示しています。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

右側の「適用されたステップ」を見ると、今回は複数のステップがリストされていることがわかります。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

つまり、日付テーブル M コードを開発すると、このテーブル クエリの変更結果がすぐに表示されます。

さらに重要なのは、変更によってエラーが発生した場合に、エラーの原因となったステップを簡単に特定できることです。これにより、問題の解決が容易になります。

M コードの適用

日付テーブルの M コードは、LuckyTemplates フォーラムにあります。これは、 M コード ショーケース内のトピック「拡張データ テーブル Power Query M 関数」の下にあります。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

M コードは一番上まであります。コード全体を強調表示してコピーします。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

次に、新しい空のクエリを作成します。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

高度なエディターを開いて、そのコードを貼り付けます。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

エラーが検出されていないことが確認されたので、「完了」をクリックします。

これの名前を変更して、Dates と名付けましょう。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

このクエリは関数を返しますが、必要なのはテーブルです。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

必要な変更を加えるために、詳細エディターに戻ります。

関数をテーブルに変換する

これが関数ではなくテーブルを返すようにするには、アドバンスト エディターで M コードにいくつかの変更を加える必要があります。

M コードを見ると、let ステートメントの数に基づいて、少なくとも 2 つの環境があることが簡単にわかります。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

各 let ステートメントには独自の in 句があり、下部にあります。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

これをテーブルにするには、この last in 句を削除するだけの方が簡単だと思うかもしれません。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

しかし、私はそんなつもりはありません。代わりに、最後の in 句の前に 2 つのスラッシュを追加してコメントアウトします。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

最初の let ステートメントでもこれを実行します。これにより、非アクティブになります。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

内側の let ステートメントの下に、パラメータを宣言するセクションを作成します。これらのパラメータをこのコードに渡す必要があるからです。

これらの変数を宣言する場所をマークします。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

次に、外側の let ステートメントから最初の変数をコピーし、スペースに貼り付けます。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

私のデータ セットでは、履歴データは 2017 年より遡ることはできません。そのため、StartDate 変数に値を渡すには、組み込みの日付を使用できます。1 月 1 日を入力し、行をカンマで終了します。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

次に、次の変数である EndDate をコピーして貼り付けます。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

EndDate には予測が必要であることはわかっています。だからこそ、この EndDate を常に来年の終わりにしたいのです。

M コード内に CurrentDate の変数がすでにあるので、それを参照します。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

ここでも、固有の日付を使用します。Date. Year を抽出し、CurrentDate を年の値 +1 として使用します。日付も12月31日にしたいです。

繰り返しますが、その行はカンマで終わります。

次の変数は、FYStartMonth というオプションのパラメーターです。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

したがって、その名前をコピーして貼り付けます。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

先ほど貼り付けた変数の下のFYStartMonthの下に赤い下線が表示されていることに注目してください。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

名前が一致しているからです。別々の環境にいたときは問題ありませんでした。ただし、単一環境内の変数名は一意である必要があります。これは、貼り付けたばかりの新しい変数の名前を変更する必要があることを意味します。

これをFYStartMonthと呼ぶ代わりに、FYStartMonthNumと呼ぶことにします。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

この変数には値を割り当てるつもりはないので、null を入れるだけです。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

変数の名前を変更したため、このパラメーターが参照されている場所でも名前を変更する必要があります。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

変数に戻り、最後にカンマを追加してその行を閉じます。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

次のパラメータはオプションの休日リストです。これもコピーして貼り付け、null として宣言します。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

WDStartNum についても同じことが当てはまります。これをコピーして貼り付けて、null として宣言します。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

日付テーブル コードの開始位置を示すために、ここに別のコメントを追加します。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

[完了] をクリックすると、クエリが正しい型を返すことがわかります。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

関数の代わりにテーブルができました。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

[適用されたステップ] ペイン内には、クエリを構成するすべてのステップも表示されます。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

日付テーブルに変更を加えたい場合は、リボンを使用して手順を変更または追加するのが簡単です。変更を加えるたびに、クエリの結果もすぐに表示されます。

テーブルクエリを関数に戻す

日付テーブルのクエリを関数に戻したいとします。M コード内でいくつかの点を調整するだけで、以前に行った変更を元に戻すことができます。

Advanced Editor に戻り、外側の let ステートメントの前にあるスラッシュを削除します。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

次に、in ステートメントの前にあるスラッシュを削除します。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

次に、先ほど追加した変数ブロックをコメントアウトします。そこで、ここにスラッシュとアスタリスクを追加します。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

変数ブロックの後にはアスタリスクとスラッシュが続きます。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

以前、FYStartMonthNum のためにこのコード行を変更したときのことを覚えていますか?

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

そのコード行をコピーします。次に、新しい行を追加して貼り付けます。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

最初のものをスラッシュアウトします (以前に変数名に変更を加えた場所です)。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

次に 2 つ目で、編集された変数名を見つけます。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

そして、それらをFYStartMonthに戻します。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する

[完了] をクリックすると、テーブル クエリが再び関数に変わります。

LuckyTemplates で日付テーブル関数をテーブル クエリに変換する


LuckyTemplates で動的日付クエリ テーブルを作成する: クエリ エディターのチュートリアル
LuckyTemplates で日付テーブルを作成する
Power Query 日付テーブルの動的な開始日と終了日を設定する

結論

繰り返しになりますが、特に関数をテーブル クエリに変換したり、その逆を行ったりするこのような場合に、M コードがいかに便利であるかを示しました。LuckyTemplates フォーラムにある M コードにアクセスできる限り、将来このようなシナリオでそれを使用できます。

の M コード ショーケースでは、他の状況で使用できる他の M コードを参照することもできます。これは協力的なコミュニティなので、専門家やメンバーからの他のアイデアについてのコメントを読むことができます。

ではごきげんよう、

メリッサ

***** LuckyTemplates を学習していますか? *****







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