2017-06-25 49 views
1

我現在有一個表(MySQL的)稱爲user_tracker哪些商店:如何計算用戶保留了爲期1個月的

  1. 用戶IP地址:IpAddress
  2. 每人一個獨特的令牌(保存爲餅乾):CookieToken
  3. 該URL的用戶檢查:Page
  4. 日期用戶選中該頁面:CreatedOn

我們想要做的是在30天的時間內看到有多少人只有1次,2次,3次,...... 30次(意思是他們每天都來到現場)來到現場。

如果用戶在1天內查看5個頁面,並且永遠不會返回,則該用戶仍被視爲「1次」。

我該如何得到這樣的東西?

如果有人知道在MySQL上獲取這些數據的查詢,而且沒有使用Tableau或其他人,我也將不勝感激。

附加是上個月使用SAS VA收集的數據的屏幕截圖。

enter image description here

+1

如果您顯示了一些示例表數據,對其他人會很有幫助。 –

+0

是的,請參閱https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- sql-query – Strawberry

+0

最能解決此類問題的Tableau功能是細節級別(LOD)計算。閱讀在線幫助中的LOD計算以獲得開始。 –

回答

1

假設你createdOn是一個有效的日期列,如果你需要的不同天數的用戶訪問該網站,你可以指望的行數的日期間隔

使用不同createdOn

如果你想知道多少次的用戶訪問該網站
select 
     IpAddress 
     , count(distinct createdOn) 
    from my_table 
    where CreatedOn between BETWEEN NOW() - INTERVAL 30 DAY AND NOW() 
    group by IpAddress 

使用COUNT(*)

+0

@Strawberry distinct createdON ..答案更新.. – scaisEdge

+0

此外,我懷疑createdon可能是未來的日期 – Strawberry

+0

我已經發布這個條件的答案..希望OP讓我知道.. – scaisEdge

0
  1. 創建LOD計算領域,[天在本月活躍]顯示的每人每月{FIXED [CookieToken] : COUNTD(DAY([Created On])) }
  2. 廣場[天在本月活躍]排貨架
  3. 廣場月份([創建時間上的獨特的天數])的列擱板

使用COUNT天在濾色貨架

  • 地點COUNT天([CookieToken])上是方便的,但對於大數據集昂貴。如果性能不夠好,那麼您可能需要預先處理數據以便一次性支付該成本。

    上述步驟假設所有數據均爲一年。如果您的數據涵蓋多年,則您需要相應地修改第1步和/或第3步。

  • 相關問題