DAX メジャー分析: 長い DAX メジャーの分析

DAX メジャー分析: 長い DAX メジャーの分析

このチュートリアルでは、第 10 回 LuckyTemplates チャレンジに提出したレポートの中でお気に入りのページの 1 つをどのようにまとめたかについて、詳細な DAX メジャー分析をいくつか紹介します。

ランキングページでは、多くの困難な DAX メジャーが使用されています。しかし、LuckyTemplates エキスパートの 1 人である Antriksh Sharma の助けと、いくつかのメジャー分岐のおかげで、望んでいた結果を得ることができました。

目次

ランキングページ概要

DAX メジャー分析に入る前に、今日取り組んでいるページのさまざまな部分を示したいと思います。

ランキングページはこんな感じです。レポートの他のページとは異なり、このページにはほとんどがカードで構成されています。

DAX メジャー分析: 長い DAX メジャーの分析

これらの各カードは、LuckyTemplates デスクトップの [視覚化] ウィンドウにある組み込みのカード ビジュアルを使用して作成されました。

DAX メジャー分析: 長い DAX メジャーの分析

上部にあるこれらのアイコンを使用して、レポート内の他のページに戻ることができます。

DAX メジャー分析: 長い DAX メジャーの分析

このレポートの他のページについては、他のチュートリアルで説明しました。このレポートの他のページを見ると、このランキング ページにつながるアイコンがあることがわかります。

ページの左側には全体の上位 4 つの工場とベンダーが表示され、右側には下位 4 つが表示されます。

DAX メジャー分析: 長い DAX メジャーの分析

より具体的な結果を得るために、個別の DAX メジャーも作成しました。たとえば、上の 3 つは、ダウンタイム平均ダウンタイム分、および欠陥に基づいて、上位 4 社と下位 4 社のプラントとベンダーを示しています。

DAX メジャー分析: 長い DAX メジャーの分析

レポートページの下部ではさらに具体的に説明しました。左側では、ダウンタイム分、平均ダウンタイム分、欠陥に基づいて上位 4 つと下位 4 つのプラントを取得しました。

DAX メジャー分析: 長い DAX メジャーの分析

右側では、同じことを行いましたが、今回はベンダーの詳細に基づいています。

DAX メジャー分析: 長い DAX メジャーの分析

このチュートリアルを進めながら、このページのアイデアを思いついた経緯をお話しします。次に、これらの各対策がどのように作成されたかを段階的に説明します。

使用する DAX メジャーのアイデアを得る

このスライドの DAX 対策のアイデアは、の 1 人であるAntriksh から得ました。彼は DAX の第一人者であり、メジャーの最適化に優れています。この DAX メジャー分析で彼と協力するのは楽しかったです。

第 10 回 LuckyTemplates チャレンジが発表される約 2 週間前、彼が LuckyTemplates フォーラムに投稿した PBIX ファイルについて Skype で会話しました。

DAX メジャー分析: 長い DAX メジャーの分析

ご覧のとおり、ここで説明するページの背後にあるインスピレーションの元となったアントリクシュの写真を含めました。私は彼に、このチュートリアルを完了できたら、彼の功績を称えると言いました。

このモデルはシンプルで、顧客、製品、売上などの基本データを使用します。

DAX メジャー分析: 長い DAX メジャーの分析

左側には国の短いリストがあります。

DAX メジャー分析: 長い DAX メジャーの分析

Antriksh は、売上高上位 N 国のメジャーを作成しました。下向きの矢印で示されているように、リストを最高から最低の順に並べ替えています。

DAX メジャー分析: 長い DAX メジャーの分析

右側には、上位 4 か国と下位 4 か国を示すカードがあります。上位 4 つのリストには、米国オーストラリア英国ドイツが示されており、リストの上位 4 つと一致します。

DAX メジャー分析: 長い DAX メジャーの分析

ただし、下位 4 つは逆の順序で表示されます。最下位のアルメニアからではなく、リスト5位のキルギスからスタートした。

