SSRS tablix显示销售对比预算
问题描述:
我很努力地理解一种方法来获取SSRS中正确的Tablix中的以下内容。SSRS tablix显示销售对比预算
我想用以下tablix报告。
NOV 2016 DEC 2016
Sales Target Sales Target
CustomerA 100 200 400 300
我的数据集都在SQL Server 2008 R2
DataSet1的得到销售数字。
Customer InvoiceDate Salesvalue
CustomerA 05/11/2016 50
CustomerA 04/11/2016 50
etc
dataset2具有目标。
Customer date Target
CustomerA 11/2016 200
CustomerA 12/2016 300
我只是不能设法将这两个表“合并”在一起,并让我的目标在每个月的销售额旁边。
我设法让它在powerBI中完成,因为您可以根据额外的DimTimTable在表格之间很好地添加关系 ,其中我将日期与发票日期链接并添加仅基于月份的过滤器。
我只是想知道我的数据集应该如何获得销售(这是基于发票)旁边的预算链接到该月。
所以我很努力去理解如何建模,如果SSRS和SQLserver是正确的呢?我应该为此创建一个“立方体”吗?
答
您可以在SQL中执行此操作。
第一笔销售:客户和月,注意我用的DATEDIFF/DATEADD,找到了本月
SELECT Customer, DATEADD(month, DATEDIFF(month, 0, InvoiceDate, 0) as StartMonth, Sum(Salesvalue) as Sales
FROM dataset1
GROUP BY Customer, DATEADD(month, DATEDIFF(month, 0, InvoiceDate, 0)
的第一天将您的预测表日期字段,以便它是一贯的,也有本月
SELECT Customer, CONVERT(date, '01/' + date , 103) as StartMonth, Target
FROM dataset2
您还可以参加在日历文件,如果你不想在你的数据缺口,并加入与您的客户列表的第一天,这样你会得到所有可能的值你的支点。但为了简单起见,我只是在两者之间进行外部连接,因为您可能会为您的范围中的每个所需月份提供销售或目标。
SELECT ISNULL(Sales.Customer, Targets.Customer) as Customer,
ISNULL(Sales.StartMonth, Targets.StartMonth) as StartMonth,
Sales,
Target
FROM (SELECT Customer, DATEADD(month, DATEDIFF(month, 0, InvoiceDate, 0) as StartMonth, Sum(Salesvalue) Sales
FROM dataset1
GROUP BY Customer, DATEADD(month, DATEDIFF(month, 0, InvoiceDate, 0)) as ConvertedSales
OUTER JOIN
(SELECT Customer, CONVERT(date, '01/' + date , 103) as StartMonth, Target
FROM dataset2) Targets
ON Sales.Customer = Targets.Customer AND Sales.StartMonth = Target.SalesMonth
现在你可以使用这个数据集
公园创建支点,我想你是与创建表矩阵,并在报告中的日期格式确定。如果没有,我会将这些添加到回答 – Mike
Koen,我的回答对你有帮助吗? – Mike