【问题标题】:Transfers between locations bar graph SQL位置之间的传输条形图 SQL
【发布时间】:2014-10-21 16:35:04
【问题描述】:

鉴于我有一张表,其中包含当前位置之间的相互转移信息:

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。

请指教。

【问题讨论】:

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


    【解决方案1】:

    CTE 正在从 FromLoc 和 ToLoc 列值中获取不同的位置

    我们正在对所有位置进行分组,并进行基于 CASE 的聚合以查找出库和入库值

    ; 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
    

    【讨论】:

    • 谢谢,但这并不能像我需要的那样安静地工作。例如,如果它只是从纽约到洛杉矶(我想知道),那么这个表格就会显示出来。
    • @user2684009,可以通过where子句限制
    • 对不起,我的意思是……我希望能够跟踪哪个位置向哪个位置发送的物品最多,以及哪个位置从哪个位置接收的物品最多。可以用图形描绘吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2021-12-09
    相关资源
    最近更新 更多