需要M脚本来加入/合并查询中的值

时间:2016-04-27 18:12:12

标签: powerbi powerquery m

嗨,大家好,我想要完成的事情......

我的数据结构表1:

ID#| Capability.1 | Capability.2 | Capability.3| .... 37 total Capability.# columns 
97 | Crawl        | Walk         | Run         |
98 | Crawl        | null         | null        |
99 | Crawl        | Walk         | null        |

我的数据结构表2:

Capability | Vehicle1Score| Vehicle2Score| Vehicle3Score| 
Crawl      | 4            | 1            | 5            |
Walk       | 3            | 1            | 5            |
Run        | 2            | 0            | 0            |

如果ID#需要爬行,行走和跑步,我希望将车辆1-3的分数与记录合并,以便他们能够爬行,行走和跑步。例如:

ID#| Capability.1 | Capability.2 | Capability.3| Vehicle1CapaScore | Vehicle2CapaScore | Vehicle3CapaScore| 
97 | Crawl        | Walk         | Run         | 9 [4+3+2]         | 2 [1+1+0]         | 10 [5+5+0]       |
98 | Crawl        | null         | null        | 4 [4+null+null]   | 1 [1+null+null]   | 5 [5+null+null]  |
99 | Crawl        | Walk         | null        | 7 [4+3+null]      | 2 [1+1+null]      | 10 [5+5+null]    |

我已经使用合并查询(表1中的LeftOuterJoin [Capability。#] = Table2 [Capability])将Table2能力和车辆得分带入表1中的每个能力。#column(共37个)合并查询)。但是,我不知道如何获得37个单独的合并查询来汇总并填充Vehicle1CapaScore列的分数。

如果它有用,我可以在SQL服务器中编写一个查询来演示我想要完成的任务;但是,我在R中做得同样不够精通。如果这有意义,请告诉我,你可以提供帮助。

1 个答案:

答案 0 :(得分:2)

我会对两个表格进行Unpivot,例如表1:

  1. 选择ID#column
  2. 选择Transform / Unpivot columns / Unpivot Other 列
  3. 我将在表2中重复一遍,选择Capability列。这将为您提供更多有用的数据结构,您可以一步合并。我会在结果上使用Group By来对表2中的表2 /车辆得分值求和。

    我确定你的输出格式有多么有用,但是如果那是你真正需要的,你可以使用2个Pivot步骤(在Capability#和Vehicle#上)从Merged结果中产生它。