You are on page 1of 3

SELECT T.Store_Num, C.

SAPCustomer_Num, (CASE WHEN EXTRACT(MONTH FROM current_date) > 1 THEN EXTRACT(YEAR FROM current_d ate) ELSE EXTRACT(YEAR FROM current_date) - 1 END ) AS CalendarYear_Id, (CASE WHEN EXTRACT(MONTH FROM current_date) > 1 THEN EXTRACT(MONTH FROM current_ date) - 1 ELSE 12 END ) AS CalendarMonth_Id, MAX(E.MTY) AS MTY, MAX(RetailHardwareSQFt_Num + RetailNonHardwareSQFt_Num) AS RetailHardwareSQFt_Nu m, SUM(CASE WHEN ((EXTRACT(MONTH FROM current_date) > 1 AND EXTRACT(YEAR FROM Sales Transaction_Date) = EXTRACT(YEAR FROM current_date)) OR (EXTRACT(MONTH FROM current_date) = 1 AND EXTRACT(YEAR FROM S alesTransaction_Date) = EXTRACT(YEAR FROM current_date) - 1)) THEN SalesTransTot al_Amt ELSE 0 END) AS CYTotalSales, SUM(CASE WHEN ((EXTRACT(MONTH FROM current_date) > 1 AND EXTRACT(YEAR FROM Sales Transaction_Date) = EXTRACT(YEAR FROM current_date) - 1) OR (EXTRACT(MONTH FROM current_date) = 1 AND EXTRACT(YEAR FROM S alesTransaction_Date) = EXTRACT(YEAR FROM current_date) - 2)) THEN SalesTransTot al_Amt ELSE 0 END) AS LYTotalSales, SUM(CASE WHEN ((EXTRACT(MONTH FROM current_date) > 1 AND EXTRACT(YEAR FROM Sales Transaction_Date) = EXTRACT(YEAR FROM current_date)) OR (EXTRACT(MONTH FROM current_date) = 1 AND EXTRACT(YEAR FROM S alesTransaction_Date) = EXTRACT(YEAR FROM current_date) - 1)) THEN NumberOfBaske ts_Qty ELSE 0 END) AS CYTransaction, SUM(CASE WHEN ((EXTRACT(MONTH FROM current_date) > 1 AND EXTRACT(YEAR FROM Sales Transaction_Date) = EXTRACT(YEAR FROM current_date) - 1) OR (EXTRACT(MONTH FROM current_date) = 1 AND EXTRACT(YEAR FROM S alesTransaction_Date) = EXTRACT(YEAR FROM current_date) - 2)) THEN NumberOfBaske ts_Qty ELSE 0 END) AS LYTransaction, SUM(CASE WHEN ((EXTRACT(MONTH FROM current_date) > 1 AND EXTRACT(YEAR FROM Sales Transaction_Date) = EXTRACT(YEAR FROM current_date)) OR (EXTRACT(MONTH FROM current_date) = 1 AND EXTRACT(YEAR FROM S alesTransaction_Date) = EXTRACT(YEAR FROM current_date) - 1)) AND QualityLevel_cd = 'V' AND SalesTransactionType_Cd in ('03','07','17' ) AND F.CustomerClub_Num IS NOT NULL AND (F.Cancel_Date IS NULL OR A.SalesTransaction_Date < Cancel_Date) THE N NumberOfBaskets_Qty ELSE 0 END) AS ACERewardsTransaction, SUM(CASE WHEN ((EXTRACT(MONTH FROM current_date) > 1 AND EXTRACT(YEAR FROM Sales Transaction_Date) = EXTRACT(YEAR FROM current_date)) OR (EXTRACT(MONTH FROM current_date) = 1 AND EXTRACT(YEAR FROM S alesTransaction_Date) = EXTRACT(YEAR FROM current_date) - 1)) AND QualityLevel_cd = 'V' AND SalesTransactionType_Cd in ('00','03','05' ,'07','17') THEN NumberOfBaskets_Qty ELSE 0 END) AS CashTransaction, SUM(CASE WHEN ((EXTRACT(MONTH FROM current_date) > 1 AND EXTRACT(YEAR FROM Sales Transaction_Date) = EXTRACT(YEAR FROM current_date)) OR (EXTRACT(MONTH FROM current_date) = 1 AND EXTRACT(YEAR FROM S alesTransaction_Date) = EXTRACT(YEAR FROM current_date) - 1)) AND SalesTransactionType_Cd in ('02','04','06','07') THEN SalesTransTota l_Amt ELSE 0 END) AS HouseAccountSales, SUM (CASE WHEN ((EXTRACT (MONTH FROM current_date) > 1 AND EXTRACT (YEAR FROM Sa lesTransaction_Date) = EXTRACT (YEAR FROM current_date) AND EXTRACT (MONTH FROM SalesTransaction_Date) = EXTRACT (MONTH FROM current_date) - 1) OR (EXTRACT (MONTH FROM current_date) = 1 AND EXTRACT (YEAR FROM SalesTransaction_Date) = EXTRACT (YEAR FROM current_date) - 1 AND EXTRACT (MONT H FROM SalesTransaction_Date) = EXTRACT (MONTH FROM current_date) - 12)) THEN Sa lesTransTotal_Amt ELSE 0 END) AS MCYTotalSales,

