对于每一组,我想找出VarB的最大观测值,并减去每组Var A.Max(group1的VarB
)- FirstObs(VarA
group1)的第一个值。希望这是有意义的。下面是表格形式的预期结果和我在代码中的尝试
VarA VarB Group Result Index
10 11 1 (10-11=-1) 1
11 4 1 (10-11=-1) 2
...
12 7 1 (10-11=-1) 5
9 11 2 (9-11=-2) 6
13 4 2 (9-11=-2) 7
...
11 7 2 (9-11=-2) 11
Maxdiff =
VAR CurrGroup = Table1[Group]
VAR MaxVal = CALCULATE(MAX(Table1[VarB]), ALL(Table1), Table1[Group] = CurrGroup)
VAR MinIndex = CALCULATE(MIN(Table1[Index]), ALL(Table1), Table1[Group] = CurrGroup)
RETURN LOOKUPVALUE(Table1[VarB], Table1[Group], MaxVal) -
LOOKUPVALUE(Table1[VarA], Table1[Index], MinIndex)
我得到的错误是"a table of multiple value I where the single value I“
发布于 2018-09-07 22:28:16
问题是,您正在尝试查找与您的MaxVal
匹配的Group
的VarB
值。这是没有意义的,因为您可能不希望将Group
数字与VarB
值相匹配。它返回多个值,因为每个组都有多个关联的VarB
值。
我认为这就是你想要的:
MaxDiff =
VAR CurrGroup = Table1[Group]
VAR MaxVal = CALCULATE(MAX(Table1[VarB]), ALL(Table1), Table1[Group] = CurrGroup)
VAR MinIndex = CALCULATE(MIN(Table1[Index]), ALL(Table1), Table1[Group] = CurrGroup)
RETURN MaxVal - LOOKUPVALUE(Table1[VarA], Table1[Index], MinIndex)
对于[Group]
= 1
和2
,这将返回1
和2
。(你的减法在你的问题中向后看。)
https://stackoverflow.com/questions/52223208
复制相似问题