我是編程新手,無法找到答案。識別事實表中的百分比
我有以下尺寸(表)和事實表:
- 客戶:客戶編號,HomeRegion
- 地區:RegionId,RegionName
- 數值指明MyTime:ID ,MyHour
- 事實表:客戶編號,RegionId,TIMEID,FactId
我必須報告:HomeRegion,小時,RegionName,UserPercentage。
如示例所示,只有3.67%的人,其家庭區域爲一個轉會乙上午9點等等。
我應該創建一個相似的。
問題是獲得UserPercentage。這是我迄今爲止所做的代碼。
SELECT c.HomeRegion, mt.myhour as Time, r.RegionName as CurrentRegion,
(SELECT COUNT(*)
/*number of users who move from their home
region to CurrentRegion at specific time*/
)/COUNT(c.CustomerId)*100 as UserPercentage
FROM dbo.FactTable ft
inner join dbo.Customer c
ON ft.CustomerId = c.CustomerId
inner join dbo.myTime mt
ON ft.TimeId = mt.ID
inner join dbo.Regions r
ON ft.RegionId = r.RegionId
WHERE mt.myhour = '09'
GROUP BY c.HomeRegion, mt.myhour, r.RegionName
ORDER BY c.HomeRegion, r.RegionName
什麼問題?你是否收到錯誤,結果不正確等? – Andrew
不知道在評論區寫什麼代碼 – Ulugbek
好吧,不是很多,我們可以告訴你沒有噸更多的信息。基本上,你需要確定誰來識別已經切換區域的人,然後將其併入計數的案例陳述中。 – Andrew