【问题标题】:SSRS Dynamic Reports for Key Value Pairs键值对的 SSRS 动态报告
【发布时间】:2018-02-27 17:59:40
【问题描述】:

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

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

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

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

因此报告不会中断,因此我不会向用户提供太多信息,它会在另一个表上匹配,在该表中我指定了我想要成为列的键。

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

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

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

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

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

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

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

【问题讨论】:

    标签: sql-server reporting-services ssrs-2012 dynamic-pivot


    【解决方案1】:

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

    的内容
    SELECT * FROM myTable WHERE myColumnGroupField IN (@myColumnChoiceParameter)
    

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

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

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

    【讨论】:

    • 目前,我没有所有唯一值的下拉菜单。我已经预设了他们可以从中选择的报告,类似于您所说的预设组。不过,添加单独的列供他们选择可能是个好主意。使用动态枢轴,Power BI 会更灵活吗?我知道他们允许用户制作和保存自定义报告,这似乎很有用。
    • PowerBI 非常适合这样的事情。您只需构建模型,然后用户就可以轻松地将 Matris 格式的“报告”拼凑在一起。为简单起见,请先尝试桌面版。它是免费的,如果您需要,您可以向用户发送包含所有数据的 PBIX 文件,就像向他们发送 excel 文件一样。他们需要在 PowerBi 桌面中打开它,但它有利于原型设计和用户接受。我们在内部使用 PowerBi 桌面,我们的分析师喜欢它。
    • 对于预定义的报告。我的意思是,您可以调整当前的下拉列表,以根据预定义的报告使用默认列填充“所有列”下拉列表。基本上你所拥有的只是公开你在表格中拥有的列列表。然后,他们可以随时选择更多或取消选择他们不想要的任何内容。
    • 我认为可能需要研究 Power BI。查看数据的人需要能够与之交互,如果 BI 可以允许他们这样做而不是依赖我来构建它们,那就是他们要走的路
    【解决方案2】:

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

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

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

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

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

    【讨论】:

    • 如果它们是数百个这样的硬件列怎么办?我不能让他们每次都单独选择
    • 您可以尝试使用多个下拉菜单,每个下拉菜单默认为无),但我真的无法告诉您如何处理数百个可能的列。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多