Visual studio MDX计算当前YTD和前两年的会计期间平均值

Visual studio MDX计算当前YTD和前两年的会计期间平均值,visual-studio,mdx,Visual Studio,Mdx,我被要求向我们的多维数据集提供一个计算字段,其中包含今年迄今为止每个财政期间(比如第7个财政期间)以及过去两个完整财政年度(即该范围内的其他26个财政期间)的平均入学人数(加权本可以,但不加权是可以接受的) 我已经研究了一段时间,但是数字有点不准确,我不确定我使用的方法是否正确: Avg( { periodstodate( [1_Time].[Hierarchy].[Fiscal Year], [1_Time].[Hierarchy].currentmember) , Descendants(

我被要求向我们的多维数据集提供一个计算字段,其中包含今年迄今为止每个财政期间(比如第7个财政期间)以及过去两个完整财政年度(即该范围内的其他26个财政期间)的平均入学人数(加权本可以,但不加权是可以接受的)

我已经研究了一段时间,但是数字有点不准确,我不确定我使用的方法是否正确:

Avg(
{
periodstodate(
[1_Time].[Hierarchy].[Fiscal Year],
[1_Time].[Hierarchy].currentmember)
,
Descendants(
[1_Time].[Hierarchy].prevmember.parent,
[1_Time].[Hierarchy].[Period]
)
,
Descendants(
[1_Time].[Hierarchy].prevmember.prevmember.parent,
[1_Time].[Hierarchy].[Period]
)
}

, [Measures].[admissions]
)
1_时间层次结构非常简单:会计年度、期间(1到13)和日期

我已经用2016年对其进行了测试,得到了接近但不正确的值

还有别的办法吗


提前谢谢。

您可以在这里更简洁一些:

AVG(
    {[1_Time].[Hierarchy].CurrentMember.Parent.Lag(2).Children.Item(0):
    [1_Time].[Hierarchy].CurrentMember},
    [Measures].[admissions]
)
解释+示例:

[1_Time].[Hierarchy].CurrentMember -> 3 period 2017
.Parent -> 2017 year
.Lag(2) -> 2015 year
.Children -> set {1 period 2015 year : 13 period 2015 year)
.Item(0) -> 1 period 2015 year

{[1_Time].[Hierarchy].CurrentMember.Parent.Lag(2).Children.Item(0):
[1_Time].[Hierarchy].CurrentMember}
-> set {1 period 2015 year : 3 period 2017}

你所说的平均值是什么意思?每日水平?

这是一个加权平均值或标度值……基本上,数据的异常点贡献不大(过高或过低),但今天早上决定的与之相反的功率……这对我来说很好。我只是想计算当前财政年度(假设2017年为3个)和前两个财政年度(26个期间加上当前年度的3个期间)的期间平均数。只是尝试了你的方法,数字匹配!非常感谢你的精彩解释。很高兴听到!请检查它的回答,以确保其他人的问题得到解决。没有问题…我以为我有!再次感谢!