私はSSRSレポートを作成しようとしています。トランザクションテーブルから売上値を取り上げ、年、月、およびサブカテゴリでグループ化しました。私はこれを視点として作成しました。SELECT昨年の年データを基にしたデータ
SELECT b.FiscalYear AS Year,
b.FiscalMonth AS Month,
a.SubCategoryKey,
MAX(a.SubCategoryDesc) AS SubCategoryDesc,
SUM(CAST(a.Cost + a.FreightCost AS decimal(18, 2))) AS TotalCost,
SUM(CAST(a.SalesAmount AS decimal(18, 2))) AS TotalSales,
SUM(CAST(a.Weight AS decimal(18, 2))) AS Pounds, SUM(CAST(a.SalesAmount -(a.Cost + a.FreightCost) AS decimal(18, 2))) AS Margin
FROM dbo.GrossMargin_CorrectedCosts AS a
LEFT OUTER JOIN dbo.M_DateDim AS b ON a.InvoiceDate = b.Date
GROUP BY b.FiscalYear, b.FiscalMonth, a.SubCategoryKey
私は、このようになりますきれいな眺めが残っています:私は今、このクエリへのadditonal列を追加したいと思います
SELECT [Year]
,[Month]
,[SubCategoryKey]
,[SubCategoryDesc]
,[TotalCost]
,[TotalSales]
,[Pounds]
,[Margin]
FROM [FinancialData].[dbo].[SubCategorySalesbyMonth_V]\
ここでビューのコードです。私はこれをSSRSレポートとして実行し、年と月の両方のパラメータを渡します。私がしたいのは、渡されたYearパラメータとして2017が選択されたとき、TotalSales、TotalCost、およびPoundsの前年の値を表示したい場合です。
クエリは次のようになりに対し:年と月がレポートに渡されたとき
SELECT [Year]
,[Month]
,[SubCategoryKey]
,[SubCategoryDesc]
,[TotalCost]
,[TotalSales]
,[Pounds]
,[Margin]
,PreviousYearTotalSales
,PreviousYearTotalCost
,PreviousYearPounds
FROM [FinancialData].[dbo].[SubCategorySalesbyMonth_V]
基本的に、私は前の年のtotalsalesを表示したいのですが、その一定期間にtotalCostとポンドマイナス1年。私はこれをやっている時を過ごしている。
私は明らかにすべてを試みたような気がします。助けてください。
ありがとうございます@R。リチャーズ。それは非常に単純で貴重なヒントでした。このシナリオには最適です。もう一度非常にありがとう。 –