LuckyTemplates Dax 変数は定数です: これは何を意味しますか?

LuckyTemplates Dax 変数は定数です: これは何を意味しますか?

LuckyTemplates DAX 変数の使用方法の説明を聞くたびに、「変数は定数である」というフレーズを聞いたことがあるかもしれません。シンプルなようですが、これらの言葉にはかなりのニュアンスと複雑さが含まれています。このブログでは、このフレーズの意味と、メジャーの計算方法への影響について説明します。これらの概念を理解することは、対策によって望ましい結果が確実に得られるようにするために不可欠です。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

DAX 内の変数には、実際には任意の有効な DAX 式を使用できます。これは、値、計算、メジャー、またはテーブルを表す変数、別の変数、またはそれらの組み合わせです。

変数には 2 つの部分があります。変数を初期化する宣言があります。名前を付けてから値を付けます。もう 1 つはRETURNステートメントで、宣言した変数の少なくとも 1 つを呼び出します。これは、変数ごとに 1 つの RETURN ステートメントが必要な括弧とは異なりますが、変数を宣言した場合は少なくとも 1 つの RETURN ステートメントが必要です。

ここで重要なのは、前にも述べたように、変数は定数であるということです。これは、変数が値に割り当てられると、RETURN ステートメントの前にその値を変更できないことを意味します。

目次

LuckyTemplates DAX 変数のメジャーへの適用

Countries と Total Sales を取得した簡単な例を見てみましょう。Total Salesメジャーは最も基本的なメジャーであり、Sales テーブル内の Line Sales の

LuckyTemplates Dax 変数は定数です: これは何を意味しますか?

たとえば、2020 年の総売上高を取得したいとします。このデータ セットには、2019 年、2000 年、2021 年の売上高があります。2020 年の売上高を取得するには、非常に単純なフィルター条件を適用する必要があります。これはです。そこで、フィルターコンテキストを変更します。Total Sales メジャーがあり、年は 2020 年です。

LuckyTemplates Dax 変数は定数です: これは何を意味しますか?

この測定値を表に落とし込むと、まさに期待どおりの値が得られ、これが 2020 年に適切な数値になります。

LuckyTemplates Dax 変数は定数です: これは何を意味しますか?

これに変数を適用したい場合は、前のメジャーを少し修正したバージョンを次に示します。ここでは、 TotSalesという変数を作成し、それを Total Sales メジャーと等しく設定します。

LuckyTemplates Dax 変数は定数です: これは何を意味しますか?

代数的置換の観点から考えると、以前の Total Sales メジャーを、その Total Sales メジャーと等しい TotSales に置き換えるだけであれば、それは同じものであると考えられ、同じ結果が得られます。結果。しかし、見てみると、そのメジャーをテーブルにドロップすると、同じ結果が得られないことがわかります。

LuckyTemplates Dax 変数は定数です: これは何を意味しますか?

変数 TotSales が宣言されており、これにより総売上高の値が取得されます。モルドバの行にいて、その変数の値が 235 万であるとします。ここで、RETURN ステートメントが呼び出されるまで値は変更できないことに注意してください。したがって、 RESULT変数のメジャーを計算すると、TotSales が得られます。これは 235 万の定数です。

次に、フィルター コンテキストをそれに適用します。Dates[ Year] = 2020ですが、この定数は変更できないため、問題はありません。したがって、 Dates[ Year] は 2019 、 2021 などと言えますが、 TotSales は RETURN まで定数として固定されているため、依然として同じ 235 万になります。

そして、それが返されると、次の行に進み、変数はオランダの値 (440 万) を取得します。このプロセスは繰り返され、RETURN ステートメントまで定数としてロックされます。得られるものは、2020 年まで絞り込んだメジャーではなく、総売上高メジャーで得られたものとまったく同じです。

したがって、実際にはあまり役に立たないようだと思われるかもしれません。この文脈では、そうではありません。これは実際、変数を使い始めたときによくある間違いですCALCULATE ステートメントの最初の式部分に変数を置きます。これは定数値としてロックされるため、通常、求めている結果は得られません。

イテレーター内での LuckyTemplates DAX 変数の使用

変数はイテレータ内に配置すると真価を発揮します。このケースについて説明します。これは以前の値です。日付を探してから、いくつかの条件に従って以前の値を探します。

LuckyTemplates Dax 変数は定数です: これは何を意味しますか?

という関数を使用する必要があったことを思い出してください。しかし今では、変数は実際にこのコンテキストで非常にうまく機能します。変数を使用する場合は、EARLIER 関数を今後は使用しないことを強くお勧めします。

そこで、式部分ではなく反復子部分に変数がある、より複雑な例を見てみましょう。で出た質問のケースです。メンバーは範囲内の各日付を調べて、週末や休日ではない最初の以前の日付を見つけ出したいと考えていました。

LuckyTemplates Dax 変数は定数です: これは何を意味しますか?

その代表例として、特に10月15日火曜日に注目したいと思います。望ましい結果は、その日付を確認することでした。月曜日はコロンブスデーだったので休日で、その前の日は日曜日と土曜日でした。それで、私たちが取得したい日付は10月11日、つまり金曜日でした。

その前日/休日なし/休日なしの列を見ると、火曜日は 11 日でした。月曜日、日曜日、土曜日も同様でした。それが結果として得たいものです。

上の表の横に、このケースのシナリオで使用した尺度を示します。選択された日付 ( VAR SelDate )である変数を宣言しましたが、それは単に日付の変数で 10 月 15 日を取得し、それを RETURN ステートメントまで定数として保持します。

次に、DAX を外側から内側に評価します。フィルター条件を見ると、日付のフィルターが削除され、一連の追加フィルターが設定されています。常に選択されている日付である 10 月 15 日を取得し、それより前の日付をすべて教えてくださいと言っています。そして、それらの日付のうち、いずれも土曜日、日曜日、または休日ではないことを確認します。次に、フィルターされた日付の

ここで、データを定数として選択することは、他のすべての日付が前後に評価される際の賭けのようなものであることがわかります。

選択した日付を取得したら、それより前の日付をすべてフィルターします。フィルタリングされたテーブルの最大値を取得します。したがって、他のすべての条件を取り除くと、15 日の最大値が 11 日の金曜日になります。次に、RETURN ステートメントまで進むと、翌日の 16 日から始まります。データの最後に到達するまでテーブルを繰り返し処理し続けます。

このケースからわかるように、変数を式部分ではなくイテレータ部分に入れると、計画どおりに動作します。変数は定数であるという事実を利用します。


LuckyTemplates での変数の使用 – 詳細な例
LuckyTemplates で広範な DAX 数式を処理する方法 – 書式設定のヒント
数式を簡略化するための DAX 変数とコメントが含まれています

結論

このブログでは、LuckyTemplates DAX 変数をメジャーに適用する方法と、変数がメジャーのイテレータ部分に配置された場合にどのように機能するかを説明しました。

これらの例で「変数は一定である」という表現が説明され、メジャーが機能しているように見えたり、時には機能しない理由についての洞察が得られることを願っています。この重要な概念が何を意味するのかについて、ある程度理解していただければ幸いです。

ではごきげんよう!


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