首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >组内最大差异

组内最大差异
EN

Stack Overflow用户
提问于 2018-09-07 21:05:01
回答 1查看 29关注 0票数 0

对于每一组,我想找出VarB的最大观测值,并减去每组Var A.Max(group1的VarB)- FirstObs(VarA group1)的第一个值。希望这是有意义的。下面是表格形式的预期结果和我在代码中的尝试

代码语言:javascript
运行
复制
 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“

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-07 22:28:16

问题是,您正在尝试查找与您的MaxVal匹配的GroupVarB值。这是没有意义的,因为您可能不希望将Group数字与VarB值相匹配。它返回多个值,因为每个组都有多个关联的VarB值。

我认为这就是你想要的:

代码语言:javascript
运行
复制
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] = 12,这将返回12。(你的减法在你的问题中向后看。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52223208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档