轻松查看DataView是否为空?

时间:2013-03-18 12:23:34

标签: google-visualization dataview

使用Google可视化API,是否可以轻松查看DataView是否为空?

https://developers.google.com/chart/interactive/docs/reference#DataView

我可以看到使用dataView.getValue(0,1)等来检查空值,但它也包含列标题。

我猜这很棘手,因为dataview可能有很多不同的格式,但是有一种检查空数据视图的通用方法吗?我正在使用数据视图获取饼图。

4 个答案:

答案 0 :(得分:1)

如果我没记错的话,可以通过这种方式轻松完成

var predata = response.getDataTable();
var vals = new Array();
var rownum = predata.getNumberOfRows();
// Make sure our data isn't empty.
if (null==predata) // yoda was here
return;
  

返回数据源返回的数据表。如果返回null   查询执行失败,没有返回数据。

答案 1 :(得分:1)

通过阅读文档,似乎dataView.getNumberOfRows()正是您所寻找的。但是,在调用之前,您需要获取为null的已过滤行,然后将其隐藏。以下是an example使用Google Code Playground,我在其中检查一列是否为空,然后如果该行为空则隐藏该行。使用以下内容替换此示例的Google Code默认JavaScript:

function drawVisualization() {
  var dataTable = google.visualization.arrayToDataTable([
    ['Name',   'Age', 'Instrument', 'Color'],
    [null,   null,     null,    null],
    ['Paul',   52,     'Sitar',     'Red'],
    ['George', 16,     'Guitar',    'Green'],
    ['Ringo',  72,     'Drums',     'White']
  ]);

  var table = new google.visualization.Table(document.getElementById('table'));
  table.draw(dataTable, null);

  var dataView = new google.visualization.DataView(dataTable);

  // Get rows where the 2nd column contains null
  var filteredRows = dataView.getFilteredRows([{column: 1, value:null}]); 
  console.log(filteredRows);

  dataView.setColumns([0, 1]);

  // Hide the filtered rows returned
  dataView.hideRows(filteredRows);

  // Check the number of rows that now exist
  console.log(dataView.getNumberOfRows());

  var chart = new google.visualization.ColumnChart(document.getElementById('chart'));
  chart.draw(dataView, {width: 400, height: 200});
}

答案 2 :(得分:1)

getDistinctValues可能对您有所帮助。当应用于沿Y轴可视化的列时,它适用于折线图。

答案 3 :(得分:0)

这似乎不太正确......

在客户端甚至看到数据之前,也许我应该在服务器端用0替换null ....

我求助于:

if (dataView.getValue(0, 1) === null || dataView.getValue(1, 1) === null || dataView.getValue(2, 1)) === null)

我的数据视图结构是:

Column Title 1 | Data
Column Title 2 | Data
Column Title 3 | Data