您如何使用 MDX 计算 MTD/YTD 平均工作日销售额?

Posted

技术标签:

【中文标题】您如何使用 MDX 计算 MTD/YTD 平均工作日销售额?【英文标题】:How do you calculate MTD/YTD Average Working Days Sales using MDX? 【发布时间】:2020-10-20 23:01:46 【问题描述】:

我不确定这是否可行,但我正在尝试在我们的销售立方体中创建一个计算成员,该成员将返回平均工作日销售额(实际值)。其中工作日是工作日费率的总和。

在我们的日期维度中,我添加了每天具​​有不同权重的工作日费率成员属性。周一至周五 1、周六 0.5、周日 0、节假日 0。

以下是一些示例数据。

Long Date   Day Name of Week    Working Day Rate    Actual  MTD Average Working Day Actual
May 1, 2020 Friday              1.00                $3,155  
May 2, 2020 Saturday            0.50                $9,849  
May 3, 2020 Sunday              0.00                $632    
May 4, 2020 Monday              1.00                $29,425 
May 5, 2020 Tuesday             1.00                $34,336 
May 6, 2020 Wednesday           1.00                $49,378 
May 7, 2020 Thursday            1.00                $35,446 
May 8, 2020 Friday              1.00                $44,828 
May 9, 2020 Saturday            0.50                $9,142  
May 10, 2020 Sunday             0.00                $653               $30,978 
                
Sum of Working Days             7.00                $216,844
[Sample Data][1]

我要创建的是一个计算成员,它将汇总实际值并除以指定日期的工作日费率总和。 因此,在上述数据样本中,计算结果为:$216,844 / 7.00 = $30,978。

我遇到的困难是如何编写 MDX 来计算工作日费率的总和。

我见过很多例子,人们在下面的日期维度中计算天数,但我希望将成员属性值相加而不计算它们。

Count (
        Descendants(
                    [Invoice Date].[Date - Hierarchy].Currentmember,
                    [Invoice Date].[Date - Hierarchy].[Day]
                    )
            )

是否可以在日期维度中对成员属性进行求和,并在另一个计算(或相同的计算)中使用它来找到按工作日计算的平均销售额?

如果可能的话,我还希望能够在任何日期级别上进行计算 日、月 年。

Date dimension

【问题讨论】:

【参考方案1】:

找到了一个解决方案,它使用基于我的日期维度的新事实表。解决方案见链接:https://intellixus.com/2011/08/15/fun-with-time-fact-tables/

【讨论】:

以上是关于您如何使用 MDX 计算 MTD/YTD 平均工作日销售额?的主要内容,如果未能解决你的问题,请参考以下文章

在 MDX 中,如何对子成员执行计算然后聚合这些子成员?

使用 where 子句 (MDX) 的 SSAS 计算度量

MDX AVG功能的动态使用

MDX 计算的测量计数

使用计算成员传递参数 - MDX

如何计算 MDX 中组的总和?