在PowerBI(DAX)中,如何仅对所有年份中存在的名称在第一年和去年进行总计

问题描述 投票:0回答:1

需要Power BI DAX的帮助才能仅查找所有年份中存在的名称在第一年的总额。

这里是示例表:

名称年份金额

A 2015 100

B 2015 50

C 2015 150

A 2016 200

[B 2016 150

C 2016 150

A 2017 300

C 2017 300

D 2017 250

A 2018 300

C 2018 300

D 2018 300

E 2018 500

在上表中,A和C一直存在,因此我想要开始年度中A和C的总数

结果:

2015

250

我该如何实现?密钥仅适用于年份范围内一致出现的名称。

非常感谢您的提前帮助!

关于,纳雷什

count sum powerbi dax find-occurrences
1个回答
0
投票

请尝试以下方法。它在当前上下文中循环遍历任何Name值,然后计算该Name的年数,如果与总年数匹配,则将对该Name的总和进行累加。

SUMX(
 VALUES(Tbl[Name]),
 IF(
   CALCULATE(DISTINCTCOUNT(Tbl[Year]), ALLEXCEPT(Tbl, Tbl[Name]))
   = CALCULATE(DISTINCTCOUNT(Tbl[Year]), ALL(Tbl)),
   CALCULATE(SUM(Tbl[Amount]))
  )
 )

//tweaking your attempt by including ALLSELECTED() and not including Year in ALLEXCEPT
VAR FromYear = CALCULATE(MIN('Tbl'[Year]),ALLSELECTED())
VAR ToYear = CALCULATE(MAX('Tbl'[Year]), ALLSELECTED())
VAR CountYears = ToYear - FromYear + 1 
RETURN 
SUMX (
 VALUES ( 'Tbl'[Name] ), 
 IF ( 
  CALCULATE ( DISTINCTCOUNT ( 'Tbl'[Year] ), ALLEXCEPT ( 'Tbl', 'Tbl'[Name], 'Tbl'[Category] )) = CountYears, 
  CALCULATE(SUM('Tbl'[Amount]) , 'Tbl'[Year]=FromYear)
 )
)


© www.soinside.com 2019 - 2024. All rights reserved.