我正在尝试将以下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 User Count] = 0,0,[Measures]。[Dim Date 计数] / [测量]。[昏暗的用户数])
在我的立方体中,我有两个派生的度量。 “Dim Date Count”是DimDate表中的行数和“Dim User Count”,它是DimUser表的行数。两者都与多维数据集的其他维度有很多关系,因此我可以轻松地计算出不同的日期和用户。
答案 0 :(得分:1)
这有效
AVG([用户]。[用户密钥]。[用户密钥],[度量]。[日期计数])
答案 1 :(得分:0)
(不是解决方案,但也许有帮助)
您创建的两项指标是否会产生您期望的结果?如果针对[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];