私は、顧客レコードの豊富なデータを持つためにClusterIDに基づいてレコードを結合しようとしています。顧客データの集計と組み合わせ
MS SQLを使用して以下のグループをどのようにグループ化できますか?合体はレコードを同じ行にして動作させる必要があるため動作しません。また、クラスタごとに2つ以上の一致があると、面倒な処理になります。すべての列でClusterIdのmaxを使用することは回避策ですが、これを行うための効率的な方法があることを期待していました。
は持っている:
ClusterID,CustomerNo,Name,Email,Mobile,Address,PostalCode,Passport,ProfileNo
100,NULL,Person,[email protected],NULL,OfficeAdd,12345,NULL,123
100,456,Person,[email protected],98765,HomeAdd,34567,P12345,NULL
を**これは、SSIS DQSマッチングノード(https://ssisdqsmatching.codeplex.com/)の結果です。試合を行うことはできますが、サバイバルシップの部分を処理してゴールデンレコードを得ることはできません。
がしたい:
ClusterID,CustomerNo,Name,Email,Mobile,Address,PostalCode,Passport,ProfileNo
100,456,Person,[email protected],98765,OfficeAdd,12345,P12345,123
任意の考えをいただければ幸いです。ありがとうございました!私はこのクエリを推測
これを試してみて、私はそれはあなたの問題 –
感謝を解決推測あなたの条件解決します!これは私が探しているものです。私はそれが各ClusterIDのループに行くことを訂正し、NULLでないときにフィールドを埋めるでしょうか? – mtryingtocode
また、ループ上にいくつかの問題を追加するには、アドレスフィールドが1行目のアドレスがnullでなく、郵便番号がNULLで、2行目の住所と郵便番号がnullでないとします。 2行目に郵便番号を記入しない条件を追加するにはどうすればよいですか? 2行目の郵便番号を受け取ると、1行目のアドレスと組み合わされたときに誤った情報が表示されるため、 – mtryingtocode