我想显示一些已转置的数据,以便将其旋转到SSRS顶部的某个日期,如下图所示:
我已经尝试通过动态sql查询来执行此操作,但这会带来更多问题,因为标题每天都会更改名称。
我希望在SSRS上旋转数据非常容易,但是我似乎无法解决该问题。
这是SSRS 2008 / MSSQL 2012。
编辑-当我尝试在“日期”列上分组时,它在ssrs上显示出来,这不是我想要的Click Here
编辑
我尝试了以下建议,但是我不知道您的意思是怎么做?在SQL或SSRS中是什么意思
这是我的查询
IF OBJECT_ID('tempdb..#Cass_SSRS_DailyMiTable') IS NOT NULL
DROP TABLE #Cass_SSRS_DailyMiTable
CREATE TABLE #Cass_SSRS_DailyMiTable (
[date] DATE ,[Total Orders] INT ,[Orders Done] INT ,[Pieces picked] INT ,[Items Picked] INT ,[Average Items on Order] INT ,[Picked Today] INT)
INSERT INTO #Cass_SSRS_DailyMiTable (
date,
[Total Orders],
[Pieces picked],
[Items Picked],
[Average Items on Order],
[Picked Today]) VALUES
('2017-03-24', 53, 352, 33, 22, 0),
('2017-03-25', 351, 23, 235, 52, 0),
('2017-03-26', 35, 55, 25, 95, 0)
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX);
SET @cols = STUFF((SELECT ',' + QUOTENAME(CONVERT(VARCHAR(100), c.date, 120))
FROM #Cass_SSRS_DailyMiTable c
ORDER BY c.date ASC
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query =
';WITH PreUnpivot AS
(
SELECT
C.date,
C.[Total Orders],
C.[Pieces picked],
C.[Items Picked],
C.[Average Items on Order],
C.[Picked Today]
FROM
#Cass_SSRS_DailyMiTable AS C
)
SELECT
P.Concept,
' + @cols + '
FROM
PreUnpivot AS C
UNPIVOT (
PivotedValues FOR Concept IN ([Total Orders], [Pieces picked], [Items Picked], [Average Items on Order], [Picked Today])
) AS T
PIVOT (
MAX(T.PivotedValues) FOR T.Date IN (' + @cols + ')
) AS P'
EXEC (@query)
答案 0 :(得分:1)
首先,您需要在数据集中具有通用的通用标识符,以便所有行都具有可以分组的相同标识符。我在数据集中插入并使用了一个名为“ id”的字段。
第二次插入具有一个列组(日期字段)和四个行组(类别组)的矩阵。
对于每个行组,它们都必须按通用的通用标识符分组。(组属性,group on ...)
以下示例:
答案 1 :(得分:0)
我使用了您原来的sql并相应地修改了脚本:
如果OBJECT_ID('tempdb ..#Cass_SSRS_DailyMiTable')不为空 删除表#Cass_SSRS_DailyMiTable
创建表#Cass_SSRS_DailyMiTable( [日期] DATE,[总订单] INT,[完成的订单] INT,[选择的件数] INT,[选择的项目] INT,[平均订单项] INT,[今天选择的] INT,[id] INT)>
INSERT INTO #Cass_SSRS_DailyMiTable( 日期, [总订单], [选件], [挑选的物品], [订购的平均商品], [今天精选], [id])VALUES ('2017-03-24',53,352,33,22,0,1), ('2017-03-25',351,23,235,52,0,1), ('2017-03-26',35,55,25,95,0,1)
选择* 来自#Cass_SSRS_DailyMiTable
我先前回答中的报告定义格式仍然适用。
如果您需要更多信息,请给我您的电子邮件地址。