簡體   English   中英

SSRS Tablix顯示銷售與預算

[英]SSRS tablix show sales vs budget

我正在努力了解一種在SSRS的適當列表中獲得以下內容的方法。

我想要一份帶有以下內容的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

現在,您可以使用此數據集創建數據透視

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM