just test code tags
Select FSA3.CustAccount,CT1.WIKA_DUNBRAD, Sum(FSA3.LineAmount)AS Last12MonthsSalesAmt,FSA3.ITEMID,x.FirstSaleDateinLast12Months,'NewCustomer' AS Status
From (
Select Cast (getdate() AS DATE) AS SnapShotDateCustaccount,FSA1.CUSTACCOUNT,sum(FSA1.lineamount) AS AmtLocalCurrency,sum(FSA1.lineamount) AS AmtUSD,min(FSA1.invoicedate) AS FirstSaleDateinLast12Months,DATEADD(mm, DATEDIFF(mm, 0, DATEADD(DAY, -(DAY(GETDATE())), GETDATE())) - 11, 0) AS TwelveMonthsAgo,DATEADD(DAY, -(DAY(GETDATE())), GETDATE()) AS LastMonth
FROM Fact_SalesActual FSA1
Where Cast (FSA1.Invoicedate AS DATE) between DATEADD(mm, DATEDIFF(mm, 0, DATEADD(DAY, -(DAY(GETDATE())), GETDATE())) - 11, 0) and DATEADD(DAY, -(DAY(GETDATE())), GETDATE())
AND NOT EXISTS (Select *
FROM Fact_SalesActual FSA2
WHERE FSA1.CustAccount=FSA2.CustAccount AND Cast (FSA2.Invoicedate AS DATE) between DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) - 36, 0) and DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) - 12, 0))
group by FSA1.Custaccount) X
LEFT JOIN FACT_SalesActual FSA3
ON FSA3.CustAccount = x.CUSTACCOUNT
LEFT JOIN dbo.custtable CT1 on CT1.Accountnum=FSA3.CustAccount
WHERE Cast (FSA3.Invoicedate AS DATE) between DATEADD(mm, DATEDIFF(mm, 0, DATEADD(DAY, -(DAY(GETDATE())), GETDATE())) - 11, 0) and DATEADD(DAY, -(DAY(GETDATE())), GETDATE())
Group by FSA3.CustAccount,CT1.WIKA_DunBrad,FSA3.Itemid,x.FirstSaleDateinLast12Months
UNION ALL
Select FSA3.CustAccount,CT1.WIKA_DUNBRAD,Sum(FSA3.LineAmount)AS SixMonthsCosts,FSA3.ITEMID,min(FSA3.InvoiceDate) AS FirstSaleDateinLast12Months,'ExistingCustomer' AS Status
FROM Fact_SalesActual FSA3
LEFT JOIN Custtable CT1 on CT1.AccountNum=FSA3.CustAccount
Where FSA3.CustAccount NOT IN (
(Select FSA1.CustAccount
FROM Fact_SalesActual FSA1
Where Cast (FSA1.InvoiceDate AS DATE) between DATEADD(mm, DATEDIFF(mm, 0, DATEADD(DAY, -(DAY(GETDATE())), GETDATE())) - 11, 0) and DATEADD(DAY, -(DAY(GETDATE())), GETDATE())
AND NOT EXISTS (Select *
FROM Fact_SalesActual FSA2
Where Cast (FSA2.InvoiceDate AS DATE) between DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) - 36, 0) and DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) - 12, 0))
group by FSA1.CustAccount))
Group by FSA3.CustAccount,FSA3.ItemId,CT1.WIKA_DunBrad