2016-06-17 67 views
0

我想在SSRS中構建一個報告,我想知道如果不是使用多選下拉框來搜索特定的一組序列號,我可以讓用戶能夠手動輸入多個序列號他們選擇的文本框。在SSRS中,如何將多個數據輸入到文本框?

特定數據集中的序列號列表非常大,所以下拉用戶將滾動瀏覽數千個序列號,而不是隻輸入感興趣的序列號。

回答

0

爲此,您可以使用參數

  1. 添加參數
  2. 在常規屬性修改的數據類型,並檢查允許多個值
  3. 單擊確定
  4. 右鍵單擊您的數據集查詢
  5. 左鍵點擊數據集屬性
  6. 左鍵點擊參數
  7. 添加您在上面1中創建的參數 - 表達式對話框鍵= SPLIT前面加@
  8. 點擊FX
  9. (!JOIN(參數.value的, 「」), 「」)
  10. 單擊OK
  11. 單擊確定
  12. 修改你的數據集查詢到包括地方東西(@)
  13. 保存修改後的查詢
  14. 預覽報表
  15. 參數框會出現
  16. 單擊下拉
  17. 輸入一個逗號分隔的序列號的列表
  18. 點擊查看報告

使用AdventureWorks中添加參數@soid 分割語句是

=SPLIT(JOIN(Parameters!SOID.Value,","),",") 

該數據集的查詢是

SELECT SalesOrderID, RevisionNumber, OrderDate, DueDate, ShipDate, Status, n        OnlineOrderFlag, SalesOrderNumber, PurchaseOrderNumber, AccountNumber,  CustomerID, SalesPersonID, TerritoryID, BillToAddressID,        ShipToAddressID, ShipMethodID, CreditCardID, CreditCardApprovalCode, CurrencyRateID, SubTotal, TaxAmt, Freight, TotalDue, Comment, rowguid, ModifiedDate 
FROM Sales.SalesOrderHeader WHERE SalesOrderID in (@SOID) 
+0

感謝您的支持。我使用上面的示例,但我仍然遇到問題。一旦引入了分離連接並運行報告,序列號下拉框變灰。它是無用的。該參數設置爲可見,所以我有點不確定發生了什麼。 – Brice

+0

這裏是我的where子句與我的參數的示例: where(Descr IS NOT NULL)AND(A1.ClassId> 0)AND(A1.Code IN(@code))AND(A1.ClassId IN(@plan ))和(A1.PerstedDAT BETWEEN @datepostedbegin AND @datepostedend)AND(A1.SerialNumber IN(@SerialNumber)) – Brice

+0

奇怪 - 所以14 - 18點不適合你?即使添加了2個日期參數後,我仍然無法重現此問題,但我注意到該參數在預覽中顯示爲灰色(在報告管理器中沒有問題)。需要檢查的一件事情是,SSRS對於MS非常繁瑣關於參數區分大小寫。 –

相關問題