6 Replies Latest reply on Dec 10, 2015 9:44 PM by Hiroki Maeda

    顧客の2番目のオーダーの抽出

    yohei.kobayashi

      初めまして。小林と申します。

      サンプルのストアデータを使用し、顧客ごとの2番目のオーダーを抽出したいと思っています。

       

      最初(1番目)のオーダーであれば次のようにして抽出できるのですが

      {FIXED [顧客名] : MIN([オーダー日])}

       

      TableauではEXECELでいうところのLarge関数のような関数がなく、頓挫しております。

       

      もし方法をご存じの方がいらっしゃいましたらご教授いただけませんでしょうか。

      とりあえず、最初のオーダーで抽出した物を添付いたします。

       

      よろしくお願いいたします。

        • 1. Re: 顧客の2番目のオーダーの抽出
          Mariko Anzai

          小林様

           

          初めまして、安西と申します。

           

          2番目の抽出ですが、私も出来たら良いなーと思っていたのでいろいろと試してみました。

          ただ、初回と2番目を同時に定義することはやはり難しいようです。

          もう少し私の方でも調べてみますので、根本的な解決方法が見つかりましたらご共有させて頂きます。

           

          代替案と言ってはなんですが、下記のような方法で2番目のオーダーをを別シートでしたら定義出来そうでした。

           

          ①初回オーダーフラグをフィルタに入れ、「初回」の値を除外。

          ②①のフィルタをコンテキストに入れる。

          ③初回オーダーフラグの計算フィールドをコピーし、計算式を2回目仕様に変更、「2回目オーダーフラグ」の計算フィールドを作成。

          ④③のフィルタをフィルタに追加、クイックフィルターを表示。

           

          以上です。

          ①、②の操作で初回オーダーのデータを③,④で読み込むデータから先に抜いてしまうことで2回目のオーダーが、MIN(オーダー日)でかかってくるようになります。

          だいぶ無理やりな方法ですが、ダッシュボードの見せ方次第では使用できるかと思います。

           

          もう少し粘って解決方法を探してみたいと思いますが、一先ず上記ご共有させて頂きます。

          ちゃんとした回答になっておらず申し訳ございませんが、引き続きよろしくお願いいたします。

          1 of 1 people found this helpful
          • 2. Re: 顧客の2番目のオーダーの抽出
            yohei.kobayashi

            安西様

             

            ご教授ありがとうございました。

            まず「初回」を除外してから再度MINを使うということですね。

            思いもよらなかった方法で、大変勉強になりました。

            これで2番目のオーダーが抽出できそうなので「回答済み」とさせていただきます。

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

             

            しかしながら、安西様も書かれている通り、各レコードに「n番目のオーダー」という値を持たせる方法があればベストと考えております。

            (パラメーターコントロールやフィルタで「n番目のオーダーを表示する」と選択できる状態を目指しております)

            自分でも引き続き試行錯誤してみますが、もし良い方法が見つかりました際にはお教えいただけますと幸いです。

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

            • 3. Re: 顧客の2番目のオーダーの抽出
              Yutaka Sato

              http://www.tableau.com/ja-jp/LOD-expressions

              にある10. コホートによる再購入にある方法では対応できないでしょうか? 3回目、4回目は同じような式をつくり続ける必要があるものになってしまいますが。

              • 4. Re: 顧客の2番目のオーダーの抽出
                Mariko Anzai

                小林様、佐藤様

                 

                佐藤さんに頂いた方法で実装してみたらできました!

                どうにか1回目の値を抜いたものにminをかけられないかずっと考えていたんですが、単純に大きさで比べれば良い話でしたね…。

                 

                小林様の質問に便乗して1つ新しい知識を得ることができました。ありがとうございます!

                • 5. Re: 顧客の2番目のオーダーの抽出
                  yohei.kobayashi

                  安西様、佐藤様

                   

                  どうも丁寧なご教授ありがとうございました。

                  コホートの解説画面を見まして、「 『顧客 X オーダー日を行に配置し、大小比較する 」という考え方に思い至り

                  自分なりにパラメーターでn番目のオーダーを抽出できるようにしてみました。

                   

                  オーダー日を基準にRANK関数でオーダー順序を振り、

                  パラメーターで指定した回数と一致したオーダー順序の行を、フィルタで表示しているだけですが、当初の目的は達成できたつもりです。

                   

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

                   

                  P.S.

                  さらに欲を言うと、コホート分析の例のように、前回オーダーとの間隔が出せれば嬉しいのですが

                  まだ良いアイディアが浮かんでおりません。

                  (例: 3回目のオーダーは2回目のオーダーから120日ぶりのオーダー。この「120」を3回目のオーダーの行に表示。)

                  引き続き検討してみようと思いますが、もし何らかの方法をご存知であれば、ご教授いただければと思います。

                  • 6. Re: 顧客の2番目のオーダーの抽出
                    Hiroki Maeda

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

                    投稿が遅くなったうえに要件とマッチしてるか微妙ですが「N回目の〇〇」は index() をよく使っております。
                    ご参考までに。

                     

                    1. 顧客ごとに オーダー日 ごとに連番を振る index()
                    2. フィルタ に 1のindex() を入れて 2 のみ選択。 これで 2番目の購入だけ抜き出すことができると思います。


                    表計算 を↓のように設定

                    frequencyN.png

                    同じく Lookup で 2回目だけを抜く、または 前回と 日数を比較する なども対応できます。
                    Ver 9.0 で作ったサンプルを添付します