SUM (CASE WHEN ((EXTRACT (MONTH FROM current_date) > 1 AND EXTRACT (YEAR FROM Sa lesTransaction_Date) = EXTRACT (YEAR FROM current_date) -1 AND EXTRACT (MONTH FR OM SalesTransaction_Date) = EXTRACT (MONTH FROM current_date) - 1) OR (EXTRACT (MONTH FROM current_date) = 1 AND EXTRACT (YEAR FROM SalesTransaction_Date) = EXTRACT (YEAR FROM current_date) - 2 AND EXTRACT (MONT H FROM SalesTransaction_Date) = EXTRACT (MONTH FROM current_date) - 12)) THEN Sa lesTransTotal_Amt ELSE 0 END) AS MLYTotalSales, SUM(CASE WHEN ((EXTRACT(MONTH FROM current_date) > 1 AND EXTRACT(YEAR FROM Sales Transaction_Date) = EXTRACT(YEAR FROM current_date) AND EXTRACT (MONTH FROM Sale sTransaction_Date) = EXTRACT (MONTH FROM current_date) - 1) OR (EXTRACT(MONTH FROM current_date) = 1 AND EXTRACT(YEAR FROM S alesTransaction_Date) = EXTRACT(YEAR FROM current_date) - 1 AND EXTRACT (MONTH FROM SalesTransaction_Date) = EXTRACT (MONTH FROM current_date) - 12)) THEN Numb erOfBaskets_Qty ELSE 0 END) AS MCYTransaction, SUM(CASE WHEN ((EXTRACT(MONTH FROM current_date) > 1 AND EXTRACT(YEAR FROM Sales Transaction_Date) = EXTRACT(YEAR FROM current_date) AND EXTRACT (MONTH FROM Sale sTransaction_Date) = EXTRACT (MONTH FROM current_date) - 1) OR (EXTRACT(MONTH FROM current_date) = 1 AND EXTRACT(YEAR FROM S alesTransaction_Date) = EXTRACT(YEAR FROM current_date) - 1 AND EXTRACT (MONTH F ROM SalesTransaction_Date) = EXTRACT (MONTH FROM current_date) - 12)) AND QualityLevel_cd = 'V' AND SalesTransactionType_Cd in ('03','07','17' ) AND F.CustomerClub_Num IS NOT NULL AND (F.Cancel_Date IS NULL OR A.SalesTransaction_Date < Cancel_Date) THE N NumberOfBaskets_Qty ELSE 0 END) AS MACERewardsTransaction, SUM(CASE WHEN ((EXTRACT(MONTH FROM current_date) > 1 AND EXTRACT(YEAR FROM Sales Transaction_Date) = EXTRACT(YEAR FROM current_date) AND EXTRACT (MONTH FROM Sal esTransaction_Date) = EXTRACT (MONTH FROM current_date) - 1) OR (EXTRACT(MONTH FROM current_date) = 1 AND EXTRACT(YEAR FROM S alesTransaction_Date) = EXTRACT(YEAR FROM current_date) - 1 AND EXTRACT (MONTH FROM SalesTransaction_Date) = EXTRACT (MONTH FROM current_date) - 12)) AND QualityLevel_cd = 'V' AND SalesTransactionType_Cd in ('00','03','05' ,'07','17') THEN NumberOfBaskets_Qty ELSE 0 END) AS MCashTransaction FROM (select * from webfocusviews.KPI_STORE_PEER_GROUP T where period_id=(SELEC T (MTY - 1) AS MTY FROM webfocusviews.ACE_DATE WHERE ace_date = current_date) ) T JOIN webfocusviews.SALES_TRANSACTION A ON T.Store_Num = A.Store_Num AND T.Calcul ateKPI_Fl in ('Y','N') JOIN webfocusviews.ACE_DATE B ON A.SalesTransaction_Date = B.Ace_Date JOIN webfocusviews.SAP_CUSTOMER_XREF C ON T.Store_Num = C.Store_Num JOIN webfocusviews.SAP_CUSTOMER D ON C.SAPCustomer_Num = D.SAPCustomer_Num AND C .Match_fl = 'Y' JOIN (SELECT ACE_DATE, (MTY - 1) as MTY FROM webfocusviews.ACE_DATE WHERE ace_da te = current_date) as E ON E.ACE_DATE <> B.ACE_DATE LEFT JOIN webfocusviews.club_member F ON A.CustomerClub_Num = F.CustomerClub_Num WHERE ((EXTRACT(MONTH FROM current_date) > 1 AND (B.CalendarYear_Id = EXTRACT(YE AR FROM current_date) - 1 OR B.CalendarYear_Id = EXTRACT(YEAR FROM current_date) )) OR (EXTRACT(MONTH FROM current_date) = 1 AND (B.CalendarYear_Id = EXTRACT(YEAR F ROM current_date) - 2 OR B.CalendarYear_Id = EXTRACT(YEAR FROM current_date) - 1 ))) AND ((EXTRACT(MONTH FROM current_date) > 1 AND B.CalendarMonth_Id < EXTRACT(MONT H FROM current_date))

OR (EXTRACT(MONTH FROM current_date) = 1 AND B.CalendarMonth_Id <= 12)) GROUP BY T.Store_num, C.SAPCustomer_Num

You might also like