需要 M 脚本来对 joined/merged 个查询的值求和

Need M Script to sum values from joined/merged queries

大家好,这就是我要完成的任务....

我的数据结构表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]    |

我已经使用合并查询(Table1[Capability.#] = Table2[Capability] 上的 LeftOuterJoin)将 Table2 Capability 和 Vehicle Scores 带入 Table1 的每个 Capability.# 列(共 37 个)合并查询)。但是,我不知道如何让 37 个单独的合并查询求和并填充 Vehicle1CapaScore 列的分数。

如果有帮助,我可以在 SQL 服务器中编写一个查询来演示我想要完成的任务;但是,我对 R 还不够熟练,无法做同样的事情。请让我知道这是否有意义,您可以提供帮助。

我会 Unpivot 两个表,例如对于 Table 1:

  1. select ID# 列
  2. 选择转换/逆透视列/逆透视其他 列

我会重复 Table 2,select 能力列。这将为您提供更有用的数据结构,您可以一步合并。我会在结果上使用 Group By 来求和 Table 2 / Vehicle Score values across Capabilities.

我确定您的输出格式会有多大用处,但如果那是您真正需要的,您可能可以使用 2 个 Pivot 步骤(在 Capability # 和 Vehicle # 上)从合并结果中生成它。