DAX计算子项总和

时间:2019-02-20 11:02:57

标签: powerbi dax ssas-tabular

我是DAX的新手,我以前使用过MDX。 我在MDX中有以下公式

    CREATE 
  MEMBER CURRENTCUBE.[Measures].[Count Visit] AS [Measures].[Unique Contact Count]
  ;    

scope([Date Cheque].[YEAR-MONTH-DATE].[Month Of Year], [Measures].[Count Visit]);
this= Sum
        ({[Date Cheque].[YEAR-MONTH-DATE].CurrentMember.Children}
         ,[Measures].[Count Visit]);
end scope;

scope([Date Cheque].[YEAR-MONTH-DATE].[Calendar Year], [Measures].[Count Visit]);
this= Sum
        ({[Date Cheque].[YEAR-MONTH-DATE].CurrentMember.Children}
         ,[Measures].[Count Visit]);
end scope;

我了解DAX中没有层次结构,所以我不知道该怎么做

1 个答案:

答案 0 :(得分:0)

通常,您可以在DAX中使用过滤器检查功能(例如ISFILTEREDISCROSSFILTEREDHASONEVALUEISINSCOPE)来确定当前的计算级别。这使我们可以做一些通常在MDX中使用SCOPE语句的复杂事情。

但是,在这种情况下,您似乎想要做的就是总是在日一级评估[措施]。[唯一联系计数],然后将其向上累计。为此,我们可以简单地编写[Count Visit]度量,如下所示,假设您的“ Date Cheque”表在当天的谷物中保留了[Date]列:

SUMX(VALUES('Date Cheque'[Date]), [Unique Contact Count])

SUMX是一个所谓的迭代器函数,它将为第一个参数(必须是表表达式)中的每一行求值第二个参数,并返回第二个参数的总和。

相关问题