excel-formula - 如何从 Power Query 获得 vlookup 类型体验
问题描述
我有一个这样的表(我可能会添加十几个其他列),我是从外部数据源引入的。我需要做的是计算出哪些 ID 出现在 ParentID 列中,并有一个基本上说 True 或 False 的列来回答这个问题。
所以基本上在下面的示例中 - 我希望 ID 1,4 和 5 具有“True”,因为这些值出现在 ParentID 列中,而其他值则具有 False,因为它们没有 - 所以我不想要要排除这些行或隐藏它们,只需在我的新列中以不同方式标记它们。
ID | 父母ID |
---|---|
1 | 无效的 |
2 | 无效的 |
3 | 1 |
4 | 1 |
5 | 无效的 |
6 | 4 |
7 | 5 |
8 | 无效的 |
9 | 无效的 |
10 | 1 |
这是在 Excel 中使用 vlookup 公式很容易做到的事情,并且在 PowerQuery 中添加一个可以显示此内容的列可能很容易,但我很困惑,不知道该去哪里。我已经尝试将表与其自身合并,但似乎所能实现的只是识别为真的行或为假的行,而不是在新列中指示结果是什么。
必须有办法解决这个问题......不是吗?
解决方案
您可以使用List.Contains并引用上一步中的父列。
List.Contains(#"Previous Step Name"[ParentID], [ID]))
在完整的上下文中:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUcorzclRitWJVjJC5hgDOYZglgmcZYqswAzIMQGzzIEsUzDLAlmBJTLH0ABiSiwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, ParentID = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"ParentID", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each List.Contains(#"Changed Type"[ParentID], [ID]), type logical)
in
#"Added Custom"
推荐阅读
- javascript - 正则表达式匹配字母数字和破折号字符的 CSV,具有最小数量的值和最小的值长度
- android - 非消耗性应用内购买能否在应用登录后持续存在?
- regex - Perl 正则表达式:结合 ^ 与 \Q \E
- mysql - 可重复读取mysql
- android - Android Studio 布局编辑器
- c - 使用 C 套接字将客户端源端口设置为侦听端口
- ubuntu - 使用 anonip.py 将 Apache 日志中的 IP 匿名化与使用 Cronolog 的日志轮换相结合
- r - 卸载并重新安装 Quantstrat 以进行全新和干净的设置 R
- python - Bigquery Python API 多线程不会提高性能
- angular - 从 Typescript 端重置的角度材料