2014-10-28 14 views
3

我試圖設置一個漏斗。問題在於,「actorProperty」在第一個事件中作爲整數存儲,並且在第二個事件中作爲字符串存儲。問題在keen.io上創建funnel,其中actorProperty在事件相關的事件上有不同的類型

下面存儲在敏銳的JSON的例子(看一看在 「APP_ID」 字段):

事件1

{ 
    "keen": { 
     "timestamp": "2014-10-17T12:28:35.000Z", 
     "created_at": "2014-10-17T12:28:35.805Z", 
     "id": "510b7481961a5ad07165" 
    }, 
    "app_id": 861, 
    "old_plan": "Trial" 
}, 

事件2:

{ 
    "keen": { 
     ... 
    }, 
    "metadata": { 
     "plan": "Premium", 
     "app_id": "861" 
    } 
} 

漏斗可視化對於第二個事件不起作用,它不會帶來任何結果...下面的代碼生成漏斗:

var funnel = new Keen.Query('funnel', { 
    steps: [ 
     { 
      eventCollection: "Event 1", 
      actorProperty: "app_id" 
     }, 
     { 
      eventCollection: "Event 2", 
      actorProperty: "metadata.app_id" 
     } 
    ], 
    timeframe: "this_month" 
}); 

對於在這種情況下如何進行操作,您有任何建議嗎?

+0

嘿你能鏈接到jsfiddle嗎? – Sean 2014-10-28 22:39:35

+0

毫米,我不這麼認爲,至少在我目前的環境中沒有,我需要爲這個例子設置一個完整的測試環境。我會盡力找到一個解決方案,然後再投入時間,對不起。 – tufla 2014-10-29 16:00:06

+0

好的,最後我在遇到的情況下做了一些有用的事情,那就是在第一步中查詢添加參數「with_actors:true」的渠道。然後,使用查詢響應,我將第一步的角色映射到字符串,然後使用「in」過濾器和字符串actors數組作爲值執行第二個查詢(count_unique)。通過第二個查詢的響應,我更新第一個查詢中第二個步驟的結果值並繼續進行可視化。看起來有點骯髒,但它是一個簡單的解決方案,並且不需要修改任何事件數據。 – tufla 2014-10-31 15:47:22

回答

3

最好的方法是基本修復您注入Keen的數據。 Keen不提供對現有記錄的更新,但確實有很好的導出方式,然後在清理後重新導入數據。

退房的keen-cli寶石,它可以讓你得到所有事件的CSV:

keen queries:run --collection "Event 2" --analysis-type extraction --email [email protected] 

一旦你清理CSV(剝離那些引號),你可以重新導入:

keen events:add --file fixed_events.csv --csv 

如果您需要刪除那裏的記錄,請查看keen collections:delete命令。

+0

謝謝你的回答傑伊,這當然是一個非常好的選擇,但是我不能修改事件2(這會更容易),因爲它是由外部提供者生成的。所以,我應該修改事件1來成爲它的字符串......這個選項的問題是,我要爲一些已經使用app_id作爲整數的事件弄亂了一堆其他渠道和指標...所以,我將基本上需要爲我的系統更新幾乎所有收集的數據......總結我會在繼續使用此解決方案之前爲此特定漏斗嘗試另一個選項。 – tufla 2014-10-29 19:14:53

相關問題