【发布时间】:2021-02-22 21:47:10
【问题描述】:
我正在使用 Power BI 中的美国社区调查,并希望将每一列中的值替换为另一个响应标签表中的对应值。例如,种族被编码为 1,2,3,4,5,但我想根据提供的响应标签将其替换为亚洲人、黑人、本地人等。
假设我有下表,其中包含三个变量和人们的反应:
| variable1 | variable2 | variable3 |
|---|---|---|
| 1 | 2 | 3 |
| 2 | 3 | 2 |
| 3 | 1 | 1 |
| 3 | 3 | 2 |
| 2 | 2 | 3 |
我得到了这个响应键表:
| VarName | ResponseKey | ResponseLabel |
|---|---|---|
| variable1 | 1 | blue |
| variable1 | 2 | red |
| variable1 | 3 | green |
| variable2 | 1 | left |
| variable2 | 2 | right |
| variable2 | 3 | down |
| variable3 | 1 | high |
| variable3 | 2 | medium |
| variable3 | 3 | low |
我想要的是这三个变量,人们的反应是“ResponseLabel”,如下所示:
| variable1 | variable2 | variable3 |
|---|---|---|
| blue | right | low |
| red | down | medium |
| green | left | high |
| green | down | medium |
| red | right | low |
通常我会一个一个地手动替换每个变量,但我宁愿有一个根管,也不愿为数百个变量和 2-100 个响应这样做,所以我想有更好的方法来做到这一点。
到目前为止,我已经考虑过为每个变量制作表格并与原始表格合并,但这听起来也很多。然后我想也许我应该编写一个函数来遍历原始表并一一重新编码每一列。我也想在 M 中可能有一种方法可以做到这一点,但我不确定。
你有什么想法吗? 谢谢!
【问题讨论】:
-
连接而不是替换不是更容易吗?
-
你的意思是加入PQ中的表合并还是创建表之间的关系? thx 编辑:澄清一下,有一百多列,每列可以有一百个不同的响应选项。
-
我认为您可以将这一百多列转为单个列并仅执行一次联接。
-
就是这样。取消透视两个表,与左外连接合并,展开,完成。
-
我尝试了连接,但我认为我没有正确地取消透视表。 original table 这是labels 这是merge of the two 这是results expanded,它们是无序的,我不确定如何将其恢复为可用的格式。我哪里做错了?
标签: powerbi powerquery m