2

選択したパラメーターに基づいて Tablix フィルターをオフにすることはできますか? 1 つの値が null の場合はデータをフィルター処理したいが、別の値が null の場合はデータをフィルター処理しないようにしたい。ユーザーは、開始日、終了日、シフト OR VCN を入力します。4 つのパラメーターはすべて null に設定できます。最初の 3 つのパラメーターは、値の範囲の平均を見つけます。そのため、データから外れ値を削除するように Tablix フィルターを設定しました。たとえば、特定の範囲内の数値のみを許可します。ただし、ユーザーがVCNを入力すると、単一のレコードがプルアップされるため、値が返されない場合があるため、外れ値であってもデータをフィルタリングしたくありません。

4

3 に答える 3

3

はい、この小さな回避策でできます。

  1. Tablix のフィルター オプションでフィルター処理するフィールドを選択します (例: ) [Field1]
  2. 演算子を に設定し=ます。
  3. 値オプションで、関連するパラメーターに何も設定されていない場合にフィルターを 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 に答える