繁体   English   中英

如果最终的列数未知,您将如何显示由使用动态SQL作为SSRS报告的存储过程生成的数据透视表?

[英]How would you display a pivot table generated by a stored procedure that uses dynamic SQL as an SSRS report if the final number of columns is unknown?

我有一个存储过程,该存储过程构造了问答式表单的动态数据透视表。 表格上的每个问题都分配给一个部分。 同一表单有多个版本,并且表单的每个新版本都将淘汰现有列或添加一个新列。 我想创建一个SSRS报告,该报告将允许用户选择一个部分作为参数,并且将显示与该部分相关的所有问题。

例如,让我们使用以下数据:

 +============+=============+================+==============+
 | Form_id    | Item        | Value          | Section_Code |
 +============+=============+================+==============+
 | 123        | F_Name      | Joe            | Bio          |
 | 123        | L_Name      | Smith          | Bio          |
 | 123        | Occupation  | Plumber        | Professional |
 | 123        | Fav_Color   | Red            | Preference   |
 | 456        | F_Name      | Harry          | Bio          |
 | 456        | L_Name      | Potter         | Bio          |
 | 456        | Occupation  | Wizard         | Professional |
 | 456        | Fav_Color   | Blue           | Preference   |
 | 789        | F_Name      | Dave           | Bio          |
 | 789        | L_Name      | Grohl          | Bio          |
 | 789        | Occupation  | Musician       | Professional |
 | 789        | Fav_Color   | Green          | Preference   |
 | 789        | Fav_Food    | Capn Crunch    | Preference   |
 | 789        | Birth_City  | Phoenix        | Bio          |
 | 789        | Has_Pets    | Yes            | Animals      |
 +============+=============+================+==============+

form_id为123和456的表单具有相同的版本(即,相同的问题),但是form_id 789使用的是表单的新版本。 新版本增加了3个问题。 Fav_Food,Birth_City和Has_Pets。

我创建了一个存储过程,该存储过程将使用动态SQL创建数据透视表,以返回一种特定形式的问题和答案的列表。 例如,调用“ Bio”部分的存储过程将产生:

 +=============+==============+=============+===============+
 | Form_id     | F_Name       | L_Name      | Birth_City    |
 +=============+==============+=============+===============+
 | 123         | Joe          | Smith       | NULL          |
 | 456         | Harry        | Potter      | NULL          |
 | 789         | Dave         | Grohl       | Phoenix       |
 +=============+==============+=============+===============+

如果发布了新版本的表格并将2个问题(即列)添加到“生物”部分,则存储过程将显示上述数据以及两个新问题。 此功能是否可以显示为SSRS报告?

您可以使用矩阵而不是表格。

可能会有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM