我有一个立方体,在该立方体中有一个日期维度,其具有以下属性
日历年,日历月 - 年,财政年度,财年 - 季度,日期
现在有了这些属性,我有两个用户定义的层次结构,它们如下所示 日历层次结构,其中包含日历年,日历月 - 年,日期
第二个用户定义的层次结构是 财政层次结构,其中包含会计年度,会计年度季度,日历月份年度和日期
我想知道平均销售额,所以我创建了一个措施
["firstemail@mail.com", "secondmail@mail.com", "thirdmail@email.com"]
在运行类似
的内容时效果很好 to_address = list(str(self.to_address_list).split(","))
如果我使用 [日期]。[日历]。[日历月 - 年]。成员,这将起作用,但除了Calendar Month-Year之外,它不适用于我的财务层次结构属性。如何修改我的度量以使其接受会计年度层次结构属性。
我尝试在会计年度之间进行交叉加入,因为如果该集合为空,它将只评估正在使用的那个。但它对我不起作用(我假设sytnax可能是问题)。
对不起伙计们,我真的很陌生。
答案 0 :(得分:1)
将计算成员的定义更改为:
CREATE Member [Measures].[Sales Daily Avg]
AS
IIF
(
NOT([Date].[Fiscal].CURRENTMEMBER IS [Date].[Fiscal].[All])
,
Avg
(
Descendants
(
[Date].[Fiscal].CURRENTMEMBER,
[Date].[Fiscal].[Date]
)
,
CoalesceEmpty([Measures].[Total Sales] , 0)
)
,
IIF
(
NOT([Date].[Calendar].CURRENTMEMBER IS [Date].[Calendar].[All])
,
Avg
(
Descendants
(
[Date].[Calendar].CURRENTMEMBER,
[Date].[Calendar].[Date]
)
,
CoalesceEmpty([Measures].[Total Sales] , 0)
),
NULL //Change this to whatever you want in case none of the hierarchies 'Calendar' or 'Fiscal' is involved.
)
)
基本上,这将首先检查来自" Fiscal"层次结构是否在范围内。如果是这样,它将在所选成员的财政日期中平均。如果不满足第一个条件,它会进一步检查来自"日历"层次结构在范围内。如果是这样,它的工作方式类似于"日历"层次结构。最后,如果层次结构的成员都不在范围内,则会产生NULL
(您可能会根据您的要求重新思考并放置)。
注意:当任何层次结构的currentmember
是All
成员时,这意味着层次结构不在范围内(不是切片器或轴的一部分)