我需要使用SSRS创建许多不同的报告,我一直在努力寻找最好的方法让我根据需要轻松创建它们,并让用户浏览它们并根据需要使用它们。
为了让您了解我正在处理的两组数据:
现在EDI数据相当一致,因此这些列是静态的。 硬件数据通常是不同配置的大量列表。我以不同的平面文件格式接收它们并使用SSIS或其他工具将数据导入Key Value Pairs。现在在报告中,我使用矩阵来保持EDI列静态,它与序列号上的硬件匹配,以及硬件数据转向。
所以报告没有中断,所以我没有给用户太多的信息,它在另一个表上匹配,我指定了哪些键是列。
以下是我的一个报告的一个小例子:
绿色列是EDI,而橙色是硬件。
我的问题是,我有更好的方法来做这件事吗?有些报告可能变得复杂,就像某些硬件需要总量(计算硬盘空间,ram总数等)这很难动态完成。
我尝试使用这些参数以这种方式创建报告:
这样我就可以为每个项目创建Key列,用户可以选择他们想要运行的报告。默认值为All Data。
我有更好的方法来创建这些报告吗? SSRS在动态支点方面似乎并不能很好地发挥作用。
是否有更好的工具可以动态处理这些报告,或让用户选择他们想要在报告中看到的内容?
答案 0 :(得分:1)
您无法在SSRS中动态创建列,但可以控制列的可见性。
1)在表格中创建一个列表,其中包含您想要切换的所有列的名称,并包含一个标题为“全部”的列。
2)创建一个基于此表的参数,并确保打开多选。
3)右键单击要切换的每一列,选择可见性,然后创建一个条件,检查用户是选择了All还是从参数列表中选择了列。
4)培训用户通过从下拉菜单中选择和取消选择,他们可以控制什么。
答案 1 :(得分:1)
我无法直观显示您的数据,但如果我理解正确,您可以使用下拉列表显示您在列组中使用的列中的所有唯一值。将其设置为多值,然后只需将WHERE
子句读为
SELECT * FROM myTable WHERE myColumnGroupField IN (@myColumnChoiceParameter)
这样用户可以选择他们想要的任何列。
你可以通过添加另一个具有一些预设列组的参数来扩展它(我想如果我理解的话,你可能已经有其中一个),这将设置主@myColumnChoiceParameter
参数的默认值。 / p>
如果您想要更灵活的东西,那么您可能希望查看Power BI,但取决于您打算如何部署这可能不是一个简单的选项。