我按以下顺序拥有数据集
Phase WP FY ITEMNO
3C DS 2016 2007463
3D DS1 2017 2007463
3E DS2 2018 2007463
3F DS3 2019 2007463
3G DS4 2020 2007463
我试图在SSRS中制作一个报告,分为4个不同的部分,并用水平线分隔
2007463
3C DS 2016 3D DS1 2017 3E DS2 2018 3F DS3 2019
3G DS4 2020
答案 0 :(得分:0)
这可能有点像黑客,但我会做的是
在数据集中添加一个不等于1到4
在报告上横向放置4个相同的表格
按列号
例如,使用此数据集,我添加了一个从1到4不等的列号(我还添加了几行):
WITH cteBase AS (
SELECT
Phase
, WP
, FY
, (ROW_NUMBER() OVER(ORDER BY Phase) - 1) % 4 + 1 AS ColumnNum
FROM (VALUES
('3C', 'DS', '2016')
, ('3D', 'DS1', '2017')
, ('3E', 'DS2', '2018')
, ('3F', 'DS3', '2019')
, ('3G', 'DS4', '2020')
, ('3H', 'DS5', '2020')
, ('3I', 'DS6', '2020')
, ('3J', 'DS7', '2020')
, ('3K', 'DS8', '2020')
) v(Phase, WP, FY)
)
SELECT
Phase
, WP
, FY
, ColumnNum
FROM cteBase
使用包含的列#
返回数据集Phase WP FY ColumnNum
3C DS 2016 1
3D DS1 2017 2
3E DS2 2018 3
3F DS3 2019 4
3G DS4 2020 1
3H DS5 2020 2
3I DS6 2020 3
3J DS7 2020 4
3K DS8 2020 1
然后为"第1列和第34列创建一个表格,然后根据需要对其进行格式化,然后复制/粘贴它。这些粘贴的表格将用于第2列,第3列和第4列。
在每个表格中,为相应的列#。
设置Tablix过滤器这是预览结果
编辑:如果您希望重复每个ItemNo ...
这是我的样本数据集。注意我将Row_Number更改为按ItemNo分区
WITH cteBase AS (
SELECT
Phase
, WP
, FY
, ItemNo
, (ROW_NUMBER() OVER(PARTITION BY ItemNo ORDER BY Phase) - 1) % 4 + 1 AS ColumnNum
FROM (VALUES
('3C', 'DS', '2016', '20074063')
, ('3D', 'DS1', '2017', '20074063')
, ('3E', 'DS2', '2018', '20074063')
, ('3F', 'DS3', '2019', '20074063')
, ('3G', 'DS4', '2020', '20074063')
, ('3H', 'DS5', '2020', '20074063')
, ('3I', 'DS6', '2020', '20074063')
, ('3J', 'DS7', '2020', '20074063')
, ('3K', 'DS8', '2020', '20074063')
, ('3C', 'DS', '2016', '99991234')
, ('3D', 'DS1', '2017', '99991234')
, ('3E', 'DS2', '2018', '99991234')
, ('3F', 'DS3', '2019', '99991234')
, ('3G', 'DS4', '2020', '99991234')
, ('3H', 'DS5', '2020', '99991234')
, ('3I', 'DS6', '2020', '99991234')
, ('3J', 'DS7', '2020', '99991234')
, ('3K', 'DS8', '2020', '99991234')
) v(Phase, WP, FY, ItemNo)
)
SELECT
Phase
, WP
, FY
, ItemNo
, ColumnNum
FROM cteBase
然后在SSRS报告中,首先放置一个List对象。按ItemNo进行分组。
在列表中放置一个文本框以显示ItemNo,然后将表格放在列表中。
这是预览
如果要在列表中的每个项目之间分页,请选择列表,然后打开行组属性,转到分页符部分并选中“#34;在组的每个实例之间" 。