amywu 发表于 2010-10-9 17:13:11

分享一个非常好的报表分析的开发工具

只要写一条SQL查询,就可以开发出类似如下的分析报表:
1、2007年的区域销售分析;
2、2007年各区域与产品大类的交叉报表;
3、2007年的业务员TOP10;
4、2007年广州市这个区域的产品大类TOP10报表与图形
5、2008年2月产品大类TOP10深度分析,包括本年累计、环比(与1月对比)、同比(与2007年2月对比)
7、2007年各区域的比重分析(含表与饼图)
8、2007年至2008年的销售走势分析
9、各区域每个季度的销售分析
10、……根据需要,还可以变换出多种样式、不同条件的表与图形

SQL语句如下:
/*K3102版本以上,或K3102版本以下工业版皆适用,注意客户及产品至少要分两级才可用*/
SELECT dbo.ICSale.FDate AS 时间,dbo.ICSale.FBillNo AS 发票号, dbo.ICSaleEntry.FQty AS 数量,
dbo.ICSaleEntry.FPrice AS 单价, dbo.ICSaleEntry.FAmount AS 金额, dbo.t_ICItem.FName AS 产品,
dbo.t_Organization.FName AS 客户, dbo.t_Emp.FName AS 业务员, a.fname AS 区域,
b.fname AS 产品大类
FROM dbo.ICSale INNER JOIN
dbo.ICSaleEntry ON dbo.ICSale.FInterID = dbo.ICSaleEntry.FInterID INNER JOIN
dbo.t_ICItem ON dbo.ICSaleEntry.FItemID = dbo.t_ICItem.FItemID INNER JOIN
dbo.t_Organization ON dbo.ICSale.FCustID = dbo.t_Organization.FItemID INNER JOIN
dbo.t_Emp ON dbo.ICSale.FEmpID = dbo.t_Emp.FItemID INNER JOIN
(SELECT fnumber, fname
FROM t_item
WHERE fitemclassid = 1 AND flevel = 1) a ON LEFT(dbo.t_Organization.FNumber,
CHARINDEX('.', dbo.t_Organization.FNumber)) = a.fnumber + '.' INNER JOIN
(SELECT fnumber, fname
FROM t_item
WHERE fitemclassid = 4 AND flevel = 1) b ON LEFT(dbo.t_ICItem.FNumber,
CHARINDEX('.', dbo.t_ICItem.FNumber)) = b.fnumber + '.'
WHERE (dbo.ICSale.FCheckerID <> 0) --只统计已审核的发票

附件:3分钟制作多维分析模型

tj0711 发表于 2014-6-5 18:30:00

:),太难啦,不懂!!!!!!!!!!!!!!!!!!!!

wshzh137 发表于 2015-3-2 16:00:26

谢谢分享 看看再说:time::time::time::time::time::time:
页: [1]
查看完整版本: 分享一个非常好的报表分析的开发工具