Я борюсь с созданием стержня против таблицы транзакционных данных. В таблице данных у меня есть выглядит следующим образом:Сводка с несколькими столбцами
+------------+------------+-----------+------------+
|Date |Store |Customer |Value |
+------------+------------+-----------+------------+
|01/12/15 |StoreA |Cust1 |3.80 |
|01/12/15 |StoreB |Cust2 |2.40 |
|01/12/15 |StoreC |Cust1 |3.80 |
|02/12/15 |StoreC |Cust2 |1.50 |
|02/12/15 |StoreA |Cust2 |1.50 |
|02/12/15 |StoreA |Cust2 |2.00 |
В результате я пытаюсь получить от поворота следующим образом:
+-------+-----------+--------+--------+--------+--------+--------+--------+
|Date |Customer |StoreA |StoreB |StoreC |StoreAct|StoreBct|StoreCct|
+--------+----------+--------+--------+--------+--------+--------+--------+
|01/12/15|Cust1 |3.80 | |3.80 |1 | |1 |
|01/12/15|Cust2 |2.40 | | |1 | |1 |
|02/12/15|Cust2 |3.50 | |1.50 |2 | | |
При значении StoreA быть ВС всех сделок в эту дату, а StoreAct - количество транзакций в этом магазине за день.
После некоторых поисков я попытался следующие, но это не дает желаемого результата:
SELECT *
FROM (
SELECT
Date, Customer, Value, Store, 1 as TransCount, Store+'ct' as storecount
FROM SourceTable
) as s
PIVOT
(
SUM(Value)
FOR Customer IN (StoreA, StoreB, StoreC)
)AS pvt
PIVOT
(
SUM(Transcount)
FOR customer IN (StoreAct, StoreBct, StoreCct)
)AS pvt
Все и любая помощь будет высоко ценится, благодаря
за один вы говорите, 'Для клиента в (StoreA ...', когда вы должны сказать 'для магазина IN (StoreA, ...' – JamieD77