oracle pivot 去除引号,如何提取出复杂标点符号(大括号 , 中括号 , 逗号 , 双引号和冒号)之间的目标字符串-Excel基础应用-ExcelHome技术论坛 -...

本帖最后由 libo5563 于 2019-5-22 12:21 编辑

看数据挺规律的,pq 里的拆分 从右第一个 分割符应该可以用  如果考虑数据在行里会增加,就在第一次拆分时 按照每个};{  中间的;选拆分到行,再建序数列的办法,将要的数据筛选出来,再透视回来就行了

let

源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],

更改的类型 = Table.TransformColumnTypes(源,{{"#", Int64.Type}, {"源字符串", type text}, {"期待的效果(想要提取出的字符串)", type text}}),

删除的列 = Table.RemoveColumns(更改的类型,{"期待的效果(想要提取出的字符串)", "#"}),

按分隔符拆分列 = Table.SplitColumn(删除的列, "源字符串", Splitter.SplitTextByDelimiter("{", QuoteStyle.Csv), {"源字符串.1", "源字符串.2", "源字符串.3", "源字符串.4", "源字符串.5"}),

更改的类型1 = Table.TransformColumnTypes(按分隔符拆分列,{{"源字符串.1", type text}, {"源字符串.2", type text}, {"源字符串.3", type text}, {"源字符串.4", type text}, {"源字符串.5", type text}}),

删除的列1 = Table.RemoveColumns(更改的类型1,{"源字符串.1"}),

已添加索引 = Table.AddIndexColumn(删除的列1, "索引", 1, 1),

逆透视的其他列 = Table.UnpivotOtherColumns(已添加索引, {"索引"}, "属性", "值"),

删除的列2 = Table.RemoveColumns(逆透视的其他列,{"属性"}),

按分隔符拆分列1 = Table.SplitColumn(删除的列2, "值", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, true), {"值.1", "值.2"}),

更改的类型2 = Table.TransformColumnTypes(按分隔符拆分列1,{{"值.1", type text}, {"值.2", type text}}),

删除的列3 = Table.RemoveColumns(更改的类型2,{"值.1"}),

替换的值 = Table.ReplaceValue(删除的列3,"}","",Replacer.ReplaceText,{"值.2"}),

替换的值1 = Table.ReplaceValue(替换的值,",","",Replacer.ReplaceText,{"值.2"}),

替换的值2 = Table.ReplaceValue(替换的值1,"]","",Replacer.ReplaceText,{"值.2"}),

分组的行 = Table.Group(替换的值2, {"索引"}, {{"计数", each Table.AddIndexColumn(_, "索引.1", 1, 1), type table}}),

#"展开的“计数”" = Table.ExpandTableColumn(分组的行, "计数", {"索引", "值.2", "索引.1"}, {"索引.2", "值.2", "索引.1"}),

删除的列4 = Table.RemoveColumns(#"展开的“计数”",{"索引.2"}),

已透视列 = Table.Pivot(Table.TransformColumnTypes(删除的列4, {{"索引.1", type text}}, "zh-CN"), List.Distinct(Table.TransformColumnTypes(删除的列4, {{"索引.1", type text}}, "zh-CN")[索引.1]), "索引.1", "值.2")

in

已透视列

de17a76aec8cc0c9f4ed21f71e9ab33f.gif

2019-5-22 09:33 上传

点击文件名下载附件

1.16 MB, 下载次数: 19

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值