Python における Self とは: 実際の例
Python における Self とは: 実際の例
日付テーブルの M コードをテーブル クエリに変換する方法を説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
M コードの経験があれば簡単に理解できるため、このチュートリアルの難易度は中級だと考えます。関連した経験がない場合は、ここで説明する概念を理解しやすくするために、まず M コードを調べることをお勧めします。
目次
呼び出される関数のクエリと日付テーブルのクエリ
これは、日付テーブル クエリと呼び出される関数クエリです。
右側の [適用されたステップ] ペインを見ると、ステップが 1 つだけあります。そのクエリのソースが表示されます。
したがって、この日付テーブルの M コードを開発する場合は、適用した変更を確認するために関数とテーブル クエリを切り替える必要があります。
これは、変更によって発生したエラーへの対処がより複雑になることを意味します。テーブル クエリ自体でエラーが発生するため、コード行を検索してエラーを修正する必要があります。
次のページは、関数の代わりにテーブルを返す日付クエリを示しています。
右側の「適用されたステップ」を見ると、今回は複数のステップがリストされていることがわかります。
つまり、日付テーブル M コードを開発すると、このテーブル クエリの変更結果がすぐに表示されます。
さらに重要なのは、変更によってエラーが発生した場合に、エラーの原因となったステップを簡単に特定できることです。これにより、問題の解決が容易になります。
M コードの適用
日付テーブルの M コードは、LuckyTemplates フォーラムにあります。これは、 M コード ショーケース内のトピック「拡張データ テーブル Power Query M 関数」の下にあります。
M コードは一番上まであります。コード全体を強調表示してコピーします。
次に、新しい空のクエリを作成します。
高度なエディターを開いて、そのコードを貼り付けます。
エラーが検出されていないことが確認されたので、「完了」をクリックします。
これの名前を変更して、Dates と名付けましょう。
このクエリは関数を返しますが、必要なのはテーブルです。
必要な変更を加えるために、詳細エディターに戻ります。
関数をテーブルに変換する
これが関数ではなくテーブルを返すようにするには、アドバンスト エディターで M コードにいくつかの変更を加える必要があります。
M コードを見ると、let ステートメントの数に基づいて、少なくとも 2 つの環境があることが簡単にわかります。
各 let ステートメントには独自の in 句があり、下部にあります。
これをテーブルにするには、この last in 句を削除するだけの方が簡単だと思うかもしれません。
しかし、私はそんなつもりはありません。代わりに、最後の in 句の前に 2 つのスラッシュを追加してコメントアウトします。
最初の let ステートメントでもこれを実行します。これにより、非アクティブになります。
内側の let ステートメントの下に、パラメータを宣言するセクションを作成します。これらのパラメータをこのコードに渡す必要があるからです。
これらの変数を宣言する場所をマークします。
次に、外側の let ステートメントから最初の変数をコピーし、スペースに貼り付けます。
私のデータ セットでは、履歴データは 2017 年より遡ることはできません。そのため、StartDate 変数に値を渡すには、組み込みの日付を使用できます。1 月 1 日を入力し、行をカンマで終了します。
次に、次の変数である EndDate をコピーして貼り付けます。
EndDate には予測が必要であることはわかっています。だからこそ、この EndDate を常に来年の終わりにしたいのです。
M コード内に CurrentDate の変数がすでにあるので、それを参照します。
ここでも、固有の日付を使用します。Date. Year を抽出し、CurrentDate を年の値 +1 として使用します。日付も12月31日にしたいです。
繰り返しますが、その行はカンマで終わります。
次の変数は、FYStartMonth というオプションのパラメーターです。
したがって、その名前をコピーして貼り付けます。
先ほど貼り付けた変数の下のFYStartMonthの下に赤い下線が表示されていることに注目してください。
名前が一致しているからです。別々の環境にいたときは問題ありませんでした。ただし、単一環境内の変数名は一意である必要があります。これは、貼り付けたばかりの新しい変数の名前を変更する必要があることを意味します。
これをFYStartMonthと呼ぶ代わりに、FYStartMonthNumと呼ぶことにします。
この変数には値を割り当てるつもりはないので、null を入れるだけです。
変数の名前を変更したため、このパラメーターが参照されている場所でも名前を変更する必要があります。
変数に戻り、最後にカンマを追加してその行を閉じます。
次のパラメータはオプションの休日リストです。これもコピーして貼り付け、null として宣言します。
WDStartNum についても同じことが当てはまります。これをコピーして貼り付けて、null として宣言します。
日付テーブル コードの開始位置を示すために、ここに別のコメントを追加します。
[完了] をクリックすると、クエリが正しい型を返すことがわかります。
関数の代わりにテーブルができました。
[適用されたステップ] ペイン内には、クエリを構成するすべてのステップも表示されます。
日付テーブルに変更を加えたい場合は、リボンを使用して手順を変更または追加するのが簡単です。変更を加えるたびに、クエリの結果もすぐに表示されます。
テーブルクエリを関数に戻す
日付テーブルのクエリを関数に戻したいとします。M コード内でいくつかの点を調整するだけで、以前に行った変更を元に戻すことができます。
Advanced Editor に戻り、外側の let ステートメントの前にあるスラッシュを削除します。
次に、in ステートメントの前にあるスラッシュを削除します。
次に、先ほど追加した変数ブロックをコメントアウトします。そこで、ここにスラッシュとアスタリスクを追加します。
変数ブロックの後にはアスタリスクとスラッシュが続きます。
以前、FYStartMonthNum のためにこのコード行を変更したときのことを覚えていますか?
そのコード行をコピーします。次に、新しい行を追加して貼り付けます。
最初のものをスラッシュアウトします (以前に変数名に変更を加えた場所です)。
次に 2 つ目で、編集された変数名を見つけます。
そして、それらをFYStartMonthに戻します。
[完了] をクリックすると、テーブル クエリが再び関数に変わります。
LuckyTemplates で動的日付クエリ テーブルを作成する: クエリ エディターのチュートリアル
LuckyTemplates で日付テーブルを作成する
Power Query 日付テーブルの動的な開始日と終了日を設定する
結論
繰り返しになりますが、特に関数をテーブル クエリに変換したり、その逆を行ったりするこのような場合に、M コードがいかに便利であるかを示しました。LuckyTemplates フォーラムにある M コードにアクセスできる限り、将来このようなシナリオでそれを使用できます。
の M コード ショーケースでは、他の状況で使用できる他の M コードを参照することもできます。これは協力的なコミュニティなので、専門家やメンバーからの他のアイデアについてのコメントを読むことができます。
ではごきげんよう、
メリッサ
***** LuckyTemplates を学習していますか? *****
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて