程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SSRS:基於時間段參數的MDX查詢以及時間日歷Date Picker的時間類型參數化

SSRS:基於時間段參數的MDX查詢以及時間日歷Date Picker的時間類型參數化

編輯:關於SqlServer

今天在天善問答裡看到一個問題,如果我沒有理解錯的話,它應該是指比如在一個報表中選取一個 時間段,然後求出這個時間段的某個 Measure 的 SUM 和。並且同時求出這兩個時間點對應的上一年 的時間點之間的同一個 Measure 的 SUM 和。

比如當前選取的時間點是 2004年1月8日,結束時間點是 2004年3月1日。那麼不僅要求這個時間段 的某度量值總和,並且還要求 2003年1月8日到2003年3月1日時間段的某度量值總和。 也就是說,這 個時間段是一個動態的,根據輸入的兩個時間段決定當年和上一年的計算。

這個裡面有幾個小知識點,於是總結了一下,先看下面這個 Report  的效果。

還有使用 Date Picker 的效果 (注意如果使用日歷控件,那麼 StartDate 和 EndDate 的類型都 是 Date/Time 類型)-

非 Date Picker 參數時的設計

在 Cube 中查一下驗證一下,查詢結果都是一樣的。

WITH MEMBER [Measures].[Reseller Sales Amount of Period]
AS
SUM(
 [Date].[Calendar].[Date].&[20040108]:[Date].[Calendar].[Date].&[20040301]
,[Measures].[Reseller Sales Amount]
   )
MEMBER [Measures].[Reseller Sales Amount of Last Period]
AS
SUM(
 [Date].[Calendar].[Date].&[20030108]:[Date].[Calendar].[Date].&[20030301]
,[Measures].[Reseller Sales Amount]
   )
SELECT NON EMPTY{[Measures].[Reseller Sales Amount of Period],
 [Measures].[Reseller Sales Amount of Last Period]} ON COLUMNS,
NON EMPTY { ([Product].[Category].[Category].ALLMEMBERS ) } ON ROWS
FROM [Step-by-Step]

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved