使用 DAX 计算 PowerBI 中两行之间的差异
Calculate the difference between 2 rows in PowerBI using DAX
我正在努力完成一些应该很简单但对我来说却无法解决的事情。
我正在尝试计算共享相同 'Scan type'.
的两行之间的差异
我附上了一张显示生产样本数据的照片。我们 运行 扫描并根据扫描结果为其指定颜色。
我想找出每次红色扫描之间扫描 ID 的差异。
使用附加的 Photo of Sample data,我希望 id 3 的差异为 0。id 4 的差异为 1,id 14 的差异为 10。
我已经(糟糕地)编写了一些基于扫描 ID 的最大值的东西。
我也试过关注一些帖子,看看我是否可以让它工作..
var _curid= MAX(table1[scanid])
var _curclueid = MAX(table1[scanid])
var _calc =CALCULATE(SUM(TABLE1[scanid],FILTER(ALLSELECTED(table1[scanid]),table1[scanid]))
return if(_curid-_calc=curid,0,_curid-_calc)
编辑;
忘了说我已经检查过线程;
57699052
61464745
56703516
57710425
试试下面的 DAX,如果有帮助就接受它作为答案。
创建一个计算列,returns 颜色为红色的 ID,如下所示:
Column = IF('Table'[Colour] = "Red", 'Table'[ID])
创建另一列如下:
Column 2 =
VAR Colr = 'Table'[Colour]
VAR SCAN = 'Table'[Scan ID]
VAR Prev_ID =
CALCULATE(MAX('Table'[Column 2]),
FILTER('Table', 'Table'[Colour] = Colr && 'Table'[Scan ID] < SCAN))
RETURN
'Table'[Column] - Prev_ID
输出:
编辑:-
如果您希望第一个值 (ID3) 为 0,请将 RETURN
行替换为以下行:
IF(ISBLANK(Prev_ID) && 'Table'[Colour] = "Red", 0, 'Table'[Column] - Prev_ID )
这将为您提供以下结果:
我正在努力完成一些应该很简单但对我来说却无法解决的事情。 我正在尝试计算共享相同 'Scan type'.
的两行之间的差异我附上了一张显示生产样本数据的照片。我们 运行 扫描并根据扫描结果为其指定颜色。 我想找出每次红色扫描之间扫描 ID 的差异。 使用附加的 Photo of Sample data,我希望 id 3 的差异为 0。id 4 的差异为 1,id 14 的差异为 10。
我已经(糟糕地)编写了一些基于扫描 ID 的最大值的东西。
我也试过关注一些帖子,看看我是否可以让它工作..
var _curid= MAX(table1[scanid])
var _curclueid = MAX(table1[scanid])
var _calc =CALCULATE(SUM(TABLE1[scanid],FILTER(ALLSELECTED(table1[scanid]),table1[scanid]))
return if(_curid-_calc=curid,0,_curid-_calc)
编辑; 忘了说我已经检查过线程; 57699052 61464745 56703516 57710425
试试下面的 DAX,如果有帮助就接受它作为答案。
创建一个计算列,returns 颜色为红色的 ID,如下所示:
Column = IF('Table'[Colour] = "Red", 'Table'[ID])
创建另一列如下:
Column 2 = VAR Colr = 'Table'[Colour] VAR SCAN = 'Table'[Scan ID] VAR Prev_ID = CALCULATE(MAX('Table'[Column 2]), FILTER('Table', 'Table'[Colour] = Colr && 'Table'[Scan ID] < SCAN)) RETURN 'Table'[Column] - Prev_ID
输出:
编辑:-
如果您希望第一个值 (ID3) 为 0,请将 RETURN
行替换为以下行:
IF(ISBLANK(Prev_ID) && 'Table'[Colour] = "Red", 0, 'Table'[Column] - Prev_ID )
这将为您提供以下结果: