我有一个包含多个列的表,这些列代表一个动作的出现。
简单表示例
id type $$$$$ value1 value2 value3 ... value15
-- ---- -- ----- ----- ----- -----
1 "I" 1 "a" "b" "" ""
2 "O" 1 "a" "d" "f" "z"
3 "I" 1 "d" "b" "" ""
4 "O" 1 "g" "l" "" ""
5 "I" 1 "z" "g" "a" ""
6 "I" 1 "z" "g" "a" "a"
不太确定如何表示数据,但上面应该显示它......每行,我有多个要分组的列。专注于“a”部分,我希望输出如下:
Type Value Count Sum
----- ----- ----- ---
"I" "A" "3" 3
"O" "A" "2" 1
只是不知道如何去,甚至是最好的方式,用多列分组。如果它是一个带有序列号的“高”表,那将是一个快照......
我担心的一件事是......如果我在多行中具有相同的值(它们多次执行相同的操作),我堆叠列并尝试对行求和。因此,例如第 6 行有 3 和 15 的值为 a,我尝试 Sum() 该组的总数,我不希望 6 计算两次(如上所示
编辑: 试图在这里澄清......我有一排有“行动”的客户。动作被折叠成 value1 到 value15。我想计算“类型,值”组的数量。
我之前的计数是错误的......我想要有特定操作的不同客户,而不是特定操作的数量。所以IA应该是4,使用上面的可见表。
我想出的最终注释代码审查问题。Unpivot 以构建唯一日期/值对的列表。