複数のデータセットを含むレポートがあります。さまざまなデータセットのさまざまなフィールドが、レポートのさまざまな場所で使用されています。
レポートの一部で、2つの異なるデータセットのフィールドを使用して計算を行う必要があります。これは式の中で可能ですか?
式の中で、フィールドが含まれているデータセットを何らかの方法で参照できますか?
たとえば、私はこのようなことをしたいと思います:
=Fields.Dataset1.Field / Fields.Dataset2.Field
これは、次のようにフィールドのスコープを指定することで実現できます。
=First(Fields!fieldName_A.Value, "Dataset1") / First(Fields!fieldName_B.Value, "Dataset2")
Aが10でBが2で数値タイプであるとすると、レポートが表示されるときに結果は5になります。
式ビルダーでは、[カテゴリ:データセット]、[アイテム:]で強調表示されている目的のデータセットを選択し、[値:]で目的のフィールドをダブルクリックすると、式文字列にスコープが追加されて表示されます。
同じロジックを使用して、次のように2つのフィールドを連結できます。
=First(Fields!fieldName_A.Value, "Dataset1") & “ “ & First(Fields!fieldName_B.Value, "Dataset2")
PerPlexSystemが書いているように、データセットの最初の値を別のデータセットの値とのみ比較したい場合は、First関数を使用できます。
ただし、あるデータセットの各行の値を別のデータセットの各行の値と比較する場合は、サブレポートを使用する必要があります。詳細については、 ここ を参照してください。
別のオプションは、パラメーターを変数として使用することです。これは、データセットの1つに計算フィールドを作成する場合に役立ちます。これは、パラメータ値が単一レコードのデータセットから取得された場合に最適です。