我有一个存储过程,用于构建问答类型表单的动态数据透视表。表单上的每个问题都分配给一个部分。同一表单有多个版本,表单的每个新版本都会弃用现有列或添加新列。我想创建一个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个问题(即:列)被添加到Bio部分,则存储过程将显示上述数据以及两个新问题。此功能是否可以显示为SSRS报告?