请参考以下示例表。
实际表将包含在PowerPivot中。
有多个运行用顺序编号标识。
基于我们希望通过过滤观察的结果,每次运行都有一个关联的值。
以下是当前数据的简化版本:
所有数据的公共列: 零件:唯一定义组。在这种情况下,它是零件或设备。 运行:标识相同的测试计数。 价值:测试产生的结果。
我一直试图添加的另外三列:
Desired1: Same_Value_Count: This counts consecutive same values.
Desired2: Same_Max: Gives the maximum same value count.
Desired3: Same_Min: Give the minimum same value count.
这将导致以下数据透视表:
我在制定适当的DAX语法以完成两个额外的列方面遇到麻烦。
请记住,我想按原样显示整个表格。
我这里有一个计算列,称为count_seq_dup:
=CALCULATE(COUNTROWS(table), ALLEXCEPT(table, table[3_Value]), EARLIER(Table[2_Run]) >= CSVsource[2_Run])
它可以完美地用于单个零件,但不适用于多个零件以及应用其他过滤器或切片器的情况。
我已经接近了,但这并不是我想要的,我无法弄清楚DAX中的语法是否正确。
有人可以帮助我吗?
答案 0 :(得分:0)
对于Same_Value_Count,请尝试以下操作:
Same_Value_Count =
VAR part = 'table'[1_Part]
VAR val = 'table'[3_Value]
VAR run = 'table'[2_Run]
VAR tblpart = FILTER ( 'table', 'table'[1_Part] = part && 'table'[2_Run] <= run )
RETURN
run - CALCULATE ( MAX ( 'table'[2_Run] ), FILTER ( tblpart, [3_Value] <> val ) )
这将返回零件/值组合的最大相同值计数。
Max Count =
VAR part = 'table'[1_Part]
VAR val = 'table'[3_Value]
RETURN
CALCULATE (
MAX ( 'table'[Same_Value_Count] ),
FILTER ( 'table', [3_Value] = val && 'table'[1_Part] = part )
)