2016-11-10 7 views
0

1年間(1月〜12月)にトランザクションを行ったユニークな顧客のリストがあります。彼らは3つの異なる方法(カード、現金、小切手)を使って商品を購入しました。私の目標は、メソッドpfの支払いを予測するためのマルチ分類モデルを構築することです。結果の実行回数を日付順に作成し、特定の人物/ IDと一意にするにはどうすればよいですか?

これを行うには、レシピと頻度機能をトレーニングデータに組み込んでいますが、それを行う方法を知っている唯一の方法は、Countifs関数とSUMIF関数を使用するExcelであるためです。阻害的に遅い。

私は3列(顧客ID、購入日、お支払いタイプ)のデータセットを購入日から顧客順に並べ替えていますID。どのようにすれば、現在の行トランザクションのカウントまたは購入日である将来のトランザクションも含まない、日付別の支払タイプの事前頻度カウントを取得するにはどうすればよいですか?したがって、基本的には、一意の顧客IDと、そのトレーニング行の購入日である<の日付範囲に基づいて、各支払いオプションの実行カウントを実行したいと考えています。私の頭の中で、私はそれを取引と計数を通じて後方に「這う」ものと見なしています。データフレームの簡略化されたスクリーンショットは、私がプログラムで生成しようとしている3つの前のカウントの列の下にあります。

Screenshot

+0

ピボットテーブルはあなたに適していますか? –

答えて

0

これは、あなたがこのクエリを保存し、取得するためにクロス集計クエリのソースとして使用することができます得意先、PurchaseDate、PAYMENTMETHOD前カウント

SELECT CustomerID, PurchaseDate, PaymentMethod, 
      (
      select count(CustomerID) from History T 
      where 
       T.CustomerID=History.CustomerID 
       and T.PaymentMethod=History.PaymentMethod 
       and T.PurchaseDate<History.PurchaseDate 
      ) 
      AS PriorCount 
FROM History; 

のリストとして答えを与えます

  • :列形式あなたは

    いくつかの注意をしたいです元のテーブル名として「履歴」を仮定しました。正しいソースを使用するために上記のクエリを変更することができます。

  • これをクエリとして使用するには、デザインビューで新しいクエリを開きます。クエリをどのテーブルにビルドするかを確認するウィンドウを閉じます。クエリデザインのようなデザインビューのSQLビューを開きますが、通常のデザインインターフェイスの代わりにSQLが表示されます。上記をSQLビューにコピーします。もしあなたが今
  • デザインビューで新しいクエリを開き
  • 任意の適切な名前を付けて保存し、データシートビューに切り替えて、クエリがあなたの満足に働いているときの結果
  • を見ることができるはず
  • 含めるテーブルのリストを取得し、クエリの一覧に切り替えて保存したクエリを含める
  • クエリの種類をクロス集計に変更し、行、列、および値を選択するために必要に応じてクエリを更新する - アクセスクロスタブのクエリ"あなたがもっと助けが必要ならば。開口部を除くと、それ自身の問合せに ちょうどその文を作り、そして -

    • あなたがサブクエリ取ることができます - ()内部の部品上記を:

    ここで何が起こっているかを確認するもう一つのヒント閉鎖 ()。次に、デザインビューを見て、それが何であるかを見ることができます

  • 適切な名前を付けて保存し、()内のステートメントの代わりに上記のクエリーに入れます。次に、デザインビューを見ることができます。

サブクエリを使用するよりも、このように2つのクエリをつなぎ合わせたものを視覚化して学習する方が簡単な場合があります。

+0

ドン - まず何よりも、この提案に感謝します。残念ながら、私は少し初心者です。正確にどのようにしてこのクエリを挿入し、それからクロス集計クエリを初期化するのですか?ありがとう。 – Tmike21

+0

編集された応答の注釈を参照してください –

+0

あなたのメモによると、Excelでこれを行うのですか?SQL Serverを設定する必要がありますか? – Tmike21

関連する問題