0
在我的SSRS報告生成器中,我爲我的一個數據集(名稱是dsTagAttributes)設置了一個表達式集。查詢類型是文本。如何在SSRS中正確設置表達式Query.CommandText?
這是查詢表達式
="select m.TagName, ta.descriptor, t.[State] from MasterTags m inner join TagAttributesClassic ta on m.ID = ta.TagID inner join TagStates t on t.ID = m.StateID where m.PIServerID = @ServerID and t.[State] = @State and m.MetaData1 = @Station " & Parameters!AndOr.Value & "m.MetaData2 = @Device"
上述查詢表達式具有在選擇語句級聯的參數。
參數@AndOr
數據類型是文本,具有「或」的默認值,並且參數的可見性被設置爲隱藏(屏幕下方拍攝)。我已設置此參數,因爲它將用於在報告運行期間動態地將數據集結果從or
更改爲and
。
什麼能去錯在我的查詢命令文本?
任何幫助,非常感謝。
你是對的。我錯過了使用單引號將'@ State','@ Station'和'@ Device'參數包裝起來。我以爲ssrs查詢生成器會自動處理它,因爲參數是文本類型。並且,謝謝你的建議。使用您的方法與OrAnd條件相比有什麼好處? – Juniuz
這只是我的編碼風格。我經常注意到一個查詢計劃更好,它可以存儲在查詢緩存中,而無需編譯它,對我而言,這種方法具有更好的可讀性。然而,這不是什麼大問題,所以如果表現良好,你可以使用你的方法。 – Anton