环思产品论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3274|回复: 2
打印 上一主题 下一主题

通用查询图表配置示例

[复制链接]

15

主题

19

帖子

277

积分

超级版主

大周

Rank: 8Rank: 8

积分
277
QQ
跳转到指定楼层
楼主
发表于 2016-4-14 10:04:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhouyangping 于 2016-4-14 10:06 编辑

简单图表
  1. SELECT sMonth=CONVERT(NVARCHAR(7),a.dReceivedDate,120),
  2. nQty=SUM(c.nQty)
  3. FROM dbo.sdOrderHdr a
  4. JOIN dbo.sdOrderDtl b ON b.usdOrderHdrGUID = a.uGUID
  5. JOIN dbo.sdOrderLot c ON c.usdOrderDtlGUID = b.uGUID
  6. JOIN dbo.pbSales d ON d.uGUID = a.upbSalesGUID
  7. WHERE dReceivedDate BETWEEN '20130101' AND '20131231'
  8. GROUP BY CONVERT(NVARCHAR(7),a.dReceivedDate,120)
  9. ORDER BY 1
复制代码

显示效果


多系列图表示例一
  1. SELECT sSalesName=LEFT(d.sSalesName,1)+'**'
  2. ,sMonth=CONVERT(NVARCHAR(7),a.dReceivedDate,120),nQty=SUM(c.nQty)
  3. FROM dbo.sdOrderHdr a
  4. JOIN dbo.sdOrderDtl b ON b.usdOrderHdrGUID = a.uGUID
  5. JOIN dbo.sdOrderLot c ON c.usdOrderDtlGUID = b.uGUID
  6. JOIN dbo.pbSales d ON d.uGUID = a.upbSalesGUID
  7. WHERE dReceivedDate BETWEEN '20130101' AND '20131231'
  8. GROUP BY LEFT(d.sSalesName,1)+'**',CONVERT(NVARCHAR(7),a.dReceivedDate,120)
  9. ORDER BY 1,2,3 desc
复制代码



显示效果




多系列图表示例二


  1. SELECT sMonth=CONVERT(NVARCHAR(7),a.dReceivedDate,120),
  2. 业务员_陈=SUM(CASE WHEN d.sSalesName  LIKE '陈%' then c.nQty ELSE 0 END ) ,
  3. 业务员_方=SUM(CASE WHEN d.sSalesName  LIKE '方%' then c.nQty ELSE 0 END ) ,
  4. 业务员_高=SUM(CASE WHEN d.sSalesName  LIKE '高%' then c.nQty ELSE 0 END )
  5. FROM dbo.sdOrderHdr a
  6. JOIN dbo.sdOrderDtl b ON b.usdOrderHdrGUID = a.uGUID
  7. JOIN dbo.sdOrderLot c ON c.usdOrderDtlGUID = b.uGUID
  8. JOIN dbo.pbSales d ON d.uGUID = a.upbSalesGUID
  9. WHERE dReceivedDate BETWEEN '20130101' AND '20131231'
  10. GROUP BY CONVERT(NVARCHAR(7),a.dReceivedDate,120)
  11. ORDER BY 1
复制代码



显示效果


堆叠效果




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

15

主题

19

帖子

277

积分

超级版主

大周

Rank: 8Rank: 8

积分
277
QQ
沙发
 楼主| 发表于 2016-4-14 10:30:47 | 只看该作者
本帖最后由 zhouyangping 于 2016-4-14 10:41 编辑

图表混排示例

  1. SELECT 年月=CONVERT(NVARCHAR(7),a.dReceivedDate,120),
  2. 数量=SUM(c.nQty),
  3. 金额=SUM(c.nAmount)
  4. FROM dbo.sdOrderHdr a
  5. JOIN dbo.sdOrderDtl b ON b.usdOrderHdrGUID = a.uGUID
  6. JOIN dbo.sdOrderLot c ON c.usdOrderDtlGUID = b.uGUID
  7. JOIN dbo.pbSales d ON d.uGUID = a.upbSalesGUID
  8. WHERE dReceivedDate BETWEEN '20130101' AND '20131231'
  9. GROUP BY CONVERT(NVARCHAR(7),a.dReceivedDate,120)
  10. ORDER BY 1
复制代码

表格设置


柱状图设置


线状图设置


显示效果


回复 支持 反对

使用道具 举报

15

主题

19

帖子

277

积分

超级版主

大周

Rank: 8Rank: 8

积分
277
QQ
板凳
 楼主| 发表于 2016-4-14 10:41:03 | 只看该作者
图表混排重叠效果

  1. SELECT 年月=CONVERT(NVARCHAR(7),a.dReceivedDate,120),
  2. 数量=SUM(c.nQty),
  3. 金额=SUM(c.nAmount)
  4. FROM dbo.sdOrderHdr a
  5. JOIN dbo.sdOrderDtl b ON b.usdOrderHdrGUID = a.uGUID
  6. JOIN dbo.sdOrderLot c ON c.usdOrderDtlGUID = b.uGUID
  7. JOIN dbo.pbSales d ON d.uGUID = a.upbSalesGUID
  8. WHERE dReceivedDate BETWEEN '20130101' AND '20131231'
  9. GROUP BY CONVERT(NVARCHAR(7),a.dReceivedDate,120)
  10. ORDER BY 1
复制代码



表格设置


柱线图设置


显示效果

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|上海环思 ( 沪ICP备11022428号 )

GMT+8, 2024-9-17 09:48 , Processed in 0.078832 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表