考慮:SSRS - 動態字段
- SQL Server 2008 R2的
- SSRS 2008
- 謙卑程序員
考慮兩個表:
CREATE TABLE PERSON
(
PersonID INT,
Name VARCHAR(100)
)
CREATE TABLE PERSON_EXTENDED
(
PersonExtendedID INT,
PersonID INT,
DOB DATETIME,
FavoriteColor VARCHAR(100)
)
進一步考慮以下查詢加入建議thei的表關係。
SELECT
*
FROM
PERSON AS P
JOIN PERSON_EXTENDED AS PE ON (P.PersonID = PE.PersonID)
爲了讓你的整體概念,我想創建一個存儲過程,將填充一個SSRS報告的字段選擇參數。然後使用選定的參數將其作爲參數傳遞給另一個存儲過程,該存儲過程使用所選字段創建報告。
我的想法最初是這樣的,但是這樣會產生2個問題。首先是兩個表格中1和2的重複順序。其次是重複的列名稱「PersonID」。
SELECT
C.COLUMN_NAME,
C.ORDINAL_POSITION
FROM
INFORMATION_SCHEMA.columns AS C
WHERE
C.TABLE_NAME = 'PERSON'
OR C.TABLE_NAME = 'PERSON_EXTENDED'
有什麼想法?額外的功勞就是以可擴展的方式做到這一點,幷包含某種「顯示名稱」字段,因此最終用戶不必處理PersonID,但可以處理「個人身份識別」。
我探討了添加一個主鍵消除了常見問題的表。該表還將具有表名,列名和顯示名稱,以消除其他問題。雖然這是一個非常簡單的解決方案,但如果字段名稱發生更改或字段被添加/刪除,這可以幫助您進行手動更新。 –