测量中的上一年行,DAX 公式
Previous Year row in measurement, DAX formula
我有以下 table:
年份测试是上一年的名单:
=SUMX(Datasrc;Datasrc[Year]-1)
如何获得与“Calculated field 1
”类似的内容?换句话说,我想得到之前的“Price/kg
”,所以它匹配 C 列,“Year test
”。
我尝试使用 Find rows relative to current row's value in excel (DAX) 中的公式:
=SUMX(
FILTER(Datasrc; EARLIER([Year]) = [Year] + 1 );
Datasrc[C_Total Asset Per Share]
)
但只得到:"Calculation error in measure 'Datasrc'[Calculated field 2]: EARLIER/EARLIEST refers to an earlier row context which doesn't exist."
A列是[Year]
DAX 具有内置的时间智能函数,因此使用 SAMEPERIODLASTYEAR
函数可以很容易地完成您想做的事情。
首先你需要一个日期 table 加入你的事实 table。然后做
CALCULATE ( [Base Measure], SAMEPERIODLASTYEAR(DateTable[Date]) )
我有以下 table:
年份测试是上一年的名单:
=SUMX(Datasrc;Datasrc[Year]-1)
如何获得与“Calculated field 1
”类似的内容?换句话说,我想得到之前的“Price/kg
”,所以它匹配 C 列,“Year test
”。
我尝试使用 Find rows relative to current row's value in excel (DAX) 中的公式:
=SUMX(
FILTER(Datasrc; EARLIER([Year]) = [Year] + 1 );
Datasrc[C_Total Asset Per Share]
)
但只得到:"Calculation error in measure 'Datasrc'[Calculated field 2]: EARLIER/EARLIEST refers to an earlier row context which doesn't exist."
A列是[Year]
DAX 具有内置的时间智能函数,因此使用 SAMEPERIODLASTYEAR
函数可以很容易地完成您想做的事情。
首先你需要一个日期 table 加入你的事实 table。然后做
CALCULATE ( [Base Measure], SAMEPERIODLASTYEAR(DateTable[Date]) )