考虑: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,但可以处理“个人身份识别”。
我探讨了添加一个主键消除了常见问题的表。该表还将具有表名,列名和显示名称,以消除其他问题。虽然这是一个非常简单的解决方案,但如果字段名称发生更改或字段被添加/删除,这可以帮助您进行手动更新。 –