LuckyTemplates の日付なしの累積合計 – Advanced DAX

ここでは、日付やインデックス列を使用せずに累計または累計を計算する方法を説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

実際、LuckyTemplates フォーラムでこれについて質問した人がいました。投稿したメンバーは、必要な情報に対して非常に複雑なアルゴリズムが実行されていることに遭遇しました。累積合計または累計の要件はありましたが、日付はなく、単なる乱数生成器のように見えました。しかし、最初の結果、2 番目の結果、3 番目の結果などから累積合計を生成する必要がありました。それが、解決策を見つけるためにいくつかのアイデアを試してみた理由です。 

これは簡単ではなく、公式に入ると少し複雑になる可能性がありますが、解決策は動的であり、それが可能であることさえ驚くべきことです。これは、累積合計や同じ性質のものを必要とするさまざまな環境間で複製できるものです。

これが今日取り上げる例です。

LuckyTemplates の日付なしの累積合計 – Advanced DAX

この場合、数値が最高から最低の順に並べられた合計売上があります。ここでは累積合計を求めているので、ランク 1 をランク 2 に加算し、次にランク 3 をそれに加算するなど、テーブルの下に進むにつれて合計を確認したいと考えています。

場合によっては、自分に合ったビジュアライゼーションを選択できることに注意してください。たとえば、ウォーターフォール チャートを使用して、必要な結果を得ることができます。

ただし、この具体的な例では、この種の視覚化は実際には機能しません。

ここで、日付とインデックス列がない場合でも累積合計を取得する方法の手順に進みましょう。

目次

インデックスの作成

ランダムな値から累計を作成することは不可能だと思います。したがって、最初に行う必要があるのは、インデックスを作成することです。このために、動的なインデックス列を簡単に作成できるようにするため、What-If パラメーターを使用します。

LuckyTemplates の日付なしの累積合計 – Advanced DAX

したがって、これをランキング指数と呼ぶことにします。1 から 200 まで、1 ずつ増分してみましょう。ページにスライサーを追加する必要はありません。

このステップでは、そのインデックスをモデルに取り込みます。恋愛やそれに類するものを介して結合することはありません。これは、後で行う計算の一部をサポートするためのものです。

テーブルの作成

ここで、これをテーブルにドラッグして、数値を 1 から順に確認できるようにします。

LuckyTemplates の日付なしの累積合計 – Advanced DAX

ここで実際に作成したいのは、値を表示する結果ですが、実際には列ではありません。したがって、メジャー内の値を返します。これを行うには、別のメジャーを作成し、それを Product By Rank と呼びます。

LuckyTemplates の日付なしの累積合計 – Advanced DAX

ここで式は少し複雑になりますが、それでも非常に実行可能です。

そこで、CALCULATE 関数を利用して、テキスト値を返します。次に、 SELECTEDVALUE 、 Product Nameを使用し、複数の値を使用します。次に、VALUES 関数と製品名によるフィルターを使用します。

ここで追求しようとしているのは、ランキング指標値です。そこで、すべての製品に対して RANKX を実行し、次に Total Sales を降順で実行します (最初のテーブルがそのようにフィルター処理されているため)。

実際にメジャーを作成したので、What-If パラメーターからランキング インデックス値が自動的に生成されます。 

これをテーブルに持ち込みましょう。実際にすべてのランクに対してこれらの結果が返されていることがわかります。これで、ランキング インデックスと製品別ランキングの両方が得られました。

データの複製

どの製品がどのようにランク付けされているかを示す表ができたので、特定の各製品の総売上高がいくらになるかを調べたいと思います。そのためには、古いテーブルから新しいテーブルに総売上高を複製する必要があります。

ただし、今回は、データ モデルの自動フィルターを利用することはできません。メジャーの実際の結果によってフィルター処理します。

そのためには、Product Sales と呼ばれる新しいメジャーを作成する必要があります。そこで、総売上高を計算してから、新しいフィルターを使用して別のコンテキストを作成します。これは、数式が製品名で値をフィルタリングすることを示していることを意味します。次に、先ほど作成したこの製品ランキングを使用して、特定の製品名のみのフィルターを作成します。

さて、このフィルターを使用して製品 63 を見ると、製品 63 の売上が表示されます。つまり、このセクションでは具体的な対策を検討しながらデータを複製しました。

累積合計の作成

今回はこのランキング指標をもとに累計を作成していきます。これにより、LuckyTemplates のさまざまな機能をどれだけ活用できるかがわかります。

そこで、新しいメジャーを作成し、それを「Cumulative Product Sales」という名前にします。ここでは必ず正しい変数を使用してください。この例では、簡単にするために 1 つだけを使用します。これをインデックス ランクと呼び、ランキング インデックス値を参照します。

LuckyTemplates の日付なしの累積合計 – Advanced DAX

以下の式を見ると、かなり複雑であることがわかります。SUMX関数を利用し、フィルターを実行してから、製品に対して SUMMARIZE 関数を使用しました。 

これにより、1 行目、2 行目、3 行目、4 行目、5 行目などを実際に後ろから見ることができる動的なテーブルが作成されます。たとえば、ランク 5 より下のランキング結果が必要な場合は、合計を含むテーブルでそれがわかります。

また、この特定のテーブルで行っていることは、特定の顧客ごとの売上を表示していることもわかります。また、その顧客の売上ランキングも参照したいので、実際に別の RANKX を入力し、[すべての製品]、[総売​​上高]、[説明] の順に移動する必要があります。

ここで最後に行う必要があるのは、売上ランキングがインデックス ランク以下であるかどうかに基づいて、この特定のテーブルをフィルタリングすることです。これをテーブルに取り込むと、これが実際に累積合計を作成していることがわかります。


LuckyTemplates で DAX を使用して動的な累積合計を作成する
LuckyTemplates での累計: DAX 式を使用して計算する方法
LuckyTemplates で異なる月にわたる累積情報を比較する

結論

今日、私たちはいくつかの重要な学びを経験しましたが、どのようにしてこれらすべての新しい対策を作成できたのかは本当に驚くべきことです。 

基本的に、最初のテーブルを仮想的に再作成することができ、必要なデータに応じてフィルタリングできるようになりました。そこで、売上ランキングが必要だとしましょう。ここのインデックスランキングの下にそれが表示されます。

ここで行ったもう 1 つのことは、このテーブルですべての行または製品を評価できるようにしたことです。まさにこのフィルターが機能する理由です。したがって、行 1 ~ 5 を確認するだけで、その特定のテーブルの売上を取得できます。次に、それを 15 行まで拡張し、その 15 行すべての売上をカウントアップします。このリストを下位に移動するときにこれを動的に実行し、累積合計を継続的に取得できるようにします。

この解決策は、日付やインデックスがない場合だけでなく、他の同様の状況にも適用できることに注意してください。これが必要なユニークな例を見つけて、それを活用する方法を見つけていただければ幸いです。

***** LuckyTemplates を学習していますか? *****






Leave a Comment

Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。