位置之间的转换条形图SQL

时间:2014-10-21 16:35:04

标签: sql sql-server-2008 reporting-services reportbuilder3.0

鉴于我有一张表格,其中包含各地点之间的间隔转账的当前信息:

FromLoc         ToLoc           qty
NYC             LA              1842
NYC             CALI            752
LA              CALI            175
LA              NYC             5
CALI            NYC             2
CALI            LA              2691 

我想显示一个如下所示的条形图: http://www.act.org/collegechoice/12/i/p3/college-trans-8.png

所以X轴会显示'NYC','LA','CALI' 和纽约市将显示有多少转账进入仓库,以及有多少转账从仓库等处流出。我在报告建设者中试过玩这个,但似乎没有任何工作。有没有办法可以做到这一点。这个查询怎么样?

是否还可以将图表例如NYC作为x轴的类别,并将NYC输出到LA,CALI(用于输出)等等。然后我可以做一个类似的图,但仅适用于NYC In to LA,CALI。

请指教。

1 个答案:

答案 0 :(得分:0)

CTE从FromLoc和ToLoc列值获得不同的位置

我们正在所有地点进行分组,并进行基于CASE的汇总以查找Out of Wharehouse和In to Warehouse值

; with CTE
as
(
    SELECT DISTINCT FromLoc as Location from Table1
    UNION
    SELECT DISTINCT ToLoc as Location from Table1
)
SELECT Location , SUM( CASE WHEN T1.FromLoc = Location THEN T1.qty END) as 'Out of Warehouse',
                  SUM(CASE WHEN T1.ToLoc = Location THEN T1.qty END) as 'In to Warehouse'
FROM CTE
JOIN Table1 T1
on CTE.Location = T1.FromLoc
OR CTE.Location = T1.ToLoc
GROUP BY CTE.Location

在您的情况下,输出将类似于

Location    Out of Warehouse    In to Warehouse
CALI              2693             927
LA                180              4533
NYC               2594             7