Вы не можете использовать несколько агрегаций с сводной таблицей, но есть простое решение для вашей проблемы
Создав две сводные таблицы и объединив обе таблицы, разделенные по цене и весу, возможно.
/*PRICE*/
SELECT MONTH
,ITEM
,STORE
,MANAGER
,[TY] AS TY_PRICE
,[LY] AS LY_PRICE
,[PY] AS PY_PRICE
INTO ##TMP_PRICE
FROM(
select MONTH
,ITEM
,STORE
,MANAGER
,TYPE
,SUM(PRICE) AS PRICE
FROM TABLE_X
GROUP BY MONTH
,ITEM
,STORE
,MANAGER
,TYPE) AS TMP
PIVOT(
MAX(PRICE)
FOR TYPE IN([TY],[LY],[PY])
) AS PVT
/*WEIGHT*/
SELECT MONTH
,ITEM
,STORE
,MANAGER
,[TY] AS TY_WEIGHT
,[LY] AS LY_WEIGHT
,[PY] AS PY_WEIGHT
INTO ##TMP_WEIGHT
FROM(
select MONTH
,ITEM
,STORE
,MANAGER
,TYPE
,SUM(WEIGHT) AS WEIGHT
FROM TABLE_X
GROUP BY MONTH
,ITEM
,STORE
,MANAGER
,TYPE) AS TMP
PIVOT(
MAX(WEIGHT)
FOR TYPE IN([TY],[LY],[PY])
) AS PVT
После создания обеих таблиц объедините их
SELECT ISNULL(TP.month,TW.month) as MONTH
,ISNULL(TP.ITEM,TW.ITEM) AS ITEM
,ISNULL(TP.STORE,TW.STORE) AS STORE
,ISNULL(TP.MANAGER,TW.MANAGER) AS MANAGER
,TY_WEIGHT
,LY_WEIGHT
,PY_WEIGHT
,TY_PRICE
,LY_PRICE
,PY_PRICE
FROM ##TMP_PRICE TP
FULL JOIN ##TMP_WEIGHT TW ON (TP.MONTH = TW.MONTH AND TP.ITEM = TW.ITEM
AND TP.STORE = TW.ITEM AND TP.MANAGER = TW.MANAGER)