Try this one -
Index:
CREATE NONCLUSTERED INDEX [IX_Goran] ON #Goran
(
ActionDate
, ManagerName
, City
, Organazer
, [Action]
, Category
, EnteringProfitability
, PlaceName
)
INCLUDE (isMetroCashDesk, Price, ...)
Query:
SELECT
ActionDate
, ManagerName
, City
, Organazer
, [Action]
, Category
, EnteringProfitability
, PlaceName
, RevenueMetro = SUM(isMetroCashDesk * Price)
, RevenueRest = SUM(isRestCashDesk * Price)
, RevenuePortal2 = SUM(isPortal2CashDesk * Price)
, RevenueEuroset = SUM(isEurosetCashDesk * Price)
, RevenuePartners = SUM(isPartnersCashDesk * Price)
, RevenueCashDesksPlatforms = SUM(isCashDesksPlatforms * Price)
, TicketsMetro = SUM(isMetroCashDesk)
, TicketsRest = SUM(isRestCashDesk)
, TicketsPortal2 = SUM(isPortal2CashDesk)
, TicketsEuroset = SUM(isEurosetCashDesk)
, TicketsPartners = SUM(isPartnersCashDesk)
, TicketsCashDesksPlatforms = SUM(isCashDesksPlatforms)
, IncomeMetro = SUM(isMetroCashDesk * Income)
, IncomeRest = SUM(isRestCashDesk * Income)
, IncomePortal2 = SUM(isPortal2CashDesk * Income)
, IncomeEuroset = SUM(isEurosetCashDesk * Income)
, IncomePartners = SUM(isPartnersCashDesk * Income)
, RevenueTotal = SUM(Price)
, TicketsTotal = COUNT(1)
, IncomeTotal = SUM(Income)
, Profitability = CASE WHEN SUM(Price) != 0 THEN 100.0 * SUM(Income) / SUM(Price) END
, RevenueWithoutCashDesksPlatforms = ISNULL(SUM(CASE WHEN isCashDesksPlatforms = 0 THEN Price END), 0)
, TicketsWithoutCashDesksPlatforms = ISNULL(SUM(CASE WHEN isCashDesksPlatforms = 0 THEN 1 END), 0)
, IncomeWithoutCashDesksPlatforms = ISNULL(SUM(CASE WHEN isCashDesksPlatforms = 0 THEN Income END), 0)
, ProfitabilityWithoutCashDesksPlatforms =
CASE WHEN SUM(CASE WHEN isCashDesksPlatforms = 0 THEN Price ELSE 0 END) != 0
THEN 100.0 * SUM(CASE WHEN isCashDesksPlatforms = 0 THEN Income ELSE 0 END) / SUM(CASE WHEN isCashDesksPlatforms = 0 THEN Price ELSE 0 END)
END
FROM #Goran
GROUP BY
ActionDate
, ManagerName
, City
, Organazer
, [Action]
, Category
, EnteringProfitability
, PlaceName
ORDER BY
ActionDate
, ManagerName
, City
, Organazer
, [Action]
, Category