Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用DAX计算PowerBI中两行之间的差异_Powerbi_Dax_Business Intelligence_Measure - Fatal编程技术网

使用DAX计算PowerBI中两行之间的差异

使用DAX计算PowerBI中两行之间的差异,powerbi,dax,business-intelligence,measure,Powerbi,Dax,Business Intelligence,Measure,我正在努力完成一件应该很简单的事情,但就我的一生而言,我无法完成它。 我试图计算共享相同“扫描类型”的两行之间的差异 我附上了一张照片,展示了生产过程中的样品数据。我们运行扫描,根据扫描结果,它被指定了一种颜色。 我想找出每个红色扫描之间扫描ID的差异。 使用附件,我希望id 3的差异为0。id 4的差值为1,id 14的差值为10 我(写得很差)写了一些基于扫描id的最大值的东西 我还试着跟踪一些帖子,看看能否让它发挥作用 var _curid= MAX(table1[scanid]

我正在努力完成一件应该很简单的事情,但就我的一生而言,我无法完成它。 我试图计算共享相同“扫描类型”的两行之间的差异

我附上了一张照片,展示了生产过程中的样品数据。我们运行扫描,根据扫描结果,它被指定了一种颜色。 我想找出每个红色扫描之间扫描ID的差异。 使用附件,我希望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,如果有帮助,则接受它作为答案

  • 创建一个计算列,返回颜色为红色的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
    
    这将为您提供以下结果:


    问题已回答,谢谢用户8078111!
    IF(ISBLANK(Prev_ID) && 'Table'[Colour] = "Red", 0, 'Table'[Column] - Prev_ID )