1

Google 視覚化 API を使用して、DataView が空かどうかを確認する簡単な方法はありますか?

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

おそらく dataView.getValue(0, 1) などを使用して null をチェックしていることがわかりますが、列見出しも含まれています。

データビューにはさまざまな形式がある可能性があるため、注意が必要だと思いますが、空のデータビューをチェックする一般的な方法はありますか? 円グラフにデータビューを使用しています。

4

4 に答える 4

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 を返します。

于 2013-03-18T12:32:56.843 に答える
1

ドキュメントを読むと、dataView.getNumberOfRows()あなたが探しているもののようです。ただし、それを呼び出す前に、null であるフィルタリングされた行を取得して非表示にする必要があります。これは Google Code Playground を使用した例で、1 つの列で null をチェックし、null の場合は行を非表示にしています。その例の 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});
}
于 2013-03-18T12:33:02.137 に答える
0

正しくないようです...

おそらく、クライアント側がデータを見る前に、サーバー側でnullを0に置き換える必要があります。

私は頼りました:

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

私のデータビュー構造は次のとおりです。

列タイトル1| データ
列タイトル2| データ
列タイトル3| データ
于 2013-03-18T13:14:19.533 に答える