0

我需要使用 SSRS 来创建许多不同的报告,并且我一直在努力寻找最适合我的方式来根据需要轻松创建它们,并让用户浏览它们并根据需要使用它们。

为了让您了解我正在处理的两组数据:

  • 来自我们客户的 EDI 文件
  • 硬件配置的原始数据输出

现在 EDI 数据相当一致,因此这些列是静态的。硬件数据通常是不同配置的海量列表。我以不同的平面文件格式接收它们,并使用 SSIS 或其他工具将数据放入键值对中。现在在一份报告中,我使用矩阵来保持 EDI 列的静态,它与序列号上的硬件匹配,并且硬件数据枢轴。

所以报告不会中断,所以我不会给用户太多信息,它会在另一个表上匹配,我在其中指定我想成为列的键。

这是我的一份报告的一个小例子:

例子

绿色列是 EDI,而橙色是硬件。

我的问题是,有没有更好的方法让我这样做?一些报告可能会变得复杂,例如需要某些硬件的总数(计算硬盘空间、内存总数等),这很难动态完成。

我尝试使用以下参数以这种方式在报告中创建:

示例 2

这样我可以为每个项目创建关键列,用户可以选择他们想要运行的报告。默认值为所有数据。

我有更好的方法来创建这些报告吗?SSRS 似乎不太适合动态枢轴。

是否有更好的工具可以动态处理这些报告,或者让用户选择他们想在报告中看到的内容?

4

2 回答 2

1

我无法可视化您的数据,但如果我理解正确,您可以有一个下拉列表,显示您在列组中使用的列中的所有唯一值。将其设置为多值,然后简单地让WHERE子句读取类似

SELECT * FROM myTable WHERE myColumnGroupField IN (@myColumnChoiceParameter)

这样,用户可以选择他们想要的任何列。

您可以通过添加另一个参数来扩展它,该参数具有一些预设的列组(如果我理解正确,我认为您可能已经拥有其中一个)将设置主要@myColumnChoiceParameter参数的默认值。

如果您想要更灵活的东西,那么您可能想要查看 Power BI,但取决于您打算如何部署,这可能不是一个简单的选择。

于 2018-02-27T22:31:16.637 回答
1

您不能在 SSRS 中动态创建列,但可以控制列的可见性。

1)在表中创建一个列表,其中包含您要切换的所有列的名称,并包括一个标题为“全部”的列。

2)创建一个基于该表的参数,并确保多选已打开。

3) 右键单击​​要切换的每一列,选择可见性,然后创建一个条件来检查用户是选择了全部还是从参数列表中选择了该列。

4) 训练用户通过从下拉列表中选择和取消选择来控制可见的内容。

于 2018-02-27T18:42:01.793 回答