嗨,大家好,我想要完成的事情......
我的数据结构表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中做得同样不够精通。如果这有意义,请告诉我,你可以提供帮助。
答案 0 :(得分:2)
我会对两个表格进行Unpivot,例如表1:
我将在表2中重复一遍,选择Capability列。这将为您提供更多有用的数据结构,您可以一步合并。我会在结果上使用Group By来对表2中的表2 /车辆得分值求和。
我确定你的输出格式有多么有用,但是如果那是你真正需要的,你可以使用2个Pivot步骤(在Capability#和Vehicle#上)从Merged结果中产生它。