2017-10-04 10 views
0

私は2つの異なるデータセット(創造的にDataSet1とDataSet2という名前)からクレームデータを取得しており、ここで2つのテーブルと情報を作成しています。SSRS - 2つの異なるデータセットの基準に基づいてフィールドを表示

enter image description here

あなたはかなり簡単に綴らフィールドを参照してくださいよ、私は何を探していますと、それは、与えられた例のように両方で一致していないデータだけを表示するデータを別のテーブルを作成していますCLAIM987654321(唯一の一意の識別子であり、処理される方法の日付が異なる可能性があるため)以外のクレーム番号、取引日付、および金額を表示します。

私はクエリに基づいてのみ表示する方法を知っていますが、マルチデータセットの比較を行う方法は不明です。

悲しいことに、私の知る限りではデータを組み合わせることはできませんが、どうすればよいかわかりません。以下はSSMS内で使用しているクエリです。

enter image description here サーバはすでに前あたりにリンクされているenter image description here

参加するが、単一のプルにデータを操作する方法があれば、私はそれに慣れていませんよ。

NEW UPDATE:私は本当に醜いリンクされたサーバーのプルを一緒に投げましたが、両方に存在するデータだけをプルしています。 enter image description here

+0

これは前の質問の繰り返しである場合は、古いものを削除する必要があります。以前の質問では、サブレポートの比較について尋ねました。 ルックアップ機能を使用する必要があるデータセット間のデータを比較するにはhttps://docs.microsoft.com/en-us/sql/reporting-services/report-design/report-builder-functions-lookup-function (そしておそらくより単純な)、必要なデータを含む第3のdaatsetを作成するだけです。 –

+0

サブレポートからメインのレポートに移動したので、前のレポートを削除しました。 –

答えて

1

あなたは、私はこのような何かをするだろう、両方のテーブルに表示されていないデータだけを表示したいのであればFULL JOIN

を使用する必要があります。 (私は明確にするために完全な修飾子を使用していないが、あなたはアイデアを得るでしょう)

SELECT 
      COALESCE(c.ClaimNo, r.CHK_claim_number) AS [Claim Number] -- COALESCE will get first non null value 
     , COALESCE(d.OtherPayer1Paid, r.CHK_payable_cost) AS [Amount] 
     , COALESCE(c.TransactionDate, d.CHK_paid_date) AS [Transaction Date] 
    FROM EDI_Claims c -- Full join shows all records, null will show for missing records 
     JOIN EDI_ClaimDetails d ON c.id =d.claimid 
     FULL JOIN PaidClaims_by_CheckRun r ON r.CHK_claim_number = c.claimno 
    WHERE d.OtherPayer1Paid != 0 
     AND (r.CHK_ClaimNUmber IS NULL OR c.ClaimNo IS NULL) -- only show when one side of the join fails 
    ORDER BY c.TrandactionDate 
+0

パーフェクト、ありがとう! –

関連する問題