9 Replies Latest reply on Nov 29, 2017 5:44 PM by Takashi Miyoshi

    セカンダリデータソースのデータ重複を解消したい

    Takashi Miyoshi

      いつもお世話になっております。

       

      ややこしい話なのですが、またデータブレンドで解決方法がわからない問題にあたってしまったのでアドバイスをいただきたく思います。

       

       

      ■データ
      ・プライマリとなるメインのデータソース

       データ1.xlsx

       月、金額、ソリューション名、担当名を持つ
       月、ソリューション、担当の組み合わせは、月によっていろいろパターンがある
       (以下の4月 ソリューション3のように、ひとつのソリューションに対して複数の担当が設定される場合もある)

       

      1.png

       

      ・メインデータソースにブレンドする2つのデータソースがある
       データ2(変動情報).xlsx
        →月、上下限幅、ソリューション名、担当名を持つ
         月、ソリューション名、担当名でメインデータとブレンド
         上記の組み合わせはメインデータに無いものもある

       

      2.png

       

       データ3(金額2).xlsx
        →ソリューション名、金額2を持つ
         ソリューション名でメインデータとブレンド
         ここに存在するソリューション名はメインデータにもある

       

      3.png

       

       

      ■作成したい表/グラフのイメージ

       金額_ピンポイント

        データ1の「金額」 - データ3の「金額2」

       金額_上限値

        データ1の「金額」  - データ3の「金額2」 + データ2の「上限幅」

       金額_下限値

        データ1の「金額」  - データ3の「金額2」 + データ2の「下限幅」

       

      4.png5.png

       

       

      ■問題点
      4月の「金額2」は、ソリューション1~3 の「金額2」合計値の「9」になってほしいが「13」になっている。

       

      5-2.png

       

      >(以下の4月のソリューション3のように、ひとつのソリューションに対して複数の担当が設定される場合もある)
       →このパターンに当てはまっており、以下のようにソリューション3に対して担当ごとに金額2が計上されてしまっているため。
        ソリューション3 は、複数の担当が居る場合でも 1つ分の「4」だけ計上したい。

       

      6.png

       

       

      ■制限事項
       メインデータソースと、変動情報や金額2のデータソースを結合するのはNG

       

      ■試してみたこと
      ・「データ2(変動情報)」と「データ3(金額2)」のデータをテーブル結合
       結合条件は「ソリューション名」

      =========================================================================================================

      ①重複したレコード数で金額2の合計値を割る

       

      7-2.png

      7-3.png

       行に「ソリューション名」を設定している場合は、各ソリューション単位で重複したレコードを求めて金額2の値を出すことができた。

       

      7.png


       ただし、行に「ソリューション名」が含まれない場合は、対象となる全ソリューションのレコード数で金額2の合計値を割ることになるため、ほしい値とならない。

       

      8.png

       

      =========================================================================================================
      ②LODを使用し、ソリューション名単位での最小値を求める

       

      10-2.png

       

       メインテーブルとブレンドしない場合、「ソリューション名」が行に含まれなくても欲しい値を求めることができた。

       

      9.png

       

       ただし、メインテーブルとブレンドした場合、エラーとなって使用することができない。
       メッセージ:1個または複数のフィールドでサポートされていない集計が使用されているため、セカンダリデータソースを混合できません
       

      10.png

       

      =========================================================================================================


      という状況です。

       

      以下の記述から、うまくやるとブレンドしたデータでも②の対処が使えるのではないかと思ったのですが、書いてある意味がよくわからず・・・。
      (ブレンドビューって??)
       http://kb.tableau.com/articles/issue/error-cannot-blend-the-secondary-data-source-because-one-or-more-fields-use-an-unsupported-aggregation-when-data-blending?lang=ja-jp
        >注: このエラー メッセージは、データ ブレンドを使用するビューで詳細レベル式を使用する場合にも表示される可能性があります。
        >セカンダリ データ ソースから LOD 式を使用する前に、プライマリ データ ソース内のリンク フィールドがブレンド ビューに入っている必要があります。

       

      わかり辛い点、説明不足な点もあるかと思いますがよろしくお願いします。

        • 1. Re: セカンダリデータソースのデータ重複を解消したい
          Shinichiro Murakami

          ミヨシさん

           

          いやこれ、マジで面倒くさいですわ。

           

          まず、表計算使わないといけないでしょうね泥沼のほう。。。簡易表計算の前年比成長率

          Blendはややこしいんですよ、Tableauの人が「前からあって解なし」って言ってはるバグ(?)もあるみたいなんで。。折れ線グラフと棒グラフの結果が異なる

          ってこれもミヨシさんでしたね。

           

          Joinできないとなると、Blendなのですが、Blend=「LODを諦める」ということなので、表計算しか手段が取れないです。

          で、泥沼に突っ込むわけです。

           

          限られた情報、時間の中なので、詳細には分かりませんが、金額2に関しては望まれる数字が出せました。

          2月の上限下限がずれているのは何がおかしいのか良く分かりません。

           

           

           

           

          で、グラフですが、折れ線がかけません。Keiko Iizuka  さん、助けて~。

          Gantt とか、Circle、だと、それらしい(?!)数字がプロットできるのですが、

           

          エリアと折れ線はNGでした。

           

          これ、私も前に遭遇して、どうやって解決したのか、はたまた諦めたのか忘れましたが、

          折れ線は、Pathを持ってきてもどうしようもありません。計算には「担当者」が必要なのに、

          Indexでフィルターするため、Nullをプロットできてないです。

          Dimension的に扱えるGantt、Circle、Bar、Square 等はOKですが、連続で扱う折れ線とエリアでは

          ロジックが異なり描画がおかしくなるようです。

           

          「前からある」ってことなんですが、何とかしてよ  Keiko Iizuka   さん。

           

           

          表のほうだけちょっとだけ説明しておくと、

           

           

           

           

           

           

           

          んで、全部表計算なので、全てのFieldの全てのドロップダウン(15個くらいありますかね)を

          以下のように設定します。

           

          ドロップダウンってのは、これですね。

           

           

          で、Indexの フィルタをかけてやります。

          当然、表計算の設定も必要です。

           

          結論から言うと、ちょっと別のアプローチ(ETLつかう)考えたほうがいいと思いますけどね。。

           

          Regards,

          Shin

          1 of 1 people found this helpful
          • 2. Re: セカンダリデータソースのデータ重複を解消したい
            Takashi Miyoshi

            村上さん

            いつもありがとうございます。

             

            やっぱり相当面倒くさい話なんですね・・・。

            とりあえず、いったんもらった情報を踏まえていろいろ試してみようと思います。

             

            何かまたこの件について情報があったらよろしくお願いします。

            • 3. Re: セカンダリデータソースのデータ重複を解消したい
              Shinichiro Murakami

              そうでうすね。面倒くさいですね。

              せめて、"This Helped me" ==> "Yes" くらいは やっていただけるとありがたいです。

               

              Shin

              • 4. Re: セカンダリデータソースのデータ重複を解消したい
                Takashi Miyoshi

                "This Helped me" って、日本語の場合だとここのことですかね?

                 

                image.png

                 

                このあたりは「返信する」以外はすべて意識の外でした・・・。

                「役に立つ」に「はい」押しておきました。

                • 5. Re: セカンダリデータソースのデータ重複を解消したい
                  Shinichiro Murakami

                  そうです。ありがとうございます。

                  あんまり考えられた記述になってないですね。

                  • 6. Re: セカンダリデータソースのデータ重複を解消したい
                    Keiko Iizuka

                    むらかみさん、Miyoshiさん

                     

                    すみません、ご指名いただいたのに作業時間が取れず、遅くなりました。

                    そしてせっかくご指名いただきましたが、お手上げでございます…。

                     

                    色々試してみましたが、ブレンドで実装する場合、恐らく「月、ソリューション名、担当名」のすべての組み合わせが、メインデータにも変動情報にも存在しないといけないと思います。

                    今回「パス」を使っても折れ線グラフが描けないのは、「詳細」に入っているソリューション名や担当者名の影響ですが、それらを外してしまうと表計算が成立しなくなります。

                    「パス」に複数項目を配置出来ればとも考えましたが、それも仕様上不可能です。

                     

                    むらかみさんが仰っているようにETLツール等でデータ側をいじるか、

                    結合可能な形式にすべてのデータを落としてくるか、

                    どちらが現実的なのか or どちらも現実的でないのかは、Miyoshiさんの環境次第ではあります…。

                     

                     

                    そしてバグ?仕様?の件ですが、お二人から直接テクニカルサポートチームにフィードバックいただくのがベストです。

                    社内では何年も前から認識されている以上、そのプライオリティを上げるには、お客様の「困っている!」という声が必要です。

                    お手数ですがよろしくお願いいたします。

                     

                    飯塚

                    • 7. Re: セカンダリデータソースのデータ重複を解消したい
                      Shinichiro Murakami

                      飯塚さん

                       

                      検証ありがとうございます。

                      Come On, MAESTRO ! ってことで、それまでは、個人的にはTableauの仕様上不得意なことに、

                      無理に改善の労力を割くのは賢明でないように思います。

                       

                      PS. ちゃんと見て頂けるのを知って安心しました。

                      今まで、(個人名なしで)タブローの人~って助けを求めて返信もらえたこと、ほとんどなかったので。

                       

                      Shin

                      • 8. Re: セカンダリデータソースのデータ重複を解消したい
                        Keiko Iizuka

                        むらかみさん

                         

                        完全に同意です。

                        最初にご回答いただいていた表計算も、一般的には相当時間かけないと作成できないですからね…。

                         

                        そして申し訳ありません。中の(私以外の)人もちょこちょこ見ているとは思うのですが。

                        @メンションくださると確実に気付けるので、何かありましたらその方法でお願いします!

                         

                        飯塚

                        • 9. Re: セカンダリデータソースのデータ重複を解消したい
                          Takashi Miyoshi

                          飯塚さん、村上さん

                           

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

                           

                          こちらでも、元のデータに担当名を含めるようにしないとダメだなと検討していました。

                          現状のままだと本件に対処出来ないことがわかっただけでもよかったです。

                           

                          今回の質問はこれでいったん閉めたいと思います。

                          お二人ともありがとうございました。

                           

                          また何かありましたらよろしくお願いします。