【发布时间】:2017-10-15 17:17:27
【问题描述】:
我有一个包含以下数据的表:
DECLARE @Plan_Summary TABLE (Col1 INT,Col2 INT,Col3 INT)
INSERT INTO @Plan_Summary VALUES (20,10,10)
INSERT INTO @Plan_Summary VALUES (20,10,10)
INSERT INTO @Plan_Summary VALUES (20,10,10)
INSERT INTO @Plan_Summary VALUES (8,10,10)
INSERT INTO @Plan_Summary VALUES (8,10,10)
INSERT INTO @Plan_Summary VALUES (8,10,10)
INSERT INTO @Plan_Summary VALUES (8,10,10)
INSERT INTO @Plan_Summary VALUES (4,10,10)
INSERT INTO @Plan_Summary VALUES (4,10,10)
INSERT INTO @Plan_Summary VALUES (4,10,10)
INSERT INTO @Plan_Summary VALUES (4,10,10)
INSERT INTO @Plan_Summary VALUES (4,10,10)
INSERT INTO @Plan_Summary VALUES (-10,10,10)
INSERT INTO @Plan_Summary VALUES (-20,10,10)
INSERT INTO @Plan_Summary VALUES (-2,10,10)
INSERT INTO @Plan_Summary VALUES (-7,10,10)
INSERT INTO @Plan_Summary VALUES (-15,10,10)
我必须将这些值绘制成条形图,并满足以下要求:
-
对于 Col1 时
- 值在 15 到 25 之间 - 绿色
- 值在 6 到 14 之间 - 蓝色
- 值介于 0 和 5 之间 - 黄色
- 红色小于 0。
Col2 和 col3 始终为红色。
我在数据集中使用了以下代码:
SELECT SUM(CASE WHEN Col1 BETWEEN 15 AND 25 THEN 1 ELSE 0 END) AS Green,
SUM(CASE WHEN Col1 BETWEEN 6 AND 14 THEN 1 ELSE 0 END) AS Blue,
SUM(CASE WHEN Col1 BETWEEN 0 AND 5 THEN 1 ELSE 0 END) AS Yellow,
SUM(CASE WHEN Col1 < 0 THEN 1 ELSE 0 END) AS Red,
COUNT(Col2) AS Col2,COUNT(Col3) AS Col3
INTO #TMP
FROM @Plan_Summary
SELECT Val,Col
FROM (SELECT Green,Blue,Yellow,Red,Col2,Col3
FROM #TMP) CSP
UNPIVOT (VAL FOR COL IN(Green,Blue,Yellow,Red,Col2,Col3)) AS CSP
我在 SSRS 中添加了堆叠柱形图类型 - 但问题是如何将所有绿色、蓝色、黄色、红色列组合成一个堆叠列并确保它们获得正确的颜色?
谢谢。
【问题讨论】: