アクションの発生を表す複数の列を持つテーブルがあります。
simpleTableExample
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
複数の列でグループ化する方法、または最善の方法がわからないだけです。シーケンス番号の付いた「背の高い」テーブルの場合は、簡単です...
私が心配していることの1つは、複数の行に同じ値があり(同じアクションが複数回実行されている)、列を積み重ねて行を合計しようとしている場合です。たとえば、行6には値がaの3と15があり、そのグループの合計をSum()しようとすると、6を2回カウントしたくありません(上に表示)
編集: ここで明確にしようとしています...私には「アクション」を持つ顧客の列があります。アクションは、value1からvalue15に折りたたまれます。「タイプ、値」グループの数を取得したい。
以前のカウントは間違っていました...特定のアクションの数ではなく、特定のアクションを実行した個別の顧客が必要です。したがって、上記の表示された表を使用すると、IAは4のカウントになるはずです。
私が思いついたものについてのファイナルノートコードレビューの質問。ピボットを解除して、一意の日付と値のペアのリストを作成します。