Sql-Server
MDX - 動態獲取過去 6 個月
我有一張叫
DimAccounts
. 它描述了使用者帳戶和創建帳戶的日期。例如:我想動態獲取過去 6 個月創建的帳戶列表。例如今天是 09\01\2016。所以我的帳戶列表將是從
01-08-2015
until創建的帳戶09-01-2016
。請注意,此CreatedOn
欄位沒有層次結構,它是帳戶維度的屬性。
假設您已在維度中正確設置 CreatedOn 屬性的 ValueColumn 屬性(以便 MemberValue 返回日期數據類型),則以下內容應該有效:
select {[Measures].[Your Measure Here]} on 0, [DimAccounts].[AccountPK].[AccountPK].Members on 1 from [Your Cube] where { Filter( [DimAccounts].[CreatedOn].[CreatedOn].Members ,[DimAccounts].[CreatedOn].CurrentMember.MemberValue > DateAdd("m",-6,Now()) ) }
或者,如果您想創建一個命名集以便任何使用者都可以將其放在行上,請將其放在多維數據集設計器的計算選項卡中:
CREATE SET CurrentCube.[Accounts Created In Last 6 Months] as Exists( [DimAccounts].[AccountPK].[AccountPK].Members, Filter( [DimAccounts].[CreatedOn].[CreatedOn].Members ,[DimAccounts].[CreatedOn].CurrentMember.MemberValue > DateAdd("m",-6,Now()) ) );