You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power BI中将Dynamics CRM计划工时字符串拆分为表格新行?

在Power BI中解析JSON格式的计划工时列并拆分行

针对你遇到的Dynamics CRM数据源中JSON格式计划工时列的拆分需求,按以下步骤在Power BI的Power Query编辑器中操作即可实现:

  1. 进入Power Query编辑器
    加载数据源后,点击顶部菜单栏的「转换数据」,进入Power Query编辑界面。

  2. 解析JSON格式列
    选中包含JSON字符串的「planned work」列,切换到「转换」选项卡,找到并点击「JSON」按钮。此时该列会从文本格式转换为列表类型,每个单元格里的JSON数组会变成包含多个记录的列表。

  3. 将列表展开为单独行
    点击解析后列标题右侧的双向箭头展开按钮,选择「到新行」选项。这一步会把每个列表中的单独记录拆分成独立行,自动适配单元格内条目数量不固定的情况。

  4. 将记录展开为单独列
    现在每行是一个包含Start、End、Hours字段的记录,再次点击列标题的展开按钮,勾选所有字段(Start、End、Hours)并确认,即可将记录中的字段拆分成独立的列。

  5. 提取时间戳(处理/Date(xxx)/格式)
    此时Start和End列的值是/Date(1660809600000)/这类格式,需要提取其中的时间戳数字:

  • 选中Start列,切换到「转换」选项卡,点击「替换值」:
    • 查找值填写/Date(,替换为空;
    • 再次执行替换,查找值填写)/,替换为空;
  • 对End列重复上述操作,之后将这两列的类型转换为「整数」。

也可以用Power Query M函数快速提取,比如添加自定义列:

Start Timestamp = Text.BetweenDelimiters([Start], "/Date(", ")")

生成后将该列转成整数类型,再替换原Start列即可。

  1. 可选:转换时间戳为标准日期
    如果需要把时间戳转成可读的日期格式,可以添加自定义列,使用以下公式:
#datetime(1970,1,1,0,0,0) + #duration(0,0,0,[Start Timestamp]/1000)

同理处理End列的时间戳。

完成以上步骤后,你就能得到符合需求的表格:

Start DateEnd DateHours
166080960000016608384000008
166089240000016609248000009
166115160000016611840000009

内容的提问来源于stack exchange,提问作者AMD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 06:24:16