首页 > 解决方案 > Microsoft Query 中的 SQL 加入 4 个选择并将结果汇​​总在一列中

问题描述

我有一个包含这些数据的 Excel 表:

Micro |Group | Series|Group1 |Series1|Group2|Series2|Group3|Series3|
  1   |Back  |   3   |Biceps |   1   |Delts |   1   |Traps |   1   |
  1   |Chest |   4   |Triceps|   2   |Delts |   2   |      |       |
  1   |Biceps|   2   |       |       |      |       |      |       |
  1   |Cuads |   4   |Glut   |   2   |      |       |      |       |
  2   |Back  |   4   |Biceps |   2   |Delts |   2   |Traps |   2   |
  2   |Chest |   5   |Triceps|   3   |Delts |   3   |      |       |
  2   |Biceps|   3   |       |       |      |       |      |       |
  2   |Cuads |   5   |Glut   |   3   |      |       |      |       |
....

我想生成一个表格,通过添加Series+Series1+Series2+Series3的组来显示每个微的系列数量:

Micro | Group  | Series|
  1   | Back   |   3   |
  1   | Chest  |   4   |
  1   | Biceps |   3   |
  1   | Cuads  |   4   |
  1   | Triceps|   2   |
  1   | Delts  |   3   |
  1   | Traps  |   1   |
  2   | Back   |   4   |
  2   | Chest  |   5   |
  2   | Biceps |   5   |
  2   | Cuads  |   5   |
  2   | Triceps|   3   |
  2   | Delts  |   5   |
  2   | Traps  |   2   |

我有非常基本的 SQL 技能,但不知道如何在 Microsoft Query 中执行查询以获取此表。

谢谢!

标签: sqlexcelms-query

解决方案


从第二列开始,每两列组成一对,一共有4对。关键是将N列的表转换为3列组成的表。使用集算器非常简单。

    A
1   =file("data.xlsx").xlsimport@w().to(2,)
2   =A1.news(~.len()\2;A1.~(1):Micro,A1.~(#*2):Group,A1.~(#*2+1):Series)
3   =A2.groups(Micro,Group;sum(Series):Series)
4   =file("result.xlsx").xlsexport@t(A3)

如需更多参考,请参阅http://c.raqsoft.com/article/1609815706959

免责声明:这是关于我们的工具集算器。这是免费增值。


推荐阅读