5 Replies Latest reply on Feb 26, 2018 8:29 PM by Shunta Nakajima

    レコードが無い部分のFixed計算

    Kazuhiro Miyake

      度々お世話になります。Miyakeと申します。

       

      顧客、年月、売上のデータがあり、例えば顧客Aの2月のデータが存在しないとします。

      顧客を除外して月の売上を集計したければ、{FIXED 年月:sum(売上)}でいいのかな?と思ったのですが

      データが無い月については、Fixedの結果も表示されず。

      下記のように集計値は表示されてほしい場合、どうすれば良いのでしょうか・・・?

      # 過去にやり取りがないか検索してみたのですが、見つけることができませんでした・・

       

      WS000006.JPG

        • 1. Re: レコードが無い部分のFixed計算
          Shinichiro Murakami

          他の制約条件が分からないですが、最終形だけ合わせるならこれでいいんですかね。

           

           

           

           

          Thanks,

          Shin

          • 2. Re: レコードが無い部分のFixed計算
            Shunta Nakajima

            Shinさんの指摘どおり制約条件次第ですが、もしトピックタイトルどおり、FIXED LOD計算を

            使わないといけないようなシーンであればこういう方法もあるのでご参考までに。

             

            ・FIXED売上 は同じ月、顧客であればすべての行に同じ値が入っているので1つ取り出す

            回答1.JPG

             

            ・これを「FIXED売上」のかわりに二重軸に置いたあと、表(下)または 顧客 単位に計算範囲を変更

             

            回答2.JPG

            • 3. Re: レコードが無い部分のFixed計算
              Kazuhiro Miyake

              Shin様、Nakajima様

              ご回答頂きありがとうございます。

               

              すいません。制約条件として顧客でフィルターする事があります。

              #トータルとディメンション毎の値を表示するなんて普通にできそうなのですが、

              #Fixedを使おうとするのがそもそも間違いなのでしょうか・・・

              • 4. Re: レコードが無い部分のFixed計算
                Shinichiro Murakami

                顧客でフィルターする事があります。

                となると、元データ触らないとちょっと無理っぽいですね。

                 

                Shin

                • 5. Re: レコードが無い部分のFixed計算
                  Shunta Nakajima

                  顧客でフィルタしたときに期待する挙動次第ですが、

                  「フィルタしたときにトータルも変わる(フィルタで表示されている顧客のトータルを出したい)」

                  のであれば実現はできると思います。

                   

                  ・フィルタしたときにデータがある行が0行になってしまった場合にNULLが出るのを防ぐために

                  どちらのバージョンもZN()をかぶせる

                   

                    ZN(WINDOW_SUM(SUM([売上]))) 

                     または

                    ZN(WINDOW_MIN(MIN([FIXED売上])))

                   

                  ・LOD計算を使った場合のみ、顧客 のフィルタを右クリックして[コンテキストに追加] 

                   するか、もしくは「FIXED売上」を編集し、FIXEDではなくEXCLUDEを使って

                    { EXCLUDE [顧客]: sum([売上])}

                   にする

                     

                   

                  「フィルタしてもトータルは変えない(全顧客のトータルを常に出したい)場合」の実現には

                  元データから見直さないといけないように思えます。

                  前回のNakajima回答で一見実現できそうですが、フィルタのしかたによっては一部のトータルが正しく

                  出ないので、ダメだと判断しました。

                   

                   

                  >#トータルとディメンション毎の値を表示するなんて普通にできそうなのですが、

                  >#Fixedを使おうとするのがそもそも間違いなのでしょうか・・・

                   

                  ただトータルが出ればいい、って話だと合計行表示したら終わりですが・・・

                  同じ場所に両方の数値を出すにはちょっと考慮が必要かなと感じます。

                   

                  Nakajima