powerquery - PowerQuery - 在列表中搜索多个首字母缩写词
问题描述
我想知道在 Power BI M 中是否有可能:我有一个首字母缩略词列表:“AAA、BBB、XXXX、YYY...” 源数据表有一个文本字段(描述),并且可以在一个自由文本。像“Luctus aa quam AAA gravida cum a YYY elementum potenti a ultrices p”之类的东西。我需要选择具有一个或多个首字母缩写词的所有记录,并生成额外的自定义列,该列将列出特定记录中的所有事件(“AAA,YYY ...”)。这是 Excel VBA 中的几行代码,但我需要在 PowerQuery 或 Power BI 中完成。
解决方案
你可以试试这个
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("DYhBCsAgDMC+UnreJ3rfB0Q8lK4MQZ3Tdu9fySVJzni6mG/g4HXuQERwL/7qxSDeY6eUQJt2HRY9Hwup8b3ZqqIbJpYjo+k2LOUH", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Column1"}, {{"ad", each _, type table [Column1=nullable text]}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each let x = [ad],
#"Added Custom" = Table.AddColumn(x, "Custom", each {"AAA", "BBB", "XXXX", "YYY"}),
#"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"),
#"Added Custom1" = Table.AddColumn(#"Expanded Custom", "Custom.1", each Text.Contains([Column1],[Custom])),
#"Filtered Rows" = Table.SelectRows(#"Added Custom1", each ([Custom.1] = true)),
#"Removed Duplicates" = Table.Distinct(#"Filtered Rows", {"Column1"}),
#"Removed Columns" = Table.RemoveColumns(#"Removed Duplicates",{"Custom", "Custom.1"}),
#"Added Custom2" = Table.AddColumn(#"Removed Columns", "Custom", each #"Filtered Rows"[Custom]),
#"Extracted Values" = Table.TransformColumns(#"Added Custom2", {"Custom", each Text.Combine(List.Transform(_, Text.From), ","), type text}),
Custom = #"Extracted Values"[Custom]
in
Custom),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"ad"}),
#"Filtered Rows" = Table.SelectRows(#"Removed Columns", each (List.IsEmpty([Custom])=false)),
#"Extracted Values" = Table.TransformColumns(#"Filtered Rows", {"Custom", each Text.Combine(List.Transform(_, Text.From)), type text})
in
#"Extracted Values"
推荐阅读
- python - 需要帮助以 html 的形式显示值
- python - 从 python 子进程调用 git-log 时忽略选项 --decorate-refs
- regex - 如何分别解析多个 BB 代码引用块?
- ios - 由于需要更新 App,无法将 Watch App 构建到模拟器
- ruby-on-rails - Ruby on Rails 尝试在以另一个实体身份登录时更新用户表中的布尔值
- routes - ZF3:请求的 URL 无法通过路由匹配
- c++ - 是否有更精确版本的 WinUser.h 的 SetCursorPos() 函数用于 C++ 中的鼠标移动(用于 Windows 控制台应用程序)?
- python - Centos shell 命令无法在 crontab 中运行
- javascript - 无法更新网络图的节点
- laravel - laravel 5.8 的搜索功能