m 函数小问题

Power Query 龙马 ⋅ 于 2018-08-15 23:06:23 ⋅ 最后回复由 Alex 2018-08-15 23:27:26 ⋅ 3079 阅读

可以问下这里怎么用power query实现将实际出勤时间行相加吗
file

本帖已被设为精华帖!
本帖由 Alex 于 5年前 加精
最佳答案
  • Alex MOD 社区清洁工
    2018-08-15 23:27:26

    表中的出勤时间为文本,肯定不能直接相加,那就要先转成可以相加的数据类型。
    哪些可以相加?number 可以,但是很麻烦,那就转成专门表示时间的 duration,转换的函数是 Duration.From
    但是直接转换会报错,因为不符合参数的要求,要求的格式是用冒号间隔,如 10:17,那就得先把文本中的“小时”替换为冒号,去掉最后的“分”。

    = List.Sum(
        List.Transform(
            Source[实际出勤时间],
            each Duration.From(
                Text.Trim(Text.Replace(_,"小时",":"),"分")
                )
        ))

    最后得到 2.01:09:00,即2天1小时09分。

    file

回复数量: 1
  • Alex MOD 社区清洁工
    2018-08-15 23:27:26

    表中的出勤时间为文本,肯定不能直接相加,那就要先转成可以相加的数据类型。
    哪些可以相加?number 可以,但是很麻烦,那就转成专门表示时间的 duration,转换的函数是 Duration.From
    但是直接转换会报错,因为不符合参数的要求,要求的格式是用冒号间隔,如 10:17,那就得先把文本中的“小时”替换为冒号,去掉最后的“分”。

    = List.Sum(
        List.Transform(
            Source[实际出勤时间],
            each Duration.From(
                Text.Trim(Text.Replace(_,"小时",":"),"分")
                )
        ))

    最后得到 2.01:09:00,即2天1小时09分。

    file

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