6 Replies Latest reply on Sep 10, 2018 6:45 AM by Shinichiro Murakami

    任意のパーティション内における累計について

    Kosuke Kikuchi

      Tableau Community の皆さまはじめまして。

      初投稿させて頂きます、菊池と申します。

       

      標記の件なのですが、

      累計の値を使用して新たにディメンションやメジャーを作成したいと考えています。

      その手前の作業として、以下のサンプルを使って、顧客名ごとに売上を累計してあげたいです。

       

      説明書きやネットで調べたのですが、いまいち理解が追いつかず、ご教授頂けると幸いです。

       

      windows関数で累計を出すことは出来たのですが、顧客名の切り替わりでも累計が計算されてしまうため、

      これを顧客名が変わったら累計をリセットさせたいです。

       

      拙い説明で申し訳ありませんが、何卒よろしくお願いいたします。

       

      累計算出.png

       

      累計算出(LOD).png

        • 1. Re: 任意のパーティション内における累計について
          LM Seven

          どうもLM-7です。

           

          惜しいところまで行っていますね。

          実は表計算には「表計算の編集」というメニューがあります。

          累計の表計算を設定した[売上]ピルを右クリックして「表計算の編集」を選ぶと次のような画面が出ます。

           

          ここで特定のディメンションで[顧客名]と[オーダー日]を設定し、再開間隔を[顧客名]とすればほしい値が得られます。

           

           

          ただこの値を使って別のことをしたい場合表計算では役に立たないので、LOD表現を使う必要があります。

           

          「任意のパーティションにおける」累計

          この「任意のパーティション」における計算をするのがLOD表現です。

           

          顧客ごとに売上を集計したい場合、次のLOD表現を使います。

           

          {FIXED [顧客名] : SUM([売上])}

           

          FIXEDでパーティション(LOD:詳細レベル)を示し、コロンの後ろに集計式を書きます。

          この場合、顧客名のパーティションで売上をSUMしなさいという意味になります。

          顧客単位の集計値が計算されていることが分かります。

          1 of 1 people found this helpful
          • 2. Re: 任意のパーティション内における累計について
            Shinichiro Murakami

            前半部分については、以下の式は簡易表計算でなく、ご自分で作成されていると思いますが、累計を反映できてません。

            直前ひとつと現在の2つのみの合計です。

             

            ifnull ( window_sum ( sum ( [ 売上 ] ) , first() , 0 ) ,  0 )

            に変更が必要です。

             

             

             

            Shin

            • 3. Re: 任意のパーティション内における累計について
              Kosuke Kikuchi

              LM-7さん、Shinさん

               

              遅い時間にも関わらずご返信頂きましてありがとうございます!

               

              サンプルスーパーストアだと少し表現しづらいため、別のサンプルで再取得しました。

              LM-7さんのおっしゃる通り、累計の値を使って別のことをしたいため、LOD表現が必要であることは理解しました。

               

              伝え方が難しく誤解を招いてしまったかもしれないので、再度やりたいことを記載させて頂きます!

              今回のサンプル上では、顧客ごと、月ごとで金額の累計を出したいです。

              その際、表計算で累計を算出して表示するというよりかは、累計の値を利用して新たにフラグなどを付与させたいと考えています。

              ですので、FIXED関数で月ごとにサマリするというよりも、顧客ごと、月ごとのパーティション内で金額の累計を算出してあげたいです。。

               

              累計算出(LOD2).png

               

              累計算出2.png

              上記はLM-7さんのLOD表現を参考に算出出来ましたが、

              ここを累計の金額で算出することが最終目標です!

               

              >Shinさん

               

               お恥ずかしい限りで、確かに全く累計の算出になっていませんでした。。

               ご指摘ありがとうございます!

               

               

              何卒皆様のお力添えよろしくお願いいたします。

              • 4. Re: 任意のパーティション内における累計について
                Shinichiro Murakami
                その際、表計算で累計を算出して表示するというよりかは、累計の値を利用して新たにフラグなどを付与させたいと考えています。

                 

                 

                程度のほどが分からないのですが、表計算でない方法でまじめに要望にお応えすると、以下のようなものになります。

                 

                ただ、大いなるリスクとして、これを月単位とかで再度合計するとハチャメチャな数字になるので、

                本当にこのニーズに、この形で対応するのが良いかは?です。

                以上のリスクは本当に大きいので、たぶん、多重的な表計算で対応した方が良いと思います。

                 

                具体的なニーズをイラスト付きで説明してもらえれば、より「一般的な」解法をご提供できると思います。

                 

                ちなみに、計算式は以下で、これが最もシンプルな記述です。

                 

                Thanks,

                Shin

                1 of 1 people found this helpful
                • 5. Re: 任意のパーティション内における累計について
                  Kosuke Kikuchi

                  Shinさん

                   

                  返信が遅くなり申し訳ありません。

                   

                  確かに本シート上ではやりたいことが実現されていますが、

                  出し方によってはリスクがありそうとのこと、年頭に置かせて頂きます。

                   

                  一旦やりたいこととリスクについて理解出来ましたので

                  その旨をメンバに共有しつつどう対応していくか決めたいと思います。

                   

                  ありがとうございました!

                  • 6. Re: 任意のパーティション内における累計について
                    Shinichiro Murakami

                    Kosuke Kikuchi  san

                     

                    一旦これでよければ、私の回答に「正解」マークをつけて、スレッドを閉じて頂けるでしょうか。

                     

                    手段を比較するのは、「一般的なやりかた(テーブル計算)」のメリットデメリットを知って、お互いを比較した方が良いようにも思うので、

                    別スレッドで、「その後やりたい部分」を説明してもらっても良いかとは思います。

                     

                    繰り返しですが、上記の方法は一般的ではないです。(似た案件100件中 1件 以下くらいかと思います)

                     

                    Thanks,

                    Shin