【问题标题】:Microsoft Report Builder: How to display selected chosen values from a multi-value parameter in a table?Microsoft Report Builder:如何从表中的多值参数中显示选定的值?
【发布时间】:2020-12-11 12:25:20
【问题描述】:

我正在使用 MS Report Builder v3.0 创建报告。作为本报告的一部分,我有一个多值参数(名为@Diagnoses)。该参数的标签和部分值(根据显示框大小截断)如下所示:

我希望能够在 2 列 tablix 中显示用户选择的标签/值(我尝试为标签/值使用单独的文本框,但结果未对齐)。

但是,这似乎并不简单。我找到的最接近的方法是this one,它将用户的选择存储在 xml 格式的内部参数中,然后查询此参数以从 xml 生成数据集。

所以,我像这样创建了生成 xml 的内部参数:

...我根据这些数据创建了一个数据集,并使用以下查询:

但是现在当我将这些值放入 tablix 时,标签和值现在位于不同的行上,如下所示:

有没有人有一个简单的方法来解决这个问题?

最好的祝福

CJ

【问题讨论】:

  • 您能否编辑您的问题并发布您希望输出的示例。通常,您可以通过在参数标签上简单地使用 JOIN 并为每个(或列表/表格控件中的文本框)有一个单独的文本框来做这种事情,但解决方案可能不是您想要的,直到我们看到您所期望的。
  • 好的 - 我已经取得了一些进展并相应地修改了我的问题 - 请参阅问题的结尾,大致了解我希望 Tablix 的外观(但它需要修改,以便每个标签 /一组值在它自己的行上(因此在给出的示例中,您将有 3 行而不是 6 行)

标签: reporting-services ssrs-2008 ssrs-2012 ssrs-tablix


【解决方案1】:

好的 - 我已经解决了(它不漂亮,但它有效!)

基本上,问题来自于在创建 xml 时必须使用 join 语句 - 你不能真正将标签信息和值信息放在 xml 中的同一行。

要解决这个问题,您必须使用两个内部参数来创建两个数据集 - 一个用于标签列,一个用于值列。创建这些的方法与上面显示的方法基本相同,除了 values 参数,默认值的表达式为:

...对于标签参数,是这样的:

(顺便说一下,确保将内部/隐藏参数的可用值设置为“无” - 这里的表达式是 默认 值)

然后,当您创建值数据集时,您在其查询中使用以下语法:

...对于标签数据集也是如此。

最后,在报表中,您从两个数据集中的每一个创建一个矩阵,然后将它们彼此相邻放置,使用固定的行高并将“可以缩小”/“可以增长”设置为 false,以便它们看起来像他们在同一张桌子上:

我希望这对某人有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多