選択したパラメーターに基づいて Tablix フィルターをオフにすることはできますか? 1 つの値が null の場合はデータをフィルター処理したいが、別の値が null の場合はデータをフィルター処理しないようにしたい。ユーザーは、開始日、終了日、シフト OR VCN を入力します。4 つのパラメーターはすべて null に設定できます。最初の 3 つのパラメーターは、値の範囲の平均を見つけます。そのため、データから外れ値を削除するように Tablix フィルターを設定しました。たとえば、特定の範囲内の数値のみを許可します。ただし、ユーザーがVCNを入力すると、単一のレコードがプルアップされるため、値が返されない場合があるため、外れ値であってもデータをフィルタリングしたくありません。
質問する
3810 次
3 に答える
3
はい、この小さな回避策でできます。
- Tablix のフィルター オプションでフィルター処理するフィールドを選択します (例: )
[Field1]
。 - 演算子を に設定し
=
ます。 値オプションで、関連するパラメーターに何も設定されていない場合にフィルターを null にして無効にする以下のような式を設定します。
=IIf(IsNothing(Parameter!MyPar1.Value), Field!Field1.Value, Parameter!MyPar1.Value)
コメントの後、フィルターが意図されVCN
た場合にのみパラメーターが null であると仮定したVCN
場合、次のフィルターを Tablix に適用します。
日付フィルターの場合:
- 分野:
[Date]
- オペレーター:
>=
- 方式:
=IIf(IsNothing(Parameter!VCN.Value), Parameter!StartDate.Value, Field!Date.Value)
2 番目の日付フィルター:
- 分野:
[Date]
- オペレーター:
<=
- 方式:
=IIf(IsNothing(Parameter!VCN.Value), Parameter!EndDate.Value, Field!Date.Value)
シフトフィルターの場合:
- 分野:
[Shift]
- オペレーター:
=
- 方式:
=IIf(IsNothing(Parameter!VCN.Value), Parameter!Shift.Value, Field!Shift.Value)
VCNフィルターの場合:
- 分野:
[VCN]
- オペレーター:
=
- 方式:
=IIf(IsNothing(Parameter!VCN.Value), Field!VCN.Value, Parameter!VCN.Value)
于 2013-03-19T09:53:18.187 に答える
0
回避策を実行して、代わりに新しいテーブルを作成し、式に基づいて他のテーブルを非表示にしました。
于 2013-03-19T19:02:20.063 に答える
0
ブール値を返すようにフィルターを再設計し、値を True に設定します。次に、フィルター式内で Iif 関数を使用してパラメーターをチェックし、True (含める) または False (除外) を返すことができます。
データ型変換などは奇妙で気まぐれであるため、これは通常、単純なフィルターであってもより良い戦略です。
于 2013-03-18T22:28:35.067 に答える