DAX メジャー分析: 長い DAX メジャーの分析

このため、上で使用した尺度の改訂版を使用する別のカードを下部に作成しました。

DAX メジャー分析: 長い DAX メジャーの分析

下の 4 つが、私が望んでいた順序 ( ArmeniaThailandSyriaKyrgyzstan ) と一致していることに注目してください。

DAX メジャー分析: 長い DAX メジャーの分析

これらのカードの背後にある DAX 対策について見ていきましょう。まずは、Antriksh が 1 枚目のカード用に作成した対策から始めます。

DAX メジャー分析: 長い DAX メジャーの分析

最初のカードで確認した結果を取得するために、元のメジャーには 97 行を超える行があります。

DAX メジャー分析: 長い DAX メジャーの分析

DAX メジャー分析: 長い DAX メジャーの分析

20 行目まで下にスクロールすると、Antriksh がASCを使用していることがわかります。それが、下位 4 名がこのような結果になった理由です。

DAX メジャー分析: 長い DAX メジャーの分析

問題の始まりがわかったので、修正した対策がどのようになるかを示します。

2 番目のカードを強調表示して、その背後にある対策を示します。

DAX メジャー分析: 長い DAX メジャーの分析

ご覧のとおり、修正した数式には 41 行しかありません。

DAX メジャー分析: 長い DAX メジャーの分析

私は Antriksh と協力して、元の寸法より 60% または 70% 縮小しました。複雑さが軽減されるだけでなく、必要な結果も得られます。上位 4 つは 1 位から 4 位で始まり、下位 4 つは 8 位から 5 位で始まります。

Antriksh とのディスカッションから数週間後、第 10 回 LuckyTemplates チャレンジが開始されました。要件の一部にはランキング システムが含まれていたため、Antriksh の DAX 測定を思い出しました。メジャーをコピーして貼り付け、メジャーの分岐を適用して必要な結果を得ることができることに気付きました。

Dax メジャー分析: メジャーを段階的に構築する

ここで、私が望む結果を得るためにランキング ページで使用した対策を詳しく説明します。この DAX メジャー分析は、完了までにかかった行数を考慮して、メジャーがどのように機能するかを説明するのに役立ちます。

私の他のチュートリアルでは、物事をより組織化するためにメジャーをグループ化するのが好きであることを示しました。そこで、Top N v2 用のサブフォルダーを作成しました。

DAX メジャー分析: 長い DAX メジャーの分析

このフォルダー内には、トップ N プラント ベンダーのダウンタイム分に関する私の測定値が含まれています。以前に Antriksh の対策を説明したときに示したものと同じ 41 行のコードが含まれていることがわかります。基本的に、必要な結果を得るには、いくつかのアイテムを交換するだけで済みました。

これをよりわかりやすく分割するために、この小節全体を 9 つの異なる部分に分割しました。これらの各ステップを 1 から 9 まで説明し、それぞれが何を達成するかを説明します。

DAX メジャー分析: 長い DAX メジャーの分析

より明確な結果を得るために、この測定では多数の変数を使用します。これらの変数を設定すると、エンド ユーザーがメジャーがどのようにまとめられるかを確認し、各結果がどのように得られたかの詳細を説明するのに役立ちます。

最初のステップから始めましょう。BaseTable というを設定します。

DAX メジャー分析: 長い DAX メジャーの分析

この BaseTable では、 Plant LocationVendorのデータを参照していることがわかります。

PBIX ファイルに戻ると、プラントとベンダーの両方を参照する一番上のカードが表示されます。これが、さらに下のカード (これもダウンタイム分用ですが、プラントの位置データのみを使用します) とは対照的に、ここにすべてのデータが必要な理由です。

DAX メジャー分析: 長い DAX メジャーの分析

最初のステップは簡単なので、ステップ 2 に進みましょう。

関数から始まります。

