2016-04-26 14 views
0

DataSet1とDataSet2という2つのデータセットに基づくデルタレポートを作成する必要があります。 DataSet1の任意のフィールド値に変更がある場合、DataSet2を参照として取得する必要があります。テキストボックスの色を変更する必要があります。 誰でもこの手伝いできますが、私はいくつかのコードを書いていますが、そのスローエラーです。2つのデータセットを比較するためにssrsネストされたIIF

=IIF(Fields!CIF.value, "DataSet1" = Fields!CIF.value, "DataSet2" AND Fields!Account_ID.value,"DataSet1" = Fields!Account_ID.value,"DataSet2", 
         IIF(Fields!Account_balance.value, "DataSet1" <> Fields!Account_balance.value, "DataSet2","Yellow","Transparent"),"Transparent","Transparent") 

答えて

0

データセットを混在させることはできません。

これは、データセットにそれぞれ1行のデータしかない場合にのみ機能します。それ以外の場合は、必要な値を分離する方法を理解する必要があります。

=IIF(MAX(Fields!CIF.value, "DataSet1") = MAX(Fields!CIF.value, "DataSet2") AND MAX(Fields!Account_ID.value, "DataSet1") = MAX(Fields!Account_ID.value, "DataSet2"), 
    IIF(MAX(Fields!Account_balance.value, "DataSet1") <> MAX(Fields!Account_balance.value, "DataSet2"), "Yellow", "Transparent"), "Transparent") 

通常は、テーブル内の1つのデータセットを持っているだろうし、他のデータセットに対応する値を検索します。

あなたCIFアカウントIDが共通の識別子があり、あなたがそれぞれの勘定残高をcompateしたい場合は、私はデータセット1の表をベースにして、比較するDATASET2から値をもたらすだろう。比較のために、CIFとアカウントIDを1つのテキスト文字列に結合します。

あなたの色表現が、その後のようなものになるだろう

:あり 名前と値のペアのために指定されたデータセットから値を取得するために

使用する検索:

=Lookup(Fields!CIF.value & "|" & Fields!Account_ID.value, Fields!CIF.value & "|" & Fields!Account_ID.value, Account_balance.value, "DataSet2") 

SSRS 1対1の関係。たとえば、テーブル内のIDフィールドが の場合、ルックアップを使用して 領域にバインドされていないデータセットから 対応する名前フィールドを取得できます。

0

もう1つの方法は、ストアドプロシージャでこれを行い、その結果を1つのデータセットとして返すことです。たとえば、テーブルに10のフィールドがあるとします。 ...両方のテーブルがユニークと関連しているIDを持っている

select 
    CASE WHEN chkHash2 = chkHash1 THEN 0 ELSE 1 END as 'ChgFlag' 
    ,a.* 
FROM 
(
    select 
     HASHBYTES('md5', t2.Field1 + t2.Field2 + ... + t2.Field10) as 'chkHash2' 
     ,HASHBYTES('md5', t1.Field1 + t1.Field2 + ... + t1.Field10) as 'chkHash1' 
     ,t1.Field1, t1.Field2, ... t1.Field10 
    From Table2 t2 
    LEFT JOIN Table1 t1 on t1.ID = t2.ID 
) a 

ビッグ仮定:私は、各レコードのデータのハッシュを作成することができます。 これは、Table1(dataset1)フィールドの結果セットと、Table2(dataset2)からフィールドが変更されたことを通知するフラグを提供します。

アプリケーションによっては、これがより簡単で高速になる可能性があります。私はいつもSSRSではなくSQLでWORKをやろうとしています。

関連する問題