我有一个带有“销售”衡量标准的多维数据集,我们每天都有销售单位数量。我们的时间维度为'Year>周>一天。
我需要在计算字段的非空销售期内获得第一天和最后一天的销售额。我尝试过OPENINGPERIOD和CLOSINGPERIOD,但他们只在周一和周日返回一周...问题是,有时周一是假期,周日总是假期,我得到空数据(假期我们没有销售)......这里是我最后一天的例子:
WITH
MEMBER
[Measures].[sales end] AS
'((CLOSINGPERIOD([Time.Weeks].[Day],[Time.Weeks].CurrentMember)
, [Measures].[sales]))'
SELECT
{[Measures].[sales], [Measures].[sales end]} ON COLUMNS,
NON EMPTY
({[Time.Weeks].[Week].Members}) ON ROWS
FROM [cubSales]
我需要在那段时间内获得非空销售的最后一天...它应该是星期五,但如果星期五是假期,那应该是星期四...我的意思是本周的最后一天,其值为衡量销售额..
答案 0 :(得分:0)
一个简单的解决方案就是从时间维度中省略假期。
答案 1 :(得分:0)
答案 2 :(得分:0)
在我们的立方体上测试过并且似乎工作正常(只是没有关于假期的事情!)
SELECT
{
[Measures].[sales]
} ON COLUMNS
,NON EMPTY
Generate
(
[Time.Weeks].MEMBERS
,Tail
(
NonEmpty
(
[Time.Weeks].CurrentMember * [Time.Weeks].[Day].MEMBERS //<<I think .members is generally default but should do the same thing if we are explicit
,[Measures].[sales]
)
)
) ON ROWS
FROM [cubSales];