8 Replies Latest reply on Mar 6, 2015 1:14 AM by MAKI TOMITA

    Null値の「0」表示について

    MAKI TOMITA

      こんにちは、富田と申します。

      どなたかご存知の方いらっしゃいましたら、ご教示ください。

       

      現在、商品ごとの月別稼働率をTableauで集計しており、

      下記のような一覧(行ごとに商品が異なる)・グラフを作成しています。

      該当月に稼働が1日もない商品の場合、

      一覧では下記4行目のように空欄、グラフでは下記のように“12月“の項目自体が

      なくなって表示されるところを、どちらにも「0」を表示させたいのですが、

      何か方法はあるのでしょうか?

      どなたかご存知の方いらっしゃいましたら、是非ご教示ください!

      お願い致します!

        • 1. Re: Null値の「0」表示について
          Yutaka Sato

          一番簡単なのは、マニュアルにあるような形でZN関数を使うことだと思います。

          ZN(expression)

          式が NULL でない場合は式を返し、それ以外は 0 を返します。NULL 値の代わりにゼロ値を使用するには、この関数を使用してください。

          ZN([Profit]) = [Profit]

           

          また他にも以下のような方法があります。

          http://kb.tableau.com/articles/knowledgebase/populating-empty-cells-with-zeros-existing-data

          • 2. Re: Null値の「0」表示について
            MAKI TOMITA

            Satoさん

             

            早速のご回答ありがとうございます!

            こちらの説明がイケなかったのですが、稼働日・商品名のセットがユニークのデータになっているので、

            稼働がない日はデータに存在しておらず、Nullですらありませんでした。

            それでは上記方法でも0は表示されませんよね?(されませんでした)

            データに存在しないが項目がある場合(上記一覧のように12月は他の商品で稼働があるため項目は表示される)でも

            0とする場合はどのようにすれば宜しいのでしょうか?

             

            説明が下手で大変申し訳ないのですが、ご教示いただけますと嬉しいです。

             

            どうぞ宜しくお願い致します。

            • 3. Re: Null値の「0」表示について
              Yutaka Sato

              TOMITAさん、

               

              データがないのであればLOOKUP()関数を利用してデータがないときはnullを返して、nullならZN()関数で0を返すようにするとできるとおもいます。サンプルで試しましたらできたので、

               

              KBにある ZN(LOOKUP(SUM([Sales]),0)) のような感じでも表示できなかったでしょうか?

               

              先ほどのKBの一番上の方法です。

              http://kb.tableau.com/articles/knowledgebase/populating-empty-cells-with-zeros-existing-dat

               

              佐藤

              • 4. Re: Null値の「0」表示について
                MAKI TOMITA

                Satoさん

                 

                確認遅くなりましてすみません。

                ご丁寧に教えていただき有難うございます!

                LOOKUP関数も利用したら、できました!

                 

                度々の質問となり大変恐縮ですが、下記、ご教示ください。

                質問をあげさせていただいた際に掲載した一覧では、

                稼働時間・稼働日数・営業日数・稼働率 の4項目を載せているのですが、

                稼働日数以外の項目は、値を算出するのに既に計算フィールドを使用してしまっています。

                この場合、既にある集計に今回のZN・LOOKUP関数の集計を重ねることになり、

                別の方が質問されている通り、現状使用しているDesktop8.2のバージョンでは出来ない、という

                ことで宜しいでしょうか?

                • 5. Re: Null値の「0」表示について
                  Keiko Iizuka

                  Tomitaさん

                   

                  基本的には、Desktop 8.2での「集計の集計」は非常に難しいです。

                  表計算関数を駆使すれば可能な場合もありますが、算出方法だけでなくビュー内での表示方法にも依存するので、ケースバイケースです。

                  1. 使用するデータソース

                  2. 算出したい値

                  3. その値の表示方法

                  の3つを共有いただければ検討できるので、これらの情報共有が可能であれば可能不可能のご回答はできるかと思います。

                  • 6. Re: Null値の「0」表示について
                    MAKI TOMITA

                    Iizukaさん

                     

                    有難うございます。

                    お伝えの仕方が正しいか不明なのですが、

                    以下の情報になります。

                     

                    1. 使用するデータソース

                    下記①②のデータを「r_id」で左結合し、①の稼働データに②の所属情報を追加しています。

                    (①のデータは日付・商品名でユニークとなるデータです)

                     

                    ①のデータ

                    年月,所属組織,master_r_id,商品名,日付,稼働時間_分,稼働距離_km,稼働回数,営業日数

                    201404,A支店,2990,商品1,20140401,34,9.87,4,21

                    201404,A支店,2995,商品2,20140402,104,109.89,3,21

                    201404,A支店,2994,商品3,20140403,129,81.9,5,21

                     

                    ②のデータ

                    r_id,ID,総支社,総支社ID,部,部ID,支店,支店ID,商品名

                    2990,13120069,aaa支社,146,XXX部,64502,A支店,574,商品1

                    2995,13120070,aaa支社,146,XXX部,64503,A支店,574,商品2

                    2994,13120071,aaa支社,146,XXX部,64503,A支店,574,商品3

                     

                     

                    2.表示方法と算出したい値

                    以下のように、所属・月別に、稼働時間・稼働日数・営業日数・稼働率を

                    表示したいです。商品によっては、月に一度も稼働がないものがあるのですが、

                    その場合は「0」として表示させたいです。

                     

                    値の計算は以下の計算式を組んで表示しています。

                    稼働時間:[稼働時間_分]/60 の合計

                    営業日数:SUM([営業日数])/COUNT([営業日数])

                    稼働率:COUNT([日付])/((SUM([営業日数])/(COUNT([営業日数]))*COUNTD([商品名])))

                     

                    稼働日数は計算式を組まずに[年月]のカウントで値が算出できるので、

                    Satoさんに教えていただいたように、ZN(LOOKUP(COUNT([年月]),0))の計算式を組んで

                    稼働がない月には0が表示されるようになったのですが、稼働時間・営業日数・稼働率は

                    上記のとおり既に計算式を組んでしまっているので、ZN関数を繋げることができません。

                    可能であれば、この3項目にも稼働なしの場合は0を表示させたいのですが、

                    何か策はあるのでしょうか。

                     

                    お手数ですが、もしお分かりになるようでしたら教えていただけますと大変助かります。

                    宜しくお願い致します。

                    • 7. Re: Null値の「0」表示について
                      Yutaka Sato

                      こちら何かサンプルのtwbxいただけないでしょうか? 

                      • 8. Re: Null値の「0」表示について
                        MAKI TOMITA

                        佐藤さん

                         

                        ご返信有難うございます。

                        確認が遅くなりまして失礼致しました。

                         

                        上記、くどくどと説明をしてしまいました・・

                        分かりづらくてすみません。

                        サンプルを作成しましたのでご確認いただけると幸いです。

                        ※値の算出など、もっとシンプルな方法があったかもしれません。。

                         

                        もしお分かりになるようでしたら、ご教示ください。

                         

                        大変お手数ですが、宜しくお願い致します。