我有一个事实表,它有两个日期Invoice Date
和Accounting Current Date
。为了获得请求的收入价值,我需要结合使用这两个日期。例如,如果我需要YTD收入,我需要选择这样的:MDX - 从另一个日期维度计算一个日期维度
(注:我写SQL查询,因为我比较熟悉它)
SELECT Revenue
FROM
Fact_Revenue
WHERE
Invoice_Date <= '2011-10-22'
and AccountingCurrent >= '2011-01'
and AccountingCurrent <= '2011-10'
除了收入,这一事实表格还有其他我需要的信息,但是为了计算这些其他数据,我不需要Accounting Current Date
。所以我的想法是在主MDX查询中只使用1个日期(Invoice Date
)(这样我就可以使用1个查询获取尽可能多的数据)并计算收入我想使用计算成员,并且在那里我想联系Accounting Current Date
与选定的Invoice Date
。
例如
SELECT {[Measure].[RevenueYTD],
[Measure].[RevenueMTD],
[Measure].[NumberOfInvoices],
[Measure].[NumberOfPolicies]}
ON COLUMNS,
{[People].Members} ON ROWS
FROM [Cube]
WHERE
[Invoice Date].[Date Hierarchy].[Date].&[2011-10-22]
在这种情况下,[Measure].[RevenueYTD]
并[Measure].[RevenueMTD]
需要由Accounting Current Date
和Invoice Date
限于必须大于从查询的时间低。在另一方面,我需要[Measure].[NumberOfInvoices]
和[Measure].[NumberOfPolicies]
为particual发票日期(或MTD日期,等等),但没有Accounting Current Date
计算成员的查询应该做这样的事情(这更像是算法)的involvemenet:
ROUND(
SUM(
YTD([Accounting Current Date].[Date Hierarchy].CurrentMember),
[Measures].[Revenue]
),
2)
WHERE [Invoice Current Date].[Date Hierarchy] < [Invoice Current Date].[Date Hierarchy].CurrentMember
不明白你介意改写你的问题吗? – ic3 2011-12-22 14:40:23
我编辑了我的问题。谢谢 – 2011-12-22 15:39:38