我在显示矩阵行中日期范围的值时遇到问题。我想有一个矩阵显示以下数据:
Trial Existing Total Yesterday 3 1 4 This Week 5 3 8 Last Week 18 5 23 Month to Date 26 9 35 Last Month 32 20 52
我认为解决方案是创建一个带有取消范围(“昨天”,“本周”等)文本值的计算字段。问题是这些日期范围重叠,字段只能包含一个文本值。
有没有办法在Reporting Services中创建这样的矩阵表?
答案 0 :(得分:0)
如果我建议,为什么不在查询中使用UNION创建具有相同数据的SQL结果集?
e.g。
SELECT 'Yesterday' AS When,
SUM(CASE WHEN Status = 'Trial' Then 1 Else 0 End) AS Trial,
SUM(CASE WHEN Status = 'Other' Then 1 Else 0 End) AS Other
FROM myTable
WHERE TheDate >= givenDate AND TheDate < (givenDate + 1)
GROUP BY When
UNION
SELECT 'This Week' AS When,
SUM(CASE WHEN Status = 'Trial' Then 1 Else 0 End) AS Trial,
SUM(CASE WHEN Status = 'Other' Then 1 Else 0 End) AS Other
FROM myTable
WHERE TheDate >= (givenDate - 7) AND TheDate < (givenDate + 1)
GROUP BY When
注意:我编写了这个查询,为您提供了如何在SQL中完成此操作的示例。因此,不要依赖Reporting Services来完成工作。
你将不得不做一些杂耍,以便在tsql中使用与DATE相关的函数来获取“本周”的日期。
“总计”字段可以是报告中的计算字段。