0

生データでいっぱいのテーブルを表示するレポートがあります。このレポートを入力する前に、親レポートは「サービス」と「部門」を選択するように求めます。親レポートから選択したサービス/部門に応じて、このRAWデータは関連データを表示するためにフィルタリングされます。

簡単に言えば、うまくいきます。

今、新しい要件があります。選択したサービスが「サービスX」と等しい場合、そのサービス、部門でデータを再度フィルタリングする必要がありますが、「チーム」で追加のフィルターを追加する必要もあります。

チームがレポートのチームを実行しているユーザーと一致する場所でもデータがフィルタリングされるようにします。

レポートを実行しているユーザー「チーム」を返すデータセットがすでに作成されています。また、レポートのAD番号を実行しているユーザーにデフォルト設定される「チーム」と呼ばれる新しいパラメーターもあります。

新しい要件は、の場合、Service = X部門だけでなく、そのユーザーの「チーム」でもデータをフィルタリングすることです。サービスがXと等しくない場合は、何もしません。

Tablixプロパティの[フィルター]セクションを変更する必要があると思いますが、式、演算子、値に何を入力する必要があるのか​​わかりません

これまでのところ=IIf(Fields!Service.Value = "Service X", Fields!Team.Value, nothing)、式を試し、Operatorをに設定しIn、現在のユーザーの「チーム」を格納する新しいデータセットから「チーム」をフィルタリングしようとしましたが、機能していません。

誰か提案はありますか?

4

1 に答える 1

0

これらの種類の条件付きフィルターについては、IIfステートメント (またはその他のもの) を使用して文字列を返し、それに基づいてフィルター処理することで最良の結果が得られました。たとえば、次のようなものです。

=IIf(Parameters!Service.Value <> "Service X" or Parameters!Team.Value = Fields!Team.Value
    , "Include"
    , "Exclude")

次に、演算子を=に、フィルター値を に設定できますInclude。私の経験では、もう少し堅牢なようです。

これを読んで、IIfステートメントをデータセットの計算列として設定し、それをフィルター処理することもできます。

于 2013-02-28T14:15:10.423 に答える