3

SOポスト

現在、RS チャートには 5 本のバーがありますが、将来的には 7 本、17 本、または 27 本になる可能性があります。

いくつかの小節を使用すると、次のような式を作成できます。

=iif(Fields!Market.Value = "Spain"
,"Gold"
,iif (Fields!Market.Value = "Denmark"
    , "Gray"
    , iif(Fields!Market.Value = "Italy"
        , "Blue"
        , "Purple"
        )
    )
)

含まれる国の数を予測できない場合、「緑」、「赤」などをハードコードする必要はなく、式をどのように変更すればよいですか?

私はこれを試しましたが、エラーが発生しています:

=Switch(Mod(Fields!Rank.Value/CDbl(2))=CDbl(0), "Gold", 
   Mod(Fields!Rank.Value/CDbl(3))=CDbl(0), "Gray", 
   Mod(Fields!Rank.Value/CDbl(2))>CDbl(0) "Blue")

上記は完全に間違った構文です: これは機能します:

=Switch(CDbl(Fields!Rank.Value Mod 2)=CDbl(0), "Gold", 
   CDbl(Fields!Rank.Value Mod 3)=CDbl(0), "Gray", 
   CDbl(Fields!Rank.Value Mod 2)>CDbl(0), "Blue")

わかりました - 上記は実行されます (方法はわかりません!) が、以下は Dominic Goulet の助けに基づいており、従うのが非常に簡単で、素晴らしく、より多くの色に拡張できます。これは5色のソリューションです:

=Switch(CDbl(Fields!Rank.Value Mod 5)=CDbl(0), "Gold", 
   CDbl(Fields!Rank.Value Mod 5)=CDbl(1), "Gray", 
   CDbl(Fields!Rank.Value Mod 5)=CDbl(2), "Green", 
   CDbl(Fields!Rank.Value Mod 5)=CDbl(3), "Red", 
   CDbl(Fields!Rank.Value Mod 5)=CDbl(4), "Pink")
4

2 に答える 2

6

まず第一に、多くの「IIF」を使用する代わりに、「Switch」を使用する必要があります。その方が無駄がありません。

Switch(Fields!Market.Value = "Spain", "Gold",
       Fields!Market.Value = "Denmark", "Gray",
       Fields!Market.Value = "Italy", "Blue")

国ごとに色が必要な場合は、それをデータベースに確実に保存し、必要なときに引き出す必要があります。そうすれば、国は常にすべてのレポートで同じ色になります。

于 2012-06-21T12:18:55.823 に答える