数据清洗难题,请大神帮忙

Power Query ksbor ⋅ 于 2018-10-12 23:32:49 ⋅ 最后回复由 叮当 2019-01-28 22:32:45 ⋅ 3172 阅读

如下数据,要将[名称] 拆分成[名称1] [数字1] [数字2] [数字3]
file
file
file

成为第一个点赞的人吧 :bowtie:
最佳答案
  • Ntt docomo
    2018-10-13 09:42:53

    Table.AddColumn(源, "自定义", each Table.FromList({Text.End([列1],Text.Length([列1])-Text.Length(Text.TrimEnd([列1],{"0".."9"})))},(x)=>Text.ToList(x),{"数字1","数字2"}){0}&[数字3=[A=Text.BetweenDelimiters([列1],"[","]"),B=if A="" then A else "["&A&"]"][B]])

回复数量: 14
  • Ntt docomo
    2018-10-13 09:42:53

    Table.AddColumn(源, "自定义", each Table.FromList({Text.End([列1],Text.Length([列1])-Text.Length(Text.TrimEnd([列1],{"0".."9"})))},(x)=>Text.ToList(x),{"数字1","数字2"}){0}&[数字3=[A=Text.BetweenDelimiters([列1],"[","]"),B=if A="" then A else "["&A&"]"][B]])

  • Ntt docomo
    2018-10-13 09:43:24

    file

  • 努力追赶
    2018-10-13 12:43:35

    let
    源 = Excel.CurrentWorkbook(){[Name="表4"]}[Content],
    已添加自定义 =
    Table.AddColumn(源, "自定义", each
    [名称1=Text.TrimEnd([列1],{"1".."9","[","]"}),
    数字=Text.ToList(if Text.Contains([列1],"]") then Text.AfterDelimiter([列1],"]" ) else Text.Replace([列1],名称1,"")),
    数字1=Number.From(数字{0}?),
    数字2=Number.From(数字{1}?),
    数字3= [A=Text.BetweenDelimiters([列1],"[","]"),B=if A="" then null else "["&A&"]"][B]]
    ),

    "展开的“自定义”" = Table.ExpandRecordColumn(已添加自定义, "自定义", {"名称1", "数字1", "数字2", "数字3"}, {"名称1", "数字1", "数字2", "数字3"})

    in

    "展开的“自定义”"

  • 努力追赶
    2018-10-13 12:55:27

    不会传图片~~~

  • 七七十四
    2018-10-13 20:15:38

    一群牛人,终于找到组织了

  • ksbor
    2018-10-14 00:57:17

    @Ntt docomo
    还有些问题,表中还有其他列,只有名称1、名称2两列需要拆分,再请教一下

  • ksbor
    2018-10-14 00:57:47

    @努力追赶
    还有些问题,表中还有其他列,只有名称1、名称2两列需要拆分,再请教一下

  • ksbor
    2018-10-14 00:58:31

    @Ntt docomo
    如第二张图片

  • ksbor
    2018-10-14 00:58:58

    @努力追赶
    如第二张图片

  • Ntt docomo
    2018-10-14 08:49:17

    你再添加一列呗

  • 叮当
    2019-01-17 06:55:06

    @努力追赶
    请教下, 数字2=Number.From(数字{1}?) 中 数值{1}?的?起什么作用

  • 斜杠星号
    2019-01-17 12:37:50

    @叮当 M语言的 ? 用在这里起到容错的作用. 你可以试试把?去掉, 有些错误 error就会出现了.

  • 努力追赶
    2019-01-17 14:22:30

    @叮当 这是深化引用的容错表达方式,如果容器里没有对应元素(List)或字段(Record),就返回null。xxx?可以理解为try xxx otherwise null

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