[已解决] 如何写度量值?

  [复制链接]
查看240550 | 回复177 | 2020-8-5 08:15:49 | 显示全部楼层 |阅读模式
考生    籍贯    报考学校    分数        学校    招生地区    分数线
看见星光    北京    清华    99        清华    北京    100
大花    安徽    清华    98        清华    安徽    700
芬子    北京    清华    701        北大    北京    100
萧才人    安徽    清华    701        北大    安徽    700
周总    北京    清华    105               
燕十三    安徽    清华    705               
司马光    北京    清华    97               
李寻欢    安徽    清华    703               
祝洪忠    北京    北大    690               
VBA    安徽    北大    697               
乞丐    北京    北大    90               
如花    安徽    北大    91               
令狐冲    北京    北大    111               
月光    安徽    北大    710               
纯净水    北京    北大    120               
自然雨    安徽    北大    707               
如何写 录取人数的度量值?
回复

使用道具 举报

newdeng | 2020-8-5 08:22:49 | 显示全部楼层
终于完美解决了:
1、新建 地区表和学校表,分别与表1、表2建立1对多关系;
地区 = DISTINCT('表1'[籍贯])
学校 = DISTINCT('表1'[报考学校])
2、录取人数 = calculate(CALCULATE(countrows('表1'),filter('表1','表1'[分数]>=CALCULATE(values('表2'[分数线])))),'表2')
  录取分数 = CALCULATE(average('表2'[分数线]),'表1')
回复

使用道具 举报

line | 2020-8-5 08:27:50 | 显示全部楼层
考生籍贯报考学校分数
看见星光北京清华99
大花安徽清华98
芬子北京清华701
萧才人安徽清华701
周总北京清华105
燕十三安徽清华705
司马光北京清华97
李寻欢安徽清华703
祝洪忠北京北大690
VBA安徽北大697
乞丐北京北大90
如花安徽北大91
令狐冲北京北大111
月光安徽北大710
回复

使用道具 举报

congqin | 2020-8-5 08:34:50 | 显示全部楼层
考取人数=count(Table[考生])
回复

使用道具 举报

liulangren | 2020-8-5 08:38:50 | 显示全部楼层
考取人数=count(Table[考生])


这是考生人数,而不是录取人数吧?
回复

使用道具 举报

zhoubaozhoubao | 2020-8-5 08:43:50 | 显示全部楼层
考取人数=count(Table[考生])


这个是计算考生人数,而不是录取人数。
回复

使用道具 举报

一切都好说 | 2020-8-5 08:46:51 | 显示全部楼层
录取人数 = COUNTROWS(FILTER(
'表1',
or(
and(
'表1'[籍贯]= "安徽",
'表1'[分数]>= 700
),
and(
'表1'[籍贯]= "北京",
'表1'[分数]>= 100
)
)
))
回复

使用道具 举报

VBS | 2020-8-5 08:50:51 | 显示全部楼层
录取人数 = COUNTROWS(FILTER(
'表1',
or(


感谢,但感觉不是很好。自己写成功了一个:
录取人数 = CALCULATE(count('表1'[考生]),filter('表1',[分数]>=calculate(values('表2'[分数线]),filter('表2','表2'[学校]=[报考学校]&&'表2'[招生地区]=[籍贯]))))
发现两个表无法建立关系,应该有更好的方法吧?
回复

使用道具 举报

九筒 | 2020-8-5 08:56:51 | 显示全部楼层
感谢,但感觉不是很好。自己写成功了一个:
录取人数 = CALCULATE(count('表1'[考生]),filter('表1',[分 ...


我的公式只是按你提供的情况来列的,如果籍贯和录取学校很多,那肯定要对表格进行整理,建立事实表和维度表然后再加以关联,之后进行相关的度量,如果单纯解决你提问的内容,公式应该是没有问题的.
回复

使用道具 举报

Salooloo | 2020-8-5 09:04:51 | 显示全部楼层
无关系的写法
enrollment:=CALCULATE (
  COUNTROWS ( result ),
  FILTER (
  result,
  VAR score =
    LOOKUPVALUE (
      passingscore[分数线],
      'passingscore'[学校], result[报考学校],
      passingscore[招生地区], result[籍贯]
    )
  RETURN
    result[分数] >= score
  )
)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则