寻找数据可视化框架

时间:2011-12-15 00:57:58

标签: data-visualization business-intelligence

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

我正在寻找一种从数据生成图表的工具。我想要能够为我做一些计算的工具,不仅可以很好地显示数据。

例如,这里是我运行的测试数据:

{
    "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"
  • 的数量
  • 第三栏:一到两之间的百分比。
  • 行:"testName"
  • 以绿色显示高于90%的百分比

计算仍然非常基础。 我做了一些研究并找到了可以做到这一点的工具(JasperReport,SpagoBI,RapidMiner)但是所有这些工具似乎都太难以产生像我这样的简单报告了。

是否有可以帮助我做到这一点的工具/框架? 或者我是否必须自己进行计算并使用Google Visualization API等工具来显示输出?

由于

3 个答案:

答案 0 :(得分:1)

我不确定是否理解正确。

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

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

如果您要设计包含数据的多维数据集,则有2个选项。首先,您可以在多维数据集级别进行这些计算,也可以使用用于可视化数据的工具的功能。

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

答案 1 :(得分: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'
    }
  }
});

然后,您可以使用任何内置视图创建数据的网格视图。您可以定义将使用计算值添加类的渲染器。使用简单的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()
});

答案 2 :(得分:0)

这正是d3js闪耀的地方。那里有很少的数据可视化JS框架,你可以看看你可以使用的KendoUIsencha UI,但就像谷歌图表API一样,它们无法帮助你进行复杂的数学运算。 D3JS。