LuckyTemplates 仮想テーブル | デバッグのための 5 つのヒントとテクニック

LuckyTemplates 仮想テーブル | デバッグのための 5 つのヒントとテクニック

LuckyTemplates 仮想テーブルは、私の個人的なお気に入りの DAX トピックです。これらは、DAX の能力を最大限に引き出す鍵となります。仮想テーブルは、LuckyTemplates 内で完全に動的である唯一の種類のテーブルであり、対策内で仮想テーブル技術を適用することによってのみ解決できる問題があります。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

このチュートリアルでは、私が長年にわたって蓄積してきた、Power Bi 仮想テーブル内で何が起こっているかを理解してデバッグするのに本当に役立った、トップ 5 のヒントとテクニックを共有します。

今日説明する例は、からのもので、産業安全の分野で働く Dave C という名前のメンバーからのものです。Dave には一連の安全スコアがあり、それらを正規化して最高のスコアが 10 になるようにし、そのリストの N 番目のスコアを動的に計算したいと考えていました。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

測定によってこれを行うことを考えていましたが、その後、正規化された値の多くに関係があることがわかりました。たとえば、リストの 7 番目のアイテムが必要な場合、RANKX には 7 という数字は存在しません。フィルター状態からそれを引き出す簡単な方法はありません。そこで、常に n 番目の数値をカウントダウンするようにベースのメジャーを決定しました。

これは、山札から 7 枚目のカードを引くときに、7 枚のカードを数え、その 7 枚の山を裏返し、一番下のカードが必要なカードになるのと似ています。これと同等のことを TOPN 対策で行う予定です。

目次

ヒント #1: 外部ツールを使用して LuckyTemplates 仮想テーブルを視覚化する

DAX Studio または表形式エディターを使用できます。この例では、Tabular Editor 3 (TE3) を使用しています。[モデリング] – [新しいテーブル] タブを使用してこれを行うことは技術的には可能ですが、データ モデル内に物理テーブルが作成されます。エディタとエディタの間を手動で切り替える必要がありますが、それは時間がかかり、難しい方法です。

外部ツールを使用して動的に実行できる方法を見ると、その利点がわかるでしょう。

したがって、TE3 内で新しい DAX クエリを作成します。最初の測定値を取得し、これを DAX クエリにコピーできます。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

覚えていると思いますが、DAX クエリは常に EVALUATE で始まりますDAX クエリは table を返すため、最初はエラーが発生します。これは、最後の 2 つの変数がスカラーであるメジャーでした。ここでできることは戻り値を変更することです。これが次のヒントです。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

ヒント #2: 変数を使用して LuckyTemplates 仮想テーブルを部分的にデバッグする

仮想テーブルは、メジャーの場合とほぼ同じ方法で、戻り値を変更することで部分的にデバッグできます。最初の仮想テーブルであるvEvalTableから始めましょう。RETURN 値 (最終) を最初の変数 (VAR) に置き換えるだけです。また、DAX クエリがテーブルを取得しているため、エラーが解消されていることがわかります。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

vEvalTable では、安全性スコアである元のデータを取得し、それらを正規化し、その正規化された値列を仮想テーブルに追加します。インデックス、領域の値、および正規化された値が得られました。これらの値を上下に並べ替えたり、値をフィルターしたりすることもできます。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

これはまさに私たちが期待していたものを提供しています。完全なデータセットである 50 行が返されます。これですべて順調に進んだので、次のテーブル( vTableTopN )を調べてみましょう。この表では、n 番目の項目スライダー値を使用して TOPN を取得しています。この例では、上記の仮想テーブル (vEvalTable) の 7 番目の値があり、正規化された値に基づいてその TOPN を降順に取得しています。

したがって、RETURN 関数をそれに変更すると、機能が落ちてしまい、何も得られません。これは仮想テーブルのデバッグと理解にとって非常に重要な概念であるため、その理由を見てみましょう。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

式を見ると、N 番目の項目スライダー値が主な疑わしいものであることがわかります。LuckyTemplates に戻ると、これは基本的に数字の 7 を収穫しているだけであることがわかります。スライダーはページのコンテキスト内に存在することに注意してください。

したがって、この場合、そのテーブルをコンテキストから外してデバッグしようとしているとき、その選択された値には周囲のコンテキストがありません。その数字を引き出すことができるという点では何もありません。TOPN を取得していましたが、選択された値が空白を返すため、TOPN の N が何であるかわかりません。

それにはどう対処すればよいでしょうか? 選択した値メジャーを見てみましょう。ほとんどの場合、私たちはの最初のパラメーターに常に注意を払いますが、代替となる 2 番目のパラメーターがあります。これで 3 番目のヒントが得られます。

ヒント #3: SELECTEDVALUE で代替パラメータを使用する

ここで何が起こったかというと、補欠としてブランクを引いてきたということです。しかし、(デバッグ目的で) ここに実際の値を入れたいのです。そこで、数字 7 を入力して保存します。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

これで、いくつかの値が得られました。7 行が返されますが、TOPN 値が 7 であるため、これはまさにそのとおりです。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

次の仮想テーブルであるvTableNthItemに進みましょう。7 枚のカードのスタックがあり、このテーブルは基本的にそれを裏返します。前の表では降順でしたが、現在は昇順になっています。

これを RETURN セクションにコピーすると、結果が得られます。興味深いのは、1 行を返さないことです。これら 3 行は同点であるため、3 行が返されます。この場合、RANKX ではなく TOPN を使用するのはまさにこれが理由です。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

次に、結果に行きましょう。VAR 結果を RETURN セクションまでコピーすると、これが 4 番目のヒントになります。

ヒント #4: { } を使用してスカラーをテーブルに変換する

式内では、その vTableNthItem の最大値 ( ) を取得し、正規化された値を返します。これはの場合があります。そのテーブル内の 1 つの値を返すのは、単なるアグリゲーターです。したがって、これをコピーすると、これはスカラーになっているため、エラーが発生します。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

ただし、これはデバッグのコンテキストにおける 4 番目のヒントです。中括弧を追加するだけです。そうすることで、そのスカラーがテーブルに変換されます。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

そして、ここで得られるのは最終的なエラー チェックです。評価テーブルが行数より小さいことが判明した場合、不十分なデータが返されます。しかし、この場合、データセットが十分に大きいことがわかっています。ただし、 「 Final 」と入力するだけでテストできます。繰り返しますが、これはスケーラーであるため、中括弧も必要であり、ここでも同じ値が得られます。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

この仮想テーブルを詳しく調べてデバッグし、SELECTEDVALUE の代替値を使用して、テーブルがコンテキストから外れてしまわないようにしました。ここで、私が本当に役立つと感じた追加のヒントを 1 つ紹介したいと思います。

ヒント #5: CONCATENATEX/UNICHAR を使用してテーブルをスカラーに変換する

デバッグを実行するコンテキストでは、LuckyTemplates でそのテーブルがどのように見えるかを確認する必要があります。一般的なルールとして、メジャーはテーブルではなくスカラーのみを返すことができます。ただし、これから紹介するチートが 1 つあり、それによってテーブルを疑似的に返すことができます。

このメジャーであるVisualized Virtual Tableを見てみましょう。ここには、最初に持っていたすべての仮想テーブルが表示されます。たとえば、フロント レポート ページに vTableTopN を表示したいとします。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

この関数を利用することができます。実際には、その仮想テーブル名 (vTableTopN) を取得し、そのテーブル内の値を取得して連結することができます。基本的に仮想テーブルのように見えるものを作成できます。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

この対策を講じる場合は、LuckyTemplates に戻ってこれをカード メジャーに落とし込む必要があります。通常、テーブルではエラーが発生しますが、CONCATENATEX によってそのテーブルがスケーラーに変わりました。これはかなり原始的ですが、期待どおりのものを返しており、それを動的に実行していることがわかります。

LuckyTemplates 仮想テーブル |  デバッグのための 5 つのヒントとテクニック

これは、テーブルをメジャーにプッシュし、それをレポートに表示する方法です。これは非常に役立つデバッグ トリックです。これにより、レポートで使用できるカード値の適切な形式が提供されます。



LuckyTemplates のマスター仮想テーブルLuckyTemplates の反復関数内でのDAX 仮想テーブルの使用– DAX の概念
LuckyTemplates のテーブル: 種類と区別

結論

このチュートリアルが、LuckyTemplates 仮想テーブルの操作に関して考える材料になれば幸いです。これらは、仮想テーブル内で何が起こっているかを理解するための追加のヒントとコツです。お役に立てば幸いです。

その他の LuckyTemplates チュートリアルについてはWeb サイトにアクセスし、その他の関連コンテンツについては以下のリンクをチェックしてください。

ではごきげんよう!


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