如何在MDX中计算二维平均值

如何在MDX中计算二维平均值,mdx,saas,olap-cube,Mdx,Saas,Olap Cube,我正在尝试将以下SQL查询转换为SSAS多维数据集中的计算成员 SELECT ActionKey, AVG(1.0 * Days) AS AverageDays FROM( SELECT ActionKey, UserKey, COUNT(DISTINCT DateKey) AS Days FROM [TEST].[dbo].[FactActivity] GROUP BY ActionKey, UserKey) a GROUP BY ActionK

我正在尝试将以下SQL查询转换为SSAS多维数据集中的计算成员

SELECT ActionKey, AVG(1.0 * Days) AS AverageDays
FROM( SELECT ActionKey, UserKey, COUNT(DISTINCT DateKey) AS Days
        FROM [TEST].[dbo].[FactActivity]
        GROUP BY ActionKey, UserKey) a
        GROUP BY ActionKey
在MDX中如何实现这一点?我试过以下的,但结果不对

IIF([Measures]。[Dim用户计数]=0,0,[度量值]。[Dim日期 计数]/[Measures].[Dim用户计数])

在我的多维数据集中,我有两个派生度量。“Dim Date Count”是DimDate表中的行数,“Dim User Count”是DimUser表中的行数。两者都与多维数据集的其他维度有很多关系,因此我可以轻松计算不同的天数和用户数。

(不是解决方案,但可能有帮助)

您创建的两个度量是否达到了预期的结果?如果您针对
[YourCube]
运行以下等价项,那么这仅仅是新度量值
[Measures].[AverageDays]
的错误吗

SELECT 
  NON EMPTY 
    {
      [Measures].[AverageDays]
     ,[Measures].[Dim Date Count]
     ,[Measures].[Dim User Count]
    } ON COLUMNS
 ,NON EMPTY 
    {
        [Action].[Action].MEMBERS
      * 
        [Date].[Calendar].[Month].ALLMEMBERS
    } ON ROWS
FROM  [YourCube];
这起作用了


平均值([Users].[User Key].[User Key],[Measures].[DATE COUNT])

它在任何上下文中都有效吗?您的两个度量值
[measures].[Dim Date Count]
[measures].[Dim User Count]
的结果是什么?