Python における Self とは: 実際の例
Python における Self とは: 実際の例
このチュートリアルでは、第 10 回 LuckyTemplates チャレンジに提出したレポートの中でお気に入りのページの 1 つをどのようにまとめたかについて、詳細な DAX メジャー分析をいくつか紹介します。
ランキングページでは、多くの困難な DAX メジャーが使用されています。しかし、LuckyTemplates エキスパートの 1 人である Antriksh Sharma の助けと、いくつかのメジャー分岐のおかげで、望んでいた結果を得ることができました。
目次
ランキングページ概要
DAX メジャー分析に入る前に、今日取り組んでいるページのさまざまな部分を示したいと思います。
ランキングページはこんな感じです。レポートの他のページとは異なり、このページにはほとんどがカードで構成されています。
これらの各カードは、LuckyTemplates デスクトップの [視覚化] ウィンドウにある組み込みのカード ビジュアルを使用して作成されました。
上部にあるこれらのアイコンを使用して、レポート内の他のページに戻ることができます。
このレポートの他のページについては、他のチュートリアルで説明しました。このレポートの他のページを見ると、このランキング ページにつながるアイコンがあることがわかります。
ページの左側には全体の上位 4 つの工場とベンダーが表示され、右側には下位 4 つが表示されます。
より具体的な結果を得るために、個別の DAX メジャーも作成しました。たとえば、上の 3 つは、ダウンタイム分、平均ダウンタイム分、および欠陥に基づいて、上位 4 社と下位 4 社のプラントとベンダーを示しています。
レポートページの下部ではさらに具体的に説明しました。左側では、ダウンタイム分、平均ダウンタイム分、欠陥に基づいて上位 4 つと下位 4 つのプラントを取得しました。
右側では、同じことを行いましたが、今回はベンダーの詳細に基づいています。
このチュートリアルを進めながら、このページのアイデアを思いついた経緯をお話しします。次に、これらの各対策がどのように作成されたかを段階的に説明します。
使用する DAX メジャーのアイデアを得る
このスライドの DAX 対策のアイデアは、の 1 人であるAntriksh から得ました。彼は DAX の第一人者であり、メジャーの最適化に優れています。この DAX メジャー分析で彼と協力するのは楽しかったです。
第 10 回 LuckyTemplates チャレンジが発表される約 2 週間前、彼が LuckyTemplates フォーラムに投稿した PBIX ファイルについて Skype で会話しました。
ご覧のとおり、ここで説明するページの背後にあるインスピレーションの元となったアントリクシュの写真を含めました。私は彼に、このチュートリアルを完了できたら、彼の功績を称えると言いました。
このモデルはシンプルで、顧客、製品、売上などの基本データを使用します。
左側には国の短いリストがあります。
Antriksh は、売上高上位 N 国のメジャーを作成しました。下向きの矢印で示されているように、リストを最高から最低の順に並べ替えています。
右側には、上位 4 か国と下位 4 か国を示すカードがあります。上位 4 つのリストには、米国、オーストラリア、英国、ドイツが示されており、リストの上位 4 つと一致します。
ただし、下位 4 つは逆の順序で表示されます。最下位のアルメニアからではなく、リスト5位のキルギスからスタートした。
このため、上で使用した尺度の改訂版を使用する別のカードを下部に作成しました。
下の 4 つが、私が望んでいた順序 ( Armenia、Thailand、Syria、Kyrgyzstan ) と一致していることに注目してください。
これらのカードの背後にある DAX 対策について見ていきましょう。まずは、Antriksh が 1 枚目のカード用に作成した対策から始めます。
最初のカードで確認した結果を取得するために、元のメジャーには 97 行を超える行があります。
20 行目まで下にスクロールすると、Antriksh がASCを使用していることがわかります。それが、下位 4 名がこのような結果になった理由です。
問題の始まりがわかったので、修正した対策がどのようになるかを示します。
2 番目のカードを強調表示して、その背後にある対策を示します。
ご覧のとおり、修正した数式には 41 行しかありません。
私は Antriksh と協力して、元の寸法より 60% または 70% 縮小しました。複雑さが軽減されるだけでなく、必要な結果も得られます。上位 4 つは 1 位から 4 位で始まり、下位 4 つは 8 位から 5 位で始まります。
Antriksh とのディスカッションから数週間後、第 10 回 LuckyTemplates チャレンジが開始されました。要件の一部にはランキング システムが含まれていたため、Antriksh の DAX 測定を思い出しました。メジャーをコピーして貼り付け、メジャーの分岐を適用して必要な結果を得ることができることに気付きました。
Dax メジャー分析: メジャーを段階的に構築する
ここで、私が望む結果を得るためにランキング ページで使用した対策を詳しく説明します。この DAX メジャー分析は、完了までにかかった行数を考慮して、メジャーがどのように機能するかを説明するのに役立ちます。
私の他のチュートリアルでは、物事をより組織化するためにメジャーをグループ化するのが好きであることを示しました。そこで、Top N v2 用のサブフォルダーを作成しました。
このフォルダー内には、トップ N プラント ベンダーのダウンタイム分に関する私の測定値が含まれています。以前に Antriksh の対策を説明したときに示したものと同じ 41 行のコードが含まれていることがわかります。基本的に、必要な結果を得るには、いくつかのアイテムを交換するだけで済みました。
これをよりわかりやすく分割するために、この小節全体を 9 つの異なる部分に分割しました。これらの各ステップを 1 から 9 まで説明し、それぞれが何を達成するかを説明します。
より明確な結果を得るために、この測定では多数の変数を使用します。これらの変数を設定すると、エンド ユーザーがメジャーがどのようにまとめられるかを確認し、各結果がどのように得られたかの詳細を説明するのに役立ちます。
最初のステップから始めましょう。BaseTable というを設定します。
この BaseTable では、 Plant LocationとVendorのデータを参照していることがわかります。
PBIX ファイルに戻ると、プラントとベンダーの両方を参照する一番上のカードが表示されます。これが、さらに下のカード (これもダウンタイム分用ですが、プラントの位置データのみを使用します) とは対照的に、ここにすべてのデータが必要な理由です。
最初のステップは簡単なので、ステップ 2 に進みましょう。
関数から始まります。
この関数は、手順 1 で作成した変数とダウンタイム分を参照します。
関数と関数を組み合わせることで、値が表示されるようにします。また、結果がゼロ以上になるようにしたいと考えています。これは、このレポートに使用されたデータ セットに、プラントまたはベンダーのいずれかが空白である組み合わせがいくつか含まれていたためです。値がゼロのエントリもあります。
3 番目のステップには、N の値から始まるさらに別の変数セットが含まれます。
ここでは、上位 4 つと下位 4 つを表示したいので、N は 4 に等しくなります。
また、Top と N のプレフィックスとダッシュも設定します。
まとめると、単に「トップ 4 -」を表示したいだけです。これは、期待される結果を列挙する前に、対応するカードがどのように開始されるかです。
さて、4番目のステップに進みましょう。ここから、期待される結果が得られ始めます。
この場合、の使用を検討する人もいるでしょう。結局のところ、私はエントリーをランク付けし、上位の結果を導き出そうとしています。ただし、Antriksh と私は、ASC順の上位 4 つだけが必要なので、この場合はが適切であると感じました。
次に、プラント位置データを使用する
また、リストをどのように表示するかについての形式も設定します。そのため、バックスラッシュとコンマ、さらにスペースを表す引用符が含まれていることがわかります。また、 ASC順に設定されているため、PBIX ファイルに戻ると、結果の間にバックスラッシュとカンマが入った上位 4 つのリストが表示されます。
The fifth step of the measure starts by replacing the last comma on the list with an And.
When you go back to the slide, you’ll see that the last entry does have an “and” before the vendor and plant location.
This is what’s being accomplished in step five. It’s creating a list and using the function for the LastCommaPosition.
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 -“.
The only difference here is that I want it to show up as “Bottom 4 -” instead of “Top 4 -“.
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.
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.
The ninth step wraps up this measure.
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.
各ステップの内容を説明したので、次はその対策が本当に期待通りの効果を発揮しているかどうかを検証します。[ランキング] ページに移動して、レポートの他の部分で結果を確認してみましょう。
まず、「ダウンタイム分ごとのプラント/ベンダー」から始めます。
これは、ニュー ブリテンの Linktype、Frazer の Flashpoint、Twin Rocks の Quinu、Henning の Layo としてトップ 4 を示しています。下位 4 つに関しては、ミドルタウンの Wikido が全体的に最悪であることが示されています。
ここで、 「ベンダーとプラントの結合」のページに移動して、結果が一致するかどうかを確認します。
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.
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.
ご覧のとおり、カードの下位 4 位としてミドルタウン、ウォルドボロ、バーリング、チェサニングが表示されています。これは、プラント/ベンダーのダウンタイム分別の測定が正しいことを意味します。
次に、 「Plants By Downtime Minutes」のカードを見てみましょう。
これは、トップ 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.
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.
This means that we’re seeing the correct results for plants.
This time, let’s look at a card that ranks Vendors By Defects.
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.
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 つも一致するかどうかを確認してみましょう。
Yombu が、カードの下位 4 つのリストに含まれる他の 3 人とともに、実際に最悪であることがわかります。
Dax メジャー分析: メジャー分岐の適用
以前に行った DAX メジャー分析では、ダウンタイム分別のプラント/ベンダーの背後にあるメジャーのみを調べました。しかし、他のカードの対策はどうやって進めたのでしょうか?ここでメジャー分岐が登場します。
メジャー分岐には、既存のメジャーを使用して他の結果を導き出すことが含まれます。
このレポートでは、先ほど説明した測定値をコピーして貼り付け、必要に応じていくつかの要素を変更しました。
明らかに最初に変更するのはメジャー名です。しかしそれ以上に、参照しているデータを変更する必要もあります。たとえば、元の測定には工場の場所とベンダーのデータの両方を使用しました。
ただし、 「Plants By Downtime Minutes」に同じ測定を使用する場合は、ベンダー データを削除して、「Plant Location」だけに焦点を当てる必要があります。
CONCATENATEXを使用したときと同様に、両方のデータセットを参照する同じ小節の他のすべての部分についても変更する必要があります。
ダウンタイム分についても同じことが当てはまります。Average Downtime Minutes または Defects を調べるカードに取り組む場合、必要なのはこの部分を変更することだけです。
メジャーの「@DowntimeMins」と記載されている部分については、欠陥数や平均ダウンタイム分を参照している場合でも、そのままにしておいても問題ありません。
ただし、物事を特定の順序に保ちたいタイプの場合は、これを変更することもできます。これを変更する場合は、ページ全体で変更する必要があることに注意してください。つまり、同じ結果を得るために追加の努力をする必要があります。
メジャー分岐を使用することでどれだけの時間を節約できたか想像できるでしょう。この方法で実行すると、作業中のレポートのすべての部分に対して新しいメジャーを作成し続ける必要がなくなります。見たい結果に基づいて既存のメジャーを調整するだけで済み、レポートの作成時間を大幅に短縮できます。
これをどのように行ったかを示すために、 「ダウンタイム分ごとのベンダー」を見てみましょう。
メジャーを取得すると、Plants / Vendors By Downtime Minutesと同じ 41 行があることがわかります。
ただし、ステップ 1 では、ベンダー データのみを参照し、プラントの場所を削除しました。
他の該当する場所のデータも変更しました。
これが結果の基になっているため、ダウンタイム分を保持しました。
したがって、これらは、レポートの他の領域に適用できるように、測定を簡単に修正するものです。
ここで別の例を紹介しましょう。今回は、欠陥別ベンダーを見てみましょう。
もう一度言いますが、ここではベンダーに注目しているだけです。
ここで変更したのは、 Downtime Minutesへの参照です。代わりに、Defects を使用しました。
また、他の行がまだ Vendor のデータを使用していることも確認しました。
メジャー分岐を使用した LuckyTemplates での DAX メジャー
DAX メジャー グループのレポートへの実装 - LuckyTemplates モデリングのレビュー
DAX メジャーのランキングを使用した LuckyTemplates での独自の分析情報の抽出
結論
これは、Antriksh による強力な DAX の成果でした。これを使って作業し、分岐させ、レポートのさまざまな部分に適用するのは間違いなく楽しかったです。
私たちが行った詳細な DAX メジャー分析は、プロセスのあらゆる側面を理解するための優れた方法でもありました。長いメジャーに取り組むのは最初は気が遠くなるように思えるかもしれませんが、このように徹底的な DAX メジャー分析を行うと、問題を解決するのに役立ちます。
このページの作業では、LuckyTemplates のような協力的なコミュニティを持つことの重要性も強調しました。アントリクシュのような人々だけでなく、独自のヒントや秘訣をいくつか持っている他のメンバーや専門家と協力する機会が誰もにあることは素晴らしいことです。
ではごきげんよう、
ジャレット
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて