2016-09-30 4 views
-2

私の質問は、私が現在の仕事の一部として取り組まなければならない分野の一つに直面している問題です。取引レベルのデータからの口座レベルビュー

ドメインはクレジットカード取引です。したがって、トランザクションレベルではユニークです。しかし、1人が複数のトランザクションを実行する可能性があります。今や明らかに各トランザクションは同一ではありません。

私は簡単に管理できるこの基本的な特性データセットを持っています。このデータセットから、さまざまな変数の組み合わせに対して自分のコードを実行しなくても簡単にアクセスできる、セグメント間のカスタマーレベルのパフォーマンスを評価したいと思います。基本的に、私が目指しているのは、顧客レベルのビューに到達しているということです。アカウントの情報が失われることはなく、セグメント間で顧客レベルのパフォーマンスを引き続き見ることができます。

同様の分析を行ったことがありますか?または、これをどうやってやるべきか、明るい考えがありますか?私はこの説明がどれほど明るいかわかりませんが、それ以上の説明が必要な場合はお知らせください。ご協力いただきありがとうございます!

+0

より具体的にする必要があります。あなたは何を持っていますか、何をしたいですか、何を試しましたか...... – DCR

+0

いいえ、私はトランザクションIDを持っています。ユニークです。各トランザクションIDはアカウントIDになります。これが繰り返されます。各トランザクションは、一連のカテゴリ変数によって定義されます。各トランザクションに変数A、B、C、Dがあるとします。そして、私はこれらの変数の各組み合わせのパフォーマンス分析を行う必要があります。アカウントIDは、各組み合わせで一意になります。 A、Bレベルでパフォーマンスを要約しなければならないという問題があるとします。 A、B、Cレベル。 私は単一のcsvで両方のビューを見たいと思います。現在私が思うのは、procサマリーと_TYPE_変数のトグルです。 –

+0

あなたが手伝ってくれるように助けが必要な場合。あなたのデータベースの小さなサンプルを投稿して、好きなものを投稿してください。 – DCR

答えて

0

10人の顧客からの30件の取引(それぞれ3件の取引)に関するデータがあるとします。リレーショナルデータベースでは、通常、トランザクションテーブル(列transactionID、customerID、transactionDate、transactionAmount)と顧客テーブル(列customerID、customerName、customerSegmentなど)があります。 。それはデータベースの正規化の一部です。顧客レベルのデータからトランザクションレベルのデータを分離します。

あなたがPROC SQLのファンであれば、その設定はSASでうまくいくでしょう。特定のcustomerSegmentのトランザクションを分析する場合は、テーブル(またはサブクエリなど)を結合するだけです。

SASのもう1つのオプションは、customerIDで2つのテーブルをマージし、トランザクションごとに1つのレコードを持つデータセットを作成し、トランザクションの属性である変数と顧客の属性である変数。顧客属性の値が同じ顧客からのすべてのトランザクションのために繰り返されているので、あまり効率的なストレージ(と少ない正規化)である

custID transID transDate transAmount customerSegment customerDOB 
1  1  1/1/2015 100   A    1/1/1990 
1  2  1/2/2015 50   A    1/1/1990 
1  3  1/3/2015 75   A    1/1/1990 
2  4  1/1/2015 10   B    12/12/1950 
2  5  1/2/2015 5   B    12/12/1950 
2  6  1/3/2015 75   B    12/12/1950 

:だからのように見えるかもしれません。しかし、顧客属性によってトランザクション・データを分析したいときは、より簡単に使用できます。

詳細については、Googleデータベースの正規化を参照してください。 Toby Dunnは、SASの正規化に関する素晴らしい記事をいくつか持っています。 http://analytics.ncsu.edu/sesug/2007/TU03.pdf

関連する問題