在 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
结果如下
我正在使用 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
结果如下