我有一個挑戰,我似乎無法自行解決,現在需要幫助!並行日期銷售SQL查看
我有要求通過SQL顯示平行年銷售日期,我的意思是如果今天(20/08/2015)客戶A已購買價值500的產品,我想知道客戶A花了多少錢去年的一天(所以20/08/2014)。
這裏有一個SQL fiddle我已經建立了一切(我認爲這對你們來說最簡單)。我有3個維度(DimProduct,DimDate和DimCustomer),一個事實表(FactSales)和一個視圖(VW_ParallelSales),我已經在上面構建。我還在右側留下了一個查詢,試圖達到目標。如果你運行查詢,你會發現對於安東尼奧來說,20140820上的SaleAmount是3500,如果你看看錶格的最底部,你可以看到安東尼奧在20150820的事實表中有6500的記錄。因此, ,我想要的是在ParallelSales(目前顯示爲NULL)列下的20140820(這是20150820的平行年份日期)出售的3500。
如果我沒有在視圖中包含ProductKey並且只有CustomerKey(see this fiddle),它就像魅力一樣。但是,只要我添加產品密鑰,因爲過去沒有發生過的CustomerKey-ProductKey的精確匹配,所以我得到了ParallelSales的NULLS(至少這是我認爲的原因)。去年的今天多少錢客戶A支出VS今天:
我希望能夠做的是再使用視圖並加入兩個DimCustomer和DimProduct和運行哪些查詢兩種方式,即:
查詢1 ? 查詢2:我們今天銷售的產品A與去年的今天有多少?
現在,我需要有2個視圖 - 一個在CustomerKey和另一個視圖中加入兩個子查詢 - 在ProductKey(顯然是日期)上。
我知道這是很多要問,但我確實需要得到這個工作,並非常感謝您的幫助!謝謝:)
我需要你解釋爲什麼你的第二小提琴無法解決您的問題QUERY1。你說問題是空的,並希望以前的銷售。而這正是你從第二把小提琴中得到的。 –
對於Query2。您的數據樣本中沒有任何ProductKey在一年和上一年的銷售額。 –
是的,我知道,我現在只是在測試一些東西。會回來一點! – user3552829