簡體   English   中英

如何使用包含字段和參數的OR條件編寫SSRS表達式?

[英]How to write SSRS expression with OR condition involving a field and a parameter?

我有一組tablix結果,我試圖根據OR條件進行過濾,但是我很難將兩者組合成一個自定義表達式。 [IsSafetyObservation]只是一個布爾字段,[部門]必須是[@部門]的多選參數值的一部分。 這是兩個單獨的過濾器的屏幕截圖,但這是AND條件。 當我嘗試編寫自定義表達式時,我沒有使用write語法,因為在嘗試引用@Department參數時出現紅線

tablix篩選器屏幕快照 自定義表達式嘗試

您需要像嘗試的那樣將表達式組合成一個表達式,但是應該使用InStr而不是使用IN。 InStr在另一個字符串中搜索一個字符串,然后返回位置或0(如果找不到)。

首先,您需要使用JOIN將參數組合成字符串。

JOIN(Parameters!Department.Value, ",")

這會將您的參數組合成一個字符串,您現在可以在Department參數中搜索Department字段。

InStr(JOIN(Parameters!Department.Value, ","), Fields!Department.Value) > 0

另外,SSRS並非總是適用於布爾值(ugh)-因此= (1 = 1)的表達式在某些地方可能適用於布爾結果,但在其他地方則不適用,因此最好指定:

=IIF(InStr(JOIN(Parameters!Department.Value, ","), Fields!Department.Value) > 0 
    OR Fields!IsSafetyObservation.Value = False, 
        True,
        False)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM