Sql-Server

MDX - 動態獲取過去 6 個月

  • January 11, 2016

我有一張叫DimAccounts. 它描述了使用者帳戶和創建帳戶的日期。例如:

在此處輸入圖像描述

我想動態獲取過去 6 個月創建的帳戶列表。例如今天是 09\01\2016。所以我的帳戶列表將是從01-08-2015until創建的帳戶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())
)
);

引用自:https://dba.stackexchange.com/questions/125732