2

SSRSにはかなり複雑なIIF式があり、セルの背景色を変更したいのですが、特定の条件に基づいて変化します。現在の状態では正常に動作しますが、Like条件を追加しようとしています...

だから、これが今のように見える(動作している):

 =IIf(inscope("matrix1_errorType"), 

IIf(

(
    FormatPercent(Sum(Fields!numberOfIssues.Value)/First(Fields!totalItems.Value),3) >= .0001 & "%" 
    And ( First(Fields!errorType.Value) = "TypeA")
)

Or 
(
    FormatPercent(Sum(Fields!numberOfIssues.Value)/First(Fields!totalItems.Value),3) >= .04 & "%" 
    And First(Fields!errorType.Value) = "TypeB"
)

Or 
(
    FormatPercent(Sum(Fields!numberOfIssues.Value)/First(Fields!totalItems.Value),3) >= .02 & "%" 
    And First(Fields!errorType.Value) = "TypeC"
    )
,
"Maroon", "Transparent")
, "Transparent")

私がやりたいのは、この行のどこかにLike typeステートメントを追加することです。これは、...とlocation LIKE "Scan"、つまり、タイトルのどこかに"Scan"が含まれる場所です。locationNameは、レポートにも表示されるフィールドです。

(
    FormatPercent(Sum(Fields!numberOfIssues.Value)/First(Fields!totalItems.Value),3) >= .0001 & "%" 
    And ( First(Fields!errorType.Value) = "TypeA")
)

likeステートメントは次のようになります。

... And ( First(Fields!errorType.Value) = "TypeA") And First(Fields!locationName.Value) Like "*Scan*"

しかし、それは機能しません。私も試しました:

And ( First(Fields!errorType.Value) = "TypeA" And First(Fields!locationName.Value.ToString().Contains("Scan")

どちらも機能しません。

SSRS 2005式でこれを行う方法はありますか?
ありがとう!

4

1 に答える 1

3

あなたの問題は構文だと思います。[Contains]は、試行している内容に対して機能するはずなので、ステートメント内の()と、の配置を再確認してください。

私もあなたの声明に気づきます:

First(Fields!locationName.Value.ToString().Contains("Scan"))

おそらく次のようになります。

First(Fields!locationName.Value).ToString().Contains("Scan")

この機能を試すこともできIndexOfます。IndexOfは、渡した文字列がソース内で出現する文字位置を返します。したがって、ゼロより大きい(または等しい)場合、文字列には「スキャン」という文字が含まれます。ゼロより小さい場合、ソースには文字列が含まれません。

Fields!YourField.Value.ToString().IndexOf("Scan") >= 0

それはあなたがそれを使う方法を含んでいるのとほぼ同じように働きますが。

于 2012-05-31T17:23:19.023 に答える