在 Report Builder 中拆分

Split in Report Builder

我正在使用 Microsoft Report Builder 我需要在我的报告中显示一组以“,”(逗号)分隔的文本字符串形式出现的数据

我有一个字段,我需要从中分离的内容如下: 数据 1、数据 2、数据 3 我需要像这样在报告中显示它们(在同一列中)

数据1

数据2

数据3

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

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

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

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

您将需要一个字符串拆分函数。如果使用 SQL 2016 或更高版本,您可以使用 built-in 函数 string_split()。如果您使用的是旧版本,那么您可以使用大量的函数示例。如果你找不到我可以提供一个

如果您的所有数据都在一行中,那么您可以这样做,将 @string 替换为您的 table 列。

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

这将给出以下结果

如果你有几行数据,那么你可以做类似的事情,但使用 CROSS APPLY 为每一行重复该函数。

这是一个例子

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

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

结果如下