2012-11-30 24 views
2

我想從總結的一段時間內幾個其他石墨度量的總和中減去幾個石墨度量的總和。但是,根據我在做diffSeries之前還是之後總結,我得到了不同的結果。用石墨總結和比較系列的順序

我希望下面這兩個石墨查詢是相同的,但它們不是:

summarize(
    diffSeries(
    sum(
     stats_counts.otherthing.one, 
     stats_counts.otherthing.two 
    ), 
    sum(
     stats_counts.thing.one, 
     stats_counts.thing.two, 
     stats_counts.thing.three 
    ) 
), 
    '1week', 
    'sum', 
    true 
) 

隨着總結上diffSeries外(如上)我得到的似乎太高了基於數字在csv出口中查看原始數據。

diffSeries(
    summarize(
    sum(
     stats_counts.otherthing.one, 
     stats_counts.otherthing.more_than_five 
    ), 
    '1week', 
    'sum', 
    true 
), 
    summarize(
    sum(
     stats_counts.thing.one, 
     stats_counts.thing.two, 
     stats_counts.thing.three, 
    ), 
    '1week', 
    'sum', 
    true 
) 
) 

上面似乎給我正確的數據,但我寧願只需要總結一次,不能爲我的生命弄清楚爲什麼它應該是不同的。似乎diffSeries的參數越來越混亂,當我將它們作爲數據傳遞並且不總結時,但我不知道如何。

+0

那麼拍攝,這是50分浪費在賞金。沒有答案。如果有人甚至對我如何使這個更容易回答有評​​論,請告訴我。 – mmrobins

回答

2

我不完全確定,但也得到了一些奇怪的行爲與diffSeries。就我而言,它看起來像我總是得到積極的差異,當它應該是負面的。

查看代碼,diffSeries使用了一個函數safeDiff。它看起來像first line of the function可能是罪魁禍首。它只是取值不是None,所以如果你試圖從None中區分一個數值,它將輸出(正數)數值...在那裏我會期望一個負值。

也許有辦法將None/null轉換爲零?我無法在石墨中找到這樣的功能。有一個drawNullAsZero,但有某種treatNullAsZero?或者我錯過了一些東西。

無論如何,我懷疑這個可能與您所看到的問題有關。

+0

感謝您的關注。我已經看了一些源代碼,並認爲我需要做更多的事情才能得到答案,因爲它顯然不是一個熱門話題 - 一個賞金甚至沒有得到任何評論。當我得到一些時間後,我會跟進safeDiff。我希望能有更多的功能測試,我可以更新,但似乎很少。 – mmrobins