如何在 SSRS 中創建使用者輸入列?
我是 SQL Server Reporting Services 和報表設計的新手;任何人都可以幫助我嗎?
我有兩個問題:
- 如何創建一列供使用者輸入數據?之後,我需要對使用者輸入的數據進行一些操作,我需要將這些數據顯示在另一列中。
- 如何將小數四捨五入到最接近的整數?例如,6.03 到 6 和 6.52 到 7。
1)如何創建一個列來輸入使用者數據,然後我需要對使用者輸入的數據執行一些操作,我需要在另一列中顯示
SSRS 不是創建應用程序,而是創建報告。不建議使用 SSRS 來收集使用者輸入。可以使用參數完成有限的數量,但這是基於每個報告而不是每行,因為我認為您在問題中暗示。例如,您可以通過一個公因數將一個參數設置為多個值,然後顯示該結果。
2)如何將小數四捨五入到最接近的整數,例如 6.03 到 6 和 6.52 到 7
使用 Round() 函式創建一個表達式。
=Round(6.03)
這將返回 6。 Round 還接受小數位數的第二個值。但是,您的欄位名將在括號中,而不是文字值:
=Round(myFieldName)
不建議使用 SSRS 作為“應用程序”的前端。也就是說,有時你只有一把錘子,而那些螺絲是自己擰進去的。
如果您正在尋找內聯編輯,那麼您對任何普通的東西都不走運(並且注入 jQuery 之類的東西非常草莓)。但是,您可以創建一個指向僅用於收集輸入(通過參數)的輔助報告的連結,然後更新您的報告的源數據。使用者輸入數據後,需要點擊“查看報告”,體驗不是很好,但可行。報告結果將確認您剛剛所做的更改
回到原始報告可能會很棘手。如果它缺少任何參數,您可以提供一個返回它的連結。但是,如果它有參數,您需要建構 URL 以返回原始報告(包括參數)並將其作為參數包含在“行編輯”表單中。然後,您的“行編輯”表單將使用它來提供返回連結。您將不得不使用
http://ssrs/Reports/Pages/Report.aspx
, 而http://ssrs/Reports/Pages/Report.aspx
這意味著所有麵包屑都會消失。旁注:如果您嘗試編輯並從初始值開始(例如,您要更改的值作為起點),請添加一個“確認”下拉菜單,其中 1 個值未預設。這將要求使用者更改它,但會阻止表單自動“查看”,這將呼叫您的更新 SQL。