DAX メジャー分析: 長い DAX メジャーの分析

この関数は、手順 1 で作成した変数とダウンタイム分を参照します。

関数と関数を組み合わせることで、値が表示されるようにします。また、結果がゼロ以上になるようにしたいと考えています。これは、このレポートに使用されたデータ セットに、プラントまたはベンダーのいずれかが空白である組み合わせがいくつか含まれていたためです。値がゼロのエントリもあります。

3 番目のステップには、N の値から始まるさらに別の変数セットが含まれます。

DAX メジャー分析: 長い DAX メジャーの分析

ここでは、上位 4 つと下位 4 つを表示したいので、N は 4 に等しくなります。

DAX メジャー分析: 長い DAX メジャーの分析

また、Top と N のプレフィックスとダッシュも設定します。

DAX メジャー分析: 長い DAX メジャーの分析

まとめると、単に「トップ 4 -」を表示したいだけです。これは、期待される結果を列挙する前に、対応するカードがどのように開始されるかです。

DAX メジャー分析: 長い DAX メジャーの分析

さて、4番目のステップに進みましょう。ここから、期待される結果が得られ始めます。

DAX メジャー分析: 長い DAX メジャーの分析

この場合、の使用を検討する人もいるでしょう。結局のところ、私はエントリーをランク付けし、上位の結果を導き出そうとしています。ただし、Antriksh と私は、ASC順の上位 4 つだけが必要なので、この場合はが適切であると感じました。

DAX メジャー分析: 長い DAX メジャーの分析

次に、プラント位置データを使用する

DAX メジャー分析: 長い DAX メジャーの分析

また、リストをどのように表示するかについての形式も設定します。そのため、バックスラッシュとコンマ、さらにスペースを表す引用符が含まれていることがわかります。また、 ASC順に設定されているため、PBIX ファイルに戻ると、結果の間にバックスラッシュとカンマが入った上位 4 つのリストが表示されます。

DAX メジャー分析: 長い DAX メジャーの分析

The fifth step of the measure starts by replacing the last comma on the list with an And.

DAX メジャー分析: 長い DAX メジャーの分析

When you go back to the slide, you’ll see that the last entry does have an “and” before the vendor and plant location.

DAX メジャー分析: 長い DAX メジャーの分析

This is what’s being accomplished in step five. It’s creating a list and using the function for the LastCommaPosition.

DAX メジャー分析: 長い DAX メジャーの分析

Notice that this says that N is greater than 2. This means that the substitution happens after the 3rd string.

The sixth step will look familiar because it basically copies the same thing I did on top to start the list with “Top 4 -“.

DAX メジャー分析: 長い DAX メジャーの分析

The only difference here is that I want it to show up as “Bottom 4 -” instead of “Top 4 -“.

DAX メジャー分析: 長い DAX メジャーの分析

The part I previously discussed about using is once again used here at the bottom, but now I’m calling the variable BottomData instead of TopData. Again, this part inserts the backslash and comma in between the names of the plants and vendors.

DAX メジャー分析: 長い DAX メジャーの分析

When we look back at Antriksh’s original measure, this is also the same part where he used ASC, which resulted in the list coming out not as I expected. That’s why I’m using DESC here instead.

So basically, at this point onwards, most of it is just copied and pasted from the earlier parts of the measure. I’m just replacing the word “Top” with “Bottom” in most cases.

For step 8, I want to change the last comma with the word And.

DAX メジャー分析: 長い DAX メジャーの分析

The ninth step wraps up this measure.

DAX メジャー分析: 長い DAX メジャーの分析

This uses the function with the number 10. This ensures that the Top 4 and the Bottom 4 are showing up on separate lines. Think about it as the return key on your keyboard. It makes you go down to the next row so that the top and bottom four don’t show up on a single line.

Verifying The Results

Antriksh and I were able to trim down the original 90 plus rows of DAX into 41 lines. However, 41 lines might still be a lot for some users. Breaking down that measure the way we did was a great way to understand why the measure had to be written that way.

