使用SQL将单列字符串数据字段分组为多列

使用SQL将单列字符串数据字段分组为多列,sql,reporting-services,Sql,Reporting Services,我有一个表,其中有一列名为 具有行值的Col-X AB-CD-E, B-CD-EF, B-KK-EFG, B-KK-GFH, B-XX-XYZ, B-XX-ZZZ, B-ZZ-EFX, 我想使用诸如“-CD-”、“-KK-”等唯一值将数据字段分组到不同的多列中。。。我希望我的新表有多个数据字段的列,如: Col1 AB-CD-E, B-CD-EF, Col2 B-KK-EFG, B-KK-GFH, Col3 B-XX-XYZ, B-XX-ZZZ

我有一个表,其中有一列名为 具有行值的Col-X

AB-CD-E,
B-CD-EF,
B-KK-EFG,
B-KK-GFH,
B-XX-XYZ,
B-XX-ZZZ,
B-ZZ-EFX,
我想使用诸如“-CD-”、“-KK-”等唯一值将数据字段分组到不同的多列中。。。我希望我的新表有多个数据字段的列,如:

Col1    
AB-CD-E,    
B-CD-EF,

Col2    
B-KK-EFG,   
B-KK-GFH,   

Col3    
B-XX-XYZ, 
B-XX-ZZZ,

Col4
B-ZZ-EFX

在此场景中,您可以使用下面的组表达式对每个字符串中第二部分的数据进行分组:

=拆分(字段!ColX.Value,“-”)(1)


然而,在SSRS中,无论是在表中还是在矩阵中,这些数据都只是行-组级别的组,不能透视到多个列中。在表格中,它不能将“AB-CD-E”、“B-KK-EFG”、“B-XX-XYZ”、“B-ZZ-EFX”放入明细行。在矩阵中,它将仅显示每个组实例中的第一个值。

(1)您使用的是什么数据库?(2) 这种类型的转换通常在应用程序端完成。是否生成包含该列的报告?还是说表的字段?什么DB?您的唯一值是否与它在样本数据中显示的位置相同,或者可能不同……我使用的是SQL DB,是的,唯一值与它在样本数据中显示的位置相同。