在某次會員活動中,需要彙總以下資料:
1、總訪問次數:統計某活動首頁pv -- (visit_counts)
2、總訪問人數:統計某活動首頁uv -- (visit_persion_counts)
3、總參與人數:統計某活動參與**的人數,去重 -- (participate_counts)
4、總分享數:某活動首頁分享次數 -- (share_counts)
1、總訪問次數、總分享數都是全量統計,包括重複操作;總訪問人數、總參與人數都是人員統計,要去重操作;
2、前端h5開發人員,提供了三個關鍵標識字段:
訪問eventkey:wheelvisitcnt
**eventkey: wheeldrawprize
分享eventkey: wheelshare
2.1 錯誤想法(被h5人稱為物件導向想法):
1、通過eventkey=『wheeldrawprize』,區分出**的;通過eventkey=『wheelshare』,區分出分享的;(這個沒有問題)
2、由於總訪問人既包括**的、分享的、既沒**又沒分享的三種,所以認為對於乙個參與**、分享的人來說他應該有兩個eventkey來標記;(理解上沒有毛病,但實際上是錯誤的)
2.2 錯誤原因:
這個你不要用物件導向的思想去想,首先這個統計針對的某個動作做的統計,這個動作被執行多少次;然後這個動作又有多少人;最後得到統計的參與**人數,分享次數,總訪問人數結果。
所以eventkey=『wheelvisitcnt』得到的就是所有的訪問量;eventkey=『wheeldrawprize』得到的就是所有的參與**量;通過eventkey=『wheelshare』得到的就是所有的分享量。
visit_counts bigint comment "總訪問次數",
sum(case when eventkey='wheelvisitcnt' then 1 else 0 end),
visit_persion_counts bigint comment "總訪問人數",
count(distinct open_id case when eventkey='wheelvisitcnt') as visit_persion_counts,
-- count(distinct openid) as visit_persion_counts,
-- count(distinct case when eventkey='wheelvisitcnt' then open_id else null end) as visit_persion_counts,
participate_counts bigint comment "總參與人數",
count(distinct open_id case when eventkey='wheeldrawprize') as participate_counts,
--count(distinct case when eventkey='wheeldrawprize' then open_id else null end) as participate_counts,
share_counts bigint comment "總分享數",
sum(case when eventkey='wheelshare' then 1 else 0 end) as share_counts,
分享故事,放鬆一下自己
1 建築師 一位夫人打 給建築師,說每當火車經過時,她的睡床就會搖動。這簡直是無稽之談 建築師回答說,我來看看。建築師到達後,夫人建議他躺在床上,體會一下火車經過時的感覺。建築師剛 躺下,夫人的丈夫就回來了。他見此情形,便厲聲喝問 你躺在我妻子的床上幹什麼?建築師戰戰兢兢地回答 我說是在等火車,你會...
分享故事,放鬆一下自己
1 建築師 一位夫人打 給建築師,說每當火車經過時,她的睡床就會搖動。這簡直是無稽之談 建築師回答說,我來看看。建築師到達後,夫人建議他躺在床上,體會一下火車經過時的感覺。建築師剛 躺下,夫人的丈夫就回來了。他見此情形,便厲聲喝問 你躺在我妻子的床上幹什麼?建築師戰戰兢兢地回答 我說是在等火車,你會...
分享乙個網路latency的故事
由於最新的windows 8對於wifi 傳輸有latency的要求,最近一直在忙這件事。ms要求peer到peer之間的lantency要小於幾十個毫秒吧。這段時間可以劃分為一下這幾個部分 根據driver的現狀一開始以為可能跟下面這些因素有關 1.resource,因為driver pre al...