各ステップの内容を説明したので、次はその対策が本当に期待通りの効果を発揮しているかどうかを検証します。[ランキング] ページに移動して、レポートの他の部分で結果を確認してみましょう。

まず、「ダウンタイム分ごとのプラント/ベンダー」から始めます。

DAX メジャー分析: 長い DAX メジャーの分析

これは、ニュー ブリテンの Linktype、Frazer の Flashpoint、Twin Rocks の Quinu、Henning の Layo としてトップ 4 を示しています。下位 4 つに関しては、ミドルタウンの Wikido が全体的に最悪であることが示されています。

ここで、 「ベンダーとプラントの結合」のページに移動して、結果が一致するかどうかを確認します。

DAX メジャー分析: 長い DAX メジャーの分析

Rank By Downtime Minutes列を上から下に並べ替えると、上位 4 つについて正しい結果が表示されます。

Some of you might wonder, however, why New Britain is showing up second on this list, when it comes up on top of the Rankings page card.

Notice that the ranking shows three entries as top 1. These were ranked using RANKX.

DAX メジャー分析: 長い DAX メジャーの分析

However, if you look at the column for Downtime Minutes, it shows that New Britain shows 0 while Frazer and Twin Rocks each show 1. That’s why on the card in the Rankings page, New Britain still came out on top of Frazer and Twin Rocks even if they were all ranked as number one.

Now, let’s check if the bottom four are correct. Just sort the Rank By Downtime Minutes in descending order.

DAX メジャー分析: 長い DAX メジャーの分析

ご覧のとおり、カードの下位 4 位としてミドルタウン、ウォルドボロ、バーリング、チェサニングが表示されています。これは、プラント/ベンダーのダウンタイム分別の測定が正しいことを意味します。

次に、 「Plants By Downtime Minutes」のカードを見てみましょう。

DAX メジャー分析: 長い DAX メジャーの分析

これは、トップ 4 がレディング、ミドルタウン、ウォルドボロ、クラークスビルであることを示しています。下位 4 つはリバーサイド、チャールズ シティ、ツイン ロックス、チェサニングです。

これらの結果を検証するために、「植物」ページをチェックして、結果が一致するかどうかを確認します。ここでの最大の違いは、以前に検証したカードはプラントとベンダーの両方のデータに基づいていたのに対し、このカードはプラントのデータのみを参照していることです。

When we sort the Rank by Downtime Minutes from top to bottom, it does show that the top four are Reading, Middletown, Waldoboro, and Clarksville.

DAX メジャー分析: 長い DAX メジャーの分析

Now, let’s reverse the rank this time to see if the bottom four match. You’ll see that out of the 30 plants on our list, Riverside, Charles City, Twin Rocks, and Chesaning get the bottom ranks.

DAX メジャー分析: 長い DAX メジャーの分析

This means that we’re seeing the correct results for plants.

This time, let’s look at a card that ranks Vendors By Defects.

DAX メジャー分析: 長い DAX メジャーの分析

I’ll go to the Vendors page this time to see if Dablist is the top vendor and Yombu is the worst based on defects.

DAX メジャー分析: 長い DAX メジャーの分析

When we sort the vendors from best to worst, it looks like the top four are a match to the card on the Rankings page.

ランクを最悪から最高に切り替えて、下位 4 つも一致するかどうかを確認してみましょう。

DAX メジャー分析: 長い DAX メジャーの分析

Yombu が、カードの下位 4 つのリストに含まれる他の 3 人とともに、実際に最悪であることがわかります。

Dax メジャー分析: メジャー分岐の適用

以前に行った DAX メジャー分析では、ダウンタイム分別のプラント/ベンダーの背後にあるメジャーのみを調べました。しかし、他のカードの対策はどうやって進めたのでしょうか?ここでメジャー分岐が登場します。

