2017-01-04 79 views
0

我如何通過@傳遞SSRS參數?當我試圖從參數列表中選擇電子郵件時,我得到:SSRS參數與@

An error has occurred during report processing. (rsProcessingAborted) 
Query execution failed for dataset 'DataSet1'. (rsErrorExecutingCommand) 
Parser: The syntax for '@xx' is incorrect. ([email protected]). 

我需要它來過濾我的MDX數據集。

回答

1

立方體使用的值不是簡單的文本,而是具有屬性的維度的成員。爲了進行比較,需要將其轉換爲適當的語法。添加參數的一種好方法是使用SSRS查詢設計器。

  1. 轉到您的數據集屬性。
  2. 單擊查詢設計器。
  3. 將屬性拖到右上角。
  4. 選中「參數」列中的框。
  5. 單擊確定。

這將創建一個隱藏的數據集以及參數。它還會爲您設置下拉列表的格式。

如果您查看其創建的MDX,則會使用StrToSet函數來解釋該字符串。

另一個更簡單但效率較低的選擇是簡單地將過濾器應用於SSRS中的數據集。

  1. 轉到數據集屬性。
  2. 轉到過濾器選項卡。
  3. 添加一個過濾器,確保Email列等於你Parameters!Email.Value
+0

它僅適用於一個參數。即使我將運營商更改爲「進入」,也只有第一封電子郵件纔會發送到過濾器。 – Testtest11

+1

如果通過查詢設計器添加參數,則默認情況下會接受多個值。如果要添加過濾器表達式,只需確保'Parameters!Email.Value'後面沒有「(0)」。 – StevenWhite