求某一期间人次、平均人数

Power Pivot wnxzzw ⋅ 于 2018-09-30 10:57:05 ⋅ 最后回复由 Alex 2018-09-30 14:24:17 ⋅ 2912 阅读

file
表一:
日期 姓名
2018-1-1 甲
2018-1-1 甲
2018-1-1 乙
2018-1-1 乙
2018-1-1 丙
2018-1-1 丙
2018-1-1 丙
2018-1-10 甲
2018-1-10 乙
2018-1-10 丙
2018-1-10 丙
2018-1-10 丁
2018-1-10 丁
2018-1-15 甲
2018-1-15 乙
2018-1-15 丁
2018-1-15 丁
2018-1-15 戊
2018-1-15 戊
2018-1-15 乙
2018-1-15 丁

表二:
日期 人数
2018-1-1 3
2018-1-10 4
2018-1-15 4
合计 11
天数 3
平均人数 3.67

请问:使用DAX公式如何求出合计人次、天数及平均人数?

最佳答案
  • Alex MOD 社区清洁工
    2018-09-30 14:24:17
    合计:=SUMX(SUMMARIZE('表1',[日期],"renshu",DISTINCTCOUNT('表1'[姓名])),[renshu])
    
    天数:=CALCULATE(DISTINCTCOUNT('表1'[日期]),ALL('表1'))
    
    平均:=DIVIDE([合计],[天数])
回复数量: 4
  • 星霜 DAX中度使用者
    2018-09-30 11:39:48

    合计=countrows(表一)
    天数=countrows(values(表一日期列))
    平均人数=averagex(summarize('表一','表一'[日期],"sum",sum('表一'[人数])),[sum])
    如果数据透视表做成图二的效果那得用DAX生成一个维度表,而且还有一些小细节,比如日期用FORMAT转成文本,用switch+selectedcvalue函数把以上三个度量值转成一个等...
    个人思路,如有错误望请斧正

  • wnxzzw
    2018-09-30 14:09:06

    合计数用countrows不对,因为合计数是人次,每天出现多次只能算一次

  • 星霜 DAX中度使用者
    2018-09-30 14:24:01

    @wnxzzw 哦,对,粗心了,那得用distinctcount了,谢谢

  • Alex MOD 社区清洁工
    2018-09-30 14:24:17
    合计:=SUMX(SUMMARIZE('表1',[日期],"renshu",DISTINCTCOUNT('表1'[姓名])),[renshu])
    
    天数:=CALCULATE(DISTINCTCOUNT('表1'[日期]),ALL('表1'))
    
    平均:=DIVIDE([合计],[天数])
暂无评论~~
  • 请务必阅读并严格遵守《社区管理规范与使用说明》
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 发送表情,可用的 Emoji 见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板粘贴上传, 格式限制 - jpg, png, gif
  • 不支持上传附件,请尽可能用文字和图片将问题描述清楚,如实在需要上传附件,可上传到 共享网盘 后分享链接
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter