1

SQL Server2012SSRSを使用してレポートを作成しようとしています。私が見せようとしているのは、テーブルレポートのいずれかの列(MaxC、AvgC、MaxU)のセルの1つが(値に適用されたしきい値条件に基づいて)赤になり、ゲージポインター(テーブルの上)になった場合です。いずれかの列のセルが黄色に変わった場合、ゲージは黄色のゾーンに留まり、緑色の場合は緑色のゾーンに留まります。この問題の式を書くにはどうすればよいですか。これは、黄色だったMaxC列(値2472の場合)の最初のレコードに対して行ったことです。ゲージポインタが黄色のゾーンに留まっていることを示すことができましたが、関心のあるすべての列のすべてのレコードに同様のロジックを適用する方法がわかりません。ありがとう

=Switch(Fields!MaxC.Value > 4000, "Red", Fields!MaxC.Value < 2000, "Green"
, true , "Gold")
4

1 に答える 1

1

私が正しく理解していれば、上記の式は最初のセルMaxCで機能し、デフォルトでは他のセルを個別に機能させることができますか?もしそうなら、これをタブリックス全体、つまりデータセット全体に集約することに関心がありますか?

Max()その場合は、問題のデータセットで次のような関数を使用することをお勧めします。

=Switch(Max(Fields!MaxC.Value, "DatasetA") > 4000, "Red", Max(Fields!MaxC.Value, "DatasetA") < 2000, "Green" , true , "Gold")

そして、3つのしきい値すべてを1つに組み込みたい場合、および異なる場合は、次のようになります。

=Switch(Max(Fields!MaxC.Value, "DatasetA") > 4000 
    OR Max(Fields!AvgC.Value, "DatasetA") > 3000 
    OR Max(Fields!MaxU.Value, "DatasetA") > 2000 , "Red",
    Max(Fields!MaxC.Value, "DatasetA") < 2000 
    OR Max(Fields!AvgC.Value, "DatasetA") < 1000 
    OR Max(Fields!MaxU.Value, "DatasetA") < 500 , "Green",
    true , "Gold")

また

=Switch(Max(Fields!MaxC.Value, "DatasetA") > 4000 , "Red",
    Max(Fields!AvgC.Value, "DatasetA") > 3000 , "Red",
    Max(Fields!MaxU.Value, "DatasetA") > 2000 , "Red",
    Max(Fields!MaxC.Value, "DatasetA") < 2000 , "Green",
    Max(Fields!AvgC.Value, "DatasetA") < 1000 , "Green",
    Max(Fields!MaxU.Value, "DatasetA") < 500 , "Green",
    true , "Gold")
于 2013-03-26T11:07:29.747 に答える