メジャー分岐には、既存のメジャーを使用して他の結果を導き出すことが含まれます。

このレポートでは、先ほど説明した測定値をコピーして貼り付け、必要に応じていくつかの要素を変更しました。

明らかに最初に変更するのはメジャー名です。しかしそれ以上に、参照しているデータを変更する必要もあります。たとえば、元の測定には工場の場所ベンダーのデータの両方を使用しました。

DAX メジャー分析: 長い DAX メジャーの分析

ただし、 「Plants By Downtime Minutes」に同じ測定を使用する場合は、ベンダー データを削除して、「Plant Location」だけに焦点を当てる必要があります。

CONCATENATEXを使用したときと同様に、両方のデータセットを参照する同じ小節の他のすべての部分についても変更する必要があります。

DAX メジャー分析: 長い DAX メジャーの分析

ダウンタイム分についても同じことが当てはまります。Average Downtime Minutes または Defects を調べるカードに取り組む場合、必要なのはこの部分を変更することだけです。

DAX メジャー分析: 長い DAX メジャーの分析

メジャーの「@DowntimeMins」と記載されている部分については、欠陥数や平均ダウンタイム分を参照している場合でも、そのままにしておいても問題ありません。

DAX メジャー分析: 長い DAX メジャーの分析

ただし、物事を特定の順序に保ちたいタイプの場合は、これを変更することもできます。これを変更する場合は、ページ全体で変更する必要があることに注意してください。つまり、同じ結果を得るために追加の努力をする必要があります。

メジャー分岐を使用することでどれだけの時間を節約できたか想像できるでしょう。この方法で実行すると、作業中のレポートのすべての部分に対して新しいメジャーを作成し続ける必要がなくなります。見たい結果に基づいて既存のメジャーを調整するだけで済み、レポートの作成時間を大幅に短縮できます。

これをどのように行ったかを示すために、 「ダウンタイム分ごとのベンダー」を見てみましょう。

DAX メジャー分析: 長い DAX メジャーの分析

メジャーを取得すると、Plants / Vendors By Downtime Minutesと同じ 41 行があることがわかります。

DAX メジャー分析: 長い DAX メジャーの分析

ただし、ステップ 1 では、ベンダー データのみを参照し、プラントの場所を削除しました。

DAX メジャー分析: 長い DAX メジャーの分析

他の該当する場所のデータも変更しました。

DAX メジャー分析: 長い DAX メジャーの分析

これが結果の基になっているため、ダウンタイム分を保持しました。

DAX メジャー分析: 長い DAX メジャーの分析

したがって、これらは、レポートの他の領域に適用できるように、測定を簡単に修正するものです。

ここで別の例を紹介しましょう。今回は、欠陥別ベンダーを見てみましょう。

DAX メジャー分析: 長い DAX メジャーの分析

もう一度言いますが、ここではベンダーに注目しているだけです。

DAX メジャー分析: 長い DAX メジャーの分析

ここで変更したのは、 Downtime Minutesへの参照です。代わりに、Defects を使用しました。

DAX メジャー分析: 長い DAX メジャーの分析

また、他の行がまだ Vendor のデータを使用していることも確認しました。

DAX メジャー分析: 長い DAX メジャーの分析


メジャー分岐を使用した LuckyTemplates での DAX メジャー
DAX メジャー グループのレポートへの実装 - LuckyTemplates モデリングのレビュー
DAX メジャーのランキングを使用した LuckyTemplates での独自の分析情報の抽出

結論

これは、Antriksh による強力な DAX の成果でした。これを使って作業し分岐させレポートのさまざまな部分に適用するのは間違いなく楽しかったです。

私たちが行った詳細な DAX メジャー分析は、プロセスのあらゆる側面を理解するための優れた方法でもありました。長いメジャーに取り組むのは最初は気が遠くなるように思えるかもしれませんが、このように徹底的な DAX メジャー分析を行うと、問題を解決するのに役立ちます。

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