寻找一个数据可视化框架



(我知道有关于数据可视化的帖子,但没有一个完全回答我的问题。)

我正在寻找一个工具,从数据生成图表。我想要一个能够为我做一些计算的工具,而不仅仅是显示数据的好方法。

例如,下面是我运行的测试数据:

{
    "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),但它们似乎都太痛苦了,无法生成像我这样简单的报告。

是否有一个工具/框架可以帮助我做到这一点?或者我必须自己做计算,并使用像谷歌可视化API这样的工具来显示输出?

谢谢

我不确定是否理解正确。

我知道你有json格式的数据。您可以将此数据转换为xml或加载到数据库中。您需要使用特殊的计算和/或条件格式来可视化这些数据。

你可以使用的第一个工具是Excel。您可以使用Excel的内置函数来处理和可视化数据。我相信Excel可以满足您的要求。

如果你要用你的数据设计一个立方体,你有两个选择。首先,您可以在多维数据集级别进行这些计算,也可以使用工具的特性来可视化数据。

如果你设计一个立方体,你也可以使用Excel。但如果你需要一个更高级的工具,我的第一个建议是TARGIT,因为它很容易使用。你也可以使用QlikView或Tableau。对于更高级的解决方案,您可以使用微软的SharePoint或OBIEE。

我会看看Sencha (ext-JS)等JavaScript库。

查看他们的文档:http://docs.sencha.com/ext-js/4-0/#!/api/Ext.grid.Panel

你可以用json格式定义一个存储。您可以根据每条记录的值向存储中添加一个字段。如果您需要将此值相对于所有其他值作为百分位数,则可以监听'load'事件并遍历记录以计算此'高'/'低'值。

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()
});

这正是d3js的亮点所在。有一些数据可视化JS框架,你可以看看你也可以使用的KendoUI和sencha UI,但就像谷歌图表api一样,它们不能帮助你处理复杂的数学问题。D3JS。

最新更新