6 Replies Latest reply on Dec 2, 2019 4:29 PM by shuhei saito

    データ結合

    mari yoshikawa

      データ結合について質問です。

      添付の

      1. session_cv.csv
      2. lead.csv
      3. pipeline.csv

      のデータがあります。

       

      1では使用するDimensionはDimension1, Dimension2,

      2,3で使用するDimensionはDimension1', Dimension2'で、

      対応表が

      4.picklist.csvです。

      Monthlyの時系列です。

       

      この1.2.3.4をすべて一つにまとめることは可能でしょうか。

      結合などやってみたのですが、おかしなことになってしまい、

      アドバイスいただけると幸いです。

        • 1. Re: データ結合
          Koichi Tsuji

          こちらで如何でしょうか?

           

          簡単な手法で、「NEW JOIN CLAUSE」をそれぞれの結合の際に作成。その際、計算式として今回は[DIMENSION 1]+[DIMENSION 2]の合成値をKEYとします。

          結合をINNER, RIGHT, LEFTのどれにするのか?は用途次第で変更ください。大文字、小文字の違いに気をつけて、PICK するDIMENSIONを選択してください。

          • 2. Re: データ結合
            Shigeki Konishi

            mari yoshikawaさん

             

            各CSVデータを確認しました。

            lead.csvとpicklist.csvとpipeline.csvに関しては、次の項目で結合できます。

            Dimension1'

            Dimention2'

            ただし、picklist.csvのデータは正しいくないと思います。

            Tableauで取り込むと、以下のレコードとなり、Dimension1'とDimention2'の組み合わせとはならないためです。

            Dimension1Dimension1'Dimension2Dimension2'
            appleAPPLEduckDUCK
            berryBERRYeelEEL
            cheeseCHEESEflourFLOUR
            NULLNULLgingerGINGER

            これでは、他のCSVと結合させた時、1~3行目のデータとしか、結合されません。

            このCSVの持ち方は、よろしくない気がします。

             

            上記を改変しました。

            この様に結合すれば、望みのデータ表示になりませんか?

            • 3. Re: データ結合
              shuhei saito

              ここでいう「結合」とはJOINのことでよろしいでしょうか。

              欠損があった場合にどのように扱うかという問題はありますが、ここではセッションに対してリードとパイプラインを内部結合する前提で書きます。

               

              picklistを見る限り、アルファベットが大文字か小文字化の違いしかありません。実際のデータもこうであるならば、結合計算を行うことでpicklist無しで結合できます。

               

              結合計算ではアルファベットを大文字に変換する関数を使用します。

              Dimension1とDimension2で同じことをして、次のように結合します。リードもパイプラインも同じ構造です。

              これでsession_cvの12レコードに対してリードとパイプラインを結合することができます。

               

               

               

              あるいは、「実際のデータはアルファベットの大文字・小文字の違いだけではない」という場合はsession_cvに対してpicklistを2回結合することになります。

              片方はDinmension1を、もう片方はDimension2を結合キーにします。

               

              そしてリードとパイプラインをそれぞれ4つのキーで結合します。

              ・年 ⇒ session_cvの年

              ・月 ⇒ session_cvの月

              ・Dimension1' ⇒ picklist(1個目のほう)のDimension1'

              ・Dimension2' ⇒ picklist1(2個目のほう)のDimension2'

               

              上図はリードの結合だけを表示してますが、パイプラインのほうもやり方は同じです。

               

              これでsession_cvの12レコードに対してリードとパイプラインを結合することができます。結果は結合計算のときと同じです。

              • 4. Re: データ結合
                mari yoshikawa

                Koichiさま、ご回答いただき、ありがとうございます。

                 

                twbx形式でいただきましたが、どうしたわけか、データが内包されていないようです。

                お手数ですが、もう一度添付いただけますでしょうか。

                バージョンの問題でしたら、Tableau 2019.2を使用しております。

                的はずでなようでしたら、お知らせください。

                どうぞよろしくお願いします。

                • 5. Re: データ結合
                  mari yoshikawa

                  syuhei saitoさま、早速ご回答いただき大変ありがとうございます。

                  いただいたインストラクションのようにやってみたのですが、

                  どういうわけですか、lead.csvのにDimention1'(lead.csv)が存在しません。

                   

                  ファイル添付いたします、見ていただけますと幸いです!

                  • 6. Re: データ結合
                    shuhei saito

                    添付頂いたファイルを拝見しましたが、lead.csvにDimension1’のフィールドは存在するように見えています。

                    結合キーが間違っているので、それに関しては修正が必要です。

                     

                     

                     

                    また、添付ファイルには無関係のファイルがいくつか含まれているようなので、除去しておくことをおすすめします。