Python における Self とは: 実際の例
Python における Self とは: 実際の例
今日は、 LuckyTemplates の月次平均結果に基づく累積合計に関するユニークなテクニックを取り上げたいと思いました。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
月次平均結果の計算の日付範囲を設定するには、日付スライサーを使用します。
LuckyTemplatesスライサーは、レポートの他の視覚化に表示されるデータセットの部分を絞り込むフィルター処理の代替手段 です。日付スライサーまたは フィルターは、LuckyTemplates で相対的な日付範囲を制限するために単に使用されます。
一方、累積合計 は、時間の経過やその他の系列や進行とともに増加するデータの合計を表示するために使用されます。
を確認するときは、特定の日付、または月および年にわたって累積合計を分析します。この記事では、単に月単位の累積合計を計算します。
この特定の手法の興味深い点は、 month だけのコンテキストがある場合、選択されているさまざまな年を考慮する必要があることです。これは、LuckyTemplates の日付スライサーの選択またはページ レベルのフィルターによって発生する可能性があります。
での非常に興味深いトピックに由来しています。もっと詳しくレビューしたい場合はこちらをチェックしてください。
目次
問題の評価
誰かが月と年ではなく、月の名前に基づいて累計売上を表示したいと考えていました。
ここで問題となるのは、選択した日付が最終的に1 年にまたがってしまう場合です。
したがって、選択された特定の年と同様に、累積合計を取得し続けることができる可能性が最も高い方法を分析する必要があります。
たとえば、日付テーブルに来年1 月から 9 月までがある場合、そこにはおそらく合計 20 か月が含まれることになります。この場合、標準の累積合計 パターンは機能しないため、修正する必要があります。
これは間違いなく興味深いシナリオであり、誰にとっても高度なDAXについて学ぶ良い機会になります。
まず、標準の累積合計パターンが実際にどのように機能するかを簡単に見てみましょう。
累積合計パターンの確認
このサンプルでは、非常に一般的なSalesを見ていきます。
この数式は、選択した範囲内の売上を計算するように設定されています。ここでの ALLSELECTED 関数は主に、この特定のレポート内で選択された日付範囲に基づいて値を表示します。
このLuckyTemplates 日付スライサーでわかるように、現在は2 月 2 日から 9 月 20 日までの間です。
さて、この現在のコンテキスト テーブルで、累積売上の式が完全に正常に機能することを検証できます。これは、1 月から 9 月までの合計売上の累計が引き続き計算されるためです。
月次平均結果に累積合計パターンを使用する際の矛盾
現在、累積合計数式は正常に機能していますが、日付スライサーに基づいて計算を導出するときに問題が発生する可能性があります 。
画像に示すように、日付の範囲をゆっくりとさらに延長し、翌年まで引き延ばしました。
この数式は月次のTotal Salesを累積しますが、累積を新しい月にも反映し始めます。したがって、これにより、 1 月の値は奇数になります。これは、実際には、それまでのすべての月の継続にすぎません。
言い換えれば、正しく計算されていますが、実際には特に望む結果が得られるわけではありません。
ここで現在行われていることは、 1 月の値から始まり12 月まで続くことです。その後、再び1 月に戻り、12 月から累積していきます。
もう一度日付をドラッグすると、累積売上高が進むにつれてさらに下がっていることがわかります。
そして、実際にかなり長くドラッグしてみると、 1 月から5 月までの累積売上がすべて2,300 万、つまり合計になっていることがわかります。それは、一年ごとの毎月のサイクルのようなものです。
ここで実際に必要なことは、月次の平均結果に基づいて更新された累積合計を取得することです。ここでは、 1 月の Total Salesから始まり、そこから累積されます。
これを解決するには、あなたが考えているものとは少し異なるテクニックが必要です。また、合計が正しいこと、およびユーザーからの可能性がある日付スライサーのさまざまな選択に合わせて合計が動的に調整されていることを確認する必要もあります。
月間累計売上高欄
この特定の問題に対する公式の結果を導入し、それが実際に機能する理由を示します。
ここでは、毎月のTotal Salesが常に累積されていることがわかります。
しかし、これを拡張しようとするとどうなるかを見てください。
必ず1月から積み立てられます。Cumulative Salesパターンのような奇妙な計算は行いません。
明らかに、[累積月次売上]列の方がより論理的な結果が得られます。
一方、累積売上高の結果は、視覚化の観点からはあまり意味がありません。
このソリューションで私が行ったことは、この特定のシナリオに必要な答えを提供する新しいパターンを再作成したことです。
ここで、提供されたソリューションをどのようにして解決できたかについて説明します。
日付範囲の作成
数式を確立するには、最初に日付範囲を作成する必要があります。
これを作成するために、 MinDate 変数で表される最小の dateを初期化しました。もう 1 つは、 MaxDate 変数で表される最大日付です。次に、 ALLSELECTED、MIN、を使用して各変数の計算を行いました。
ALLSELECTED関数は、行フィルターと列フィルター以外の明示的なフィルターとコンテキストを保持しながら、クエリ内のすべての行と列を表すコンテキストを取得します。この関数を使用すると、クエリで視覚的な合計を取得できます。
一方、列内または 2 つのスカラー式間の最小値を返し、MAX関数は最大値を返します。
最小日付と最大日付を初期化した後、累積合計パターンで行った方法とは少し異なる方法で日付範囲を作成できました。
月の名前と総売上高が含まれるテーブルのこの部分を再作成する必要がありました。これは、 この特定の日付範囲内でのみ計算したいためです。
そこで、SUMMARIZE関数を使用して、日付範囲を絞り込むことができました。
MonthName 列と MonthNumber 列の追加
ご覧のとおり、DatesテーブルのMonthName列と、基本的にTotal SalesであるSales列が組み込まれています。
さて、式の最初の部分は現在、累積売上パターンとは大きく異なります。
さらに、 MonthNumberをロジック パターンに追加しました。これはDates テーブルから取得されました。これは、1 月から 12 月までの 1 から 12 までの値を設定する仮想または架空の列として機能します。
MonthNumber列の値から、月数に基づいて累積合計を計算できました。
月数に基づいて累計を計算する
より具体的には、式の後続部分は、指定されたテーブル内のすべての単一行を反復処理します。
次に、MonthNumber列がその年の最大の月以下であるかどうかが評価されます。
この部分は現在の月番号を計算しています。
たとえば、今がMayの場合、 MonthNumberの値は5になります。次に、 、単一行ごとにこのテーブルを反復処理します。
その時点で、5 以下の数値があるかどうかが評価されます。存在する場合は、それらも計算に含めて、テーブルからその列を維持します。
最後に、 Salesの金額をカウントアップします。
これで11 行目、つまり11 月に到達します。
この部分では11 月が 11 と評価されました。
テーブル全体を反復処理し、月の 11 日がコンテキスト内の現在の月 ( 11 ) 以下であるかどうかを評価しました。
内のこの特定の列で表される Salesをカウントアップします。
日付のない LuckyTemplates の累積合計 –
LuckyTemplates の高度な DAX 累計: DAX 数式を使用して計算する方法
LuckyTemplates で異なる月にわたる累積情報を比較する
結論
私が提案したソリューションでは、SUMX と SUMMARIZE を含む DAX 数式を組み合わせて使用しました。ただし、これらの特定の関数を FILTER ステートメントでラップすることも必要です。
このフィルター ステートメントにより、動的な日付ロジックに基づいて最終的に正しい累積合計を取得できるようになります。
このチュートリアルでは少し学ぶべき点がありますが、非常に興味深い内容です。これらのテクニックのいくつかを独自のモデルに実装できることを願っています。
LuckyTemplates内で多くの組み合わせる方法を学ぶと、これらの固有のシナリオを解決することが完全に達成可能になります。
これに飛び込んで頑張ってください。
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて