报告:拆分字符串并在矩阵表中将其显示在每列中的每个值中

时间:2018-04-26 13:18:59

标签: reporting-services ssrs-2012

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

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

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

更新

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

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

ABC; CDF; EFG; HIG; KLM; NOP; QRS; TUV; WXY; Z; 123; 456; 789

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

ABC CDF EFG HIG KLM NOP QRS TUV WXY Z

123 456 789

2 个答案:

答案 0 :(得分:0)

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

如果row2中的项都返回空白,则不应呈现。如果这不起作用,您可以添加一个行可见性过滤器,只有当收据ID的子字符串足够长才能拥有数据时才会显示。

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

答案 1 :(得分:0)

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

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

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

相关问题