微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在报表生成器中拆分

如何解决在报表生成器中拆分

我正在使用Microsoft Report Builder 我需要在报告中显示一组数据,这些数据来自以“,”(逗号)分隔的文本字符串。

我有一个需要分开的地方,像这样: 数据1,数据2,数据3 并且我需要在报告中将它们显示为这样(在同一列中)

data1

data2

data3

我的意思是在拆分中为每个项目留一行。

拆分(字段!Data.Value,“,”)(0)

我已经尝试过了,它只显示了位置0的值。 能以某种方式完成吗?谢谢!

解决方法

最好在数据集查询中执行此操作。假设您正在使用SQL Server。那么您可以执行以下操作。

您将需要一个字符串拆分功能。如果使用SQL 2016或更高版本,则可以使用内置函数string_split()。如果您使用的是旧版本,则可以使用许多功能示例。如果找不到,我可以提供一个。

如果所有数据都位于同一行,则可以执行类似的操作,将@string替换为表格列。

declare @string varchar(max) = 'Data1,Data2,Data3'
select result = ltrim(rtrim(value)) from string_split(@string,',')

这将给出以下结果

enter image description here

如果您在多行上都有数据,则可以执行类似的操作,但是使用CROSS APPLY对每一行重复该功能。

这是一个例子

declare @t table (string varchar(max))
insert into @t VALUES
('Data1,Data3'),('DataA,DataB,DataC')

select result = ltrim(rtrim(x.value)) from @t 
cross apply string_split(string,') as x 

给出以下结果

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?