2011-12-15 70 views
3

(我知道有一篇關於數據可視化,但它們都沒有完全回答我的問題。)尋找一個數據可視化框架

我找了來從數據圖表的工具。我想要一個能夠爲我做一些計算的工具,不僅可以顯示數據,而且還有一個很好的方法。

例如這裏是我運行的測試數據:

{ 
    "destination" : "30be317c-e586-4448-8fed-1a9481710670", 
    "source" : "30be317c-e586-4448-8fed-1a9481710670", 
    "userStatus" : "UNDEF", 
    "testName" : "VolumeUp", 
    "testStatus" : "WORKED", 
    "testStart" : 1323378809108, 
    "testEnd" : 1323378809108 
}, { 
    "destination" : "30be317c-e586-4448-8fed-1a9481710670", 
    "source" : "30be317c-e586-4448-8fed-1a9481710670", 
    "userStatus" : "FAILED", 
    "testName" : "VolumeDown", 
    "testStatus" : "FAILED", 
    "testStart" : 1323378814065, 
    "testEnd" : 1323378816077 
} 

注意,這是目前在JSON,但我可以把它轉換爲XML或者根據需要把它推到一個數據庫中。

我想什麼有一種方法來告訴工具:一個

  • 柱:

    與創建一個表二號"testStatus" : "WORKED"

  • 柱:中"testStatus" : "FAILED"
  • 第三欄:介於1和2之間的百分比。
  • 行:"testName"
  • 顯示高於90%的綠色

百分比的計算仍然非常基本的。 我做了一些研究並找到了可以做到的工具(JasperReport,SpagoBI,RapidMiner),但所有這些工具似乎都很難生成像我這樣簡單的報告。

有沒有一個工具/框架可以幫助我做到這一點? 或者我必須自己做計算,並使用Google Visualization API之類的工具來顯示輸出結果嗎?

謝謝

回答

0

我會看看像Sencha(ext-JS)這樣的JavaScript庫。

檢查他們的文檔:http://docs.sencha.com/ext-js/4-0/#!/api/Ext.grid.Panel

你可以定義一個存儲與使用JSON格式的數據。您可以根據每條記錄的值向商店添加一個字段。如果您需要將此值相對於所有其他值設置爲百分比,則可以聽取「加載」事件並遍歷記錄以計算此「高」/「低」值。

Ext.create('Ext.data.Store', { 
    storeId:'myStore', 
    fields:['destination', 'source', 'testName', 'testStatus', 'testStart', 'testEnd'], 
    data:{'items':[ 
    // ... your data here 
    ]}, 
    proxy: { 
    type: 'memory', 
    reader: { 
     type: 'json', 
     root: 'items' 
    } 
    } 
}); 

然後,您可以使用任何內置視圖創建數據的網格視圖。您可以定義將使用計算值添加類的Renderer。使用簡單的CSS,你可以用不同的顏色爲每個類着色。

Ext.create('Ext.grid.Panel', { 
    title: 'My Data', 
    store: Ext.data.StoreManager.lookup('myStore'), 
    columns: [ 
    { header: 'Test Name', dataIndex: 'testName' }, 
    { header: 'Value', 
     dataIndex: 'calculatedValue', 
     renderer: function(value) { 
     return Ext.String.format('<span class="{0}">{1}</span>', value, value); 
     } 
    }, 
    // Other columns 
    ], 
    height: 200, 
    width: 400, 
    renderTo: Ext.getBody() 
}); 
1

我不確定是否理解正確。

我知道你有一些json格式的數據。您可以將此數據轉換爲xml或加載到數據庫。你需要用特殊的計算和/或條件格式來顯示這些數據。

您可以使用的第一個工具是Excel。您可以使用Excel的內置函數處理和可視化數據。我相信Excel將滿足您的要求。

如果你打算用你的數據設計一個立方體,你有2個選項。首先,您可以在多維數據集級別進行這些計算,也可以使用您用來顯示數據的工具的功能。

如果你設計一個立方體,你也可以使用Excel。但是如果你需要更高級的工具,我的第一個建議是TARGIT,因爲它易於使用。您也可以使用QlikView或Tableau。對於更高級的解決方案,您可以使用Microsoft的SharePoint或OBIEE。

0

這正是d3js閃耀的地方。有幾個數據可視化JS框架,你可以看看KendoUIsencha UI你也可以使用,但就像谷歌圖表APIs他們不幫你複雜的數學。 D3JS呢。