DAX中一列中唯一值的总和

时间:2019-03-26 12:41:06

标签: dax

我有三列的表[表1] OrganizationName,FieldName,Acres具有以下数据

组织名称字段名称英亩

ABC | F1 | 0.96

ABC | F1 | 0.96

ABC | F1 | 0.64

我想计算英亩的不同值之和 (例如:0.96 + 0.64)在DAX中。

2 个答案:

答案 0 :(得分:0)

执行所需操作的问题之一是,许多度量依赖于过滤器而不是实际的表表达式。因此,获取不同的值列表,然后按这些值过滤表,只会使整个表退回。

迭代器函数很方便,并且可以对表表达式进行操作,因此请尝试使用SUMX

TotalDistinctAcreage = SUMX(DISTINCT(Table1[Acres]),[Acres])

这将生成一个表,该表是仅包含英亩的不同值的一列,然后将它们加起来。 请注意,这只是查看“英亩”列,因此,如果不同的字段和组织具有相同的种植面积-则该种植面积仍仅在此总和中计数一次。

如果您只是想在不同的行上简单地增加面积,则只需做一个小改动:

TotalAcreageOnDistinctRows = SUMX(DISTINCT(Table1),[Acres])

希望有帮助。

答案 1 :(得分:0)

好的,您添加了以下要求:

  

谢谢。 :)但是,我想为一个区域添加英亩的不同值   特殊的字段名。这可能吗? – 3小时前的Pooja

最简单的方法实际上是继续进行切片或过滤我给您的原始度量。但是,如果必须在DAX中应用过滤器上下文,则可以这样做:

Measure = 
SUMX(
    FILTER(
        SUMMARIZE( Table1, [FieldName], [Value] )
        , [FieldName] = "<put the name of your specific field here"
    )
    , [Value]
)