【问题标题】:reports : split a string and display it in matrix table each value in each column报告:拆分字符串并在矩阵表中显示每列中的每个值
【发布时间】:2018-04-27 20:37:35
【问题描述】:

您好,我正在使用 SSRS 报告生成器 2012,其中我有一个数据集,其字段内容为由分隔符分隔的文本;

我正在尝试拆分文本并将其显示在另一个矩阵表中,每个值取每一列并将列大小限制为 10,并在达到 10 列大小后创建一个新行。

是否可以在 SSRS 中执行此操作,或者我可以在现有数据集上使用查询并通过将其拆分为 SQL 中的行来检索所有文本

更新:

我的数据集从存储过程中提取信息,该过程有一个名为 ReceiptText 的字段

假设 ReceiptText 字段的内容如下所示

ABC ; CDF ; EFG ;高;荷航;没有; QRS; TUV; WXY; Z ;123 ; 456; 789

我希望报告上的结果看起来像下面的矩阵表中的内容,每列中的每个值都以 10 作为最大列大小,如果超过列大小则添加一行

ABC CDF EFG HIG KLM NOP QRS TUV WXY Z

123 456 789

【问题讨论】:

  • 如果 Miguel 的评论没有帮助,请发布一些示例数据和预期结果
  • 为我正在寻找的内容添加了更新,我能够拆分文本但不知道如何在表格中显示它并将其拆分为十列宽度@AlanSchofield

标签: reporting-services ssrs-2012


【解决方案1】:

这是可能的,但如果您是 SSRS 新手,您会感到困惑且难以解释。基本上,您将希望将收据 ID 设计为一个行组。在收据 ID 旁边添加两行(在收据行组内)十列。在每一列中,您将放置一个表达式来检查字符长度并在足够长时获取子字符串。

如果 row2 中的项目全部返回空白,则不应呈现。如果这不起作用,您可以添加一个行可见性过滤器,该过滤器仅在收据 ID 的子字符串足够长以使其包含数据时才显示。

这是我能想到的最佳解决方案。

【讨论】:

    【解决方案2】:

    您可以使用以下代码拆分表达式中的文本:

    =Choose(1,Split(Fields!RECEIPTTEXT.Value,";"))
    =Choose(2,Split(Fields!RECEIPTTEXT.Value,";"))
    

    等等

    您可以在每个列组中使用这些表达式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      相关资源
      最近更新 更多