2013-08-29 4 views
0

У меня есть запрос визуализации Google, для которых данные поступают из слитой таблицы, как,Google предел визуализации запроса

var query = new google.visualization.Query("https://www.google.com/fusiontables/gvizdata?tq=select * from *******************"); 

Но выбрать только первые 500 строк данных. Как преодолеть это ограничение?

+0

Возможный дубликат http://stackoverflow.com/questions/10859323/getting-around-the-500-row-limit – davidkonrad

ответ

1

Таблицы Fusion SQL-запросы устарели. Новая версия API не ограничивается 500 строками, для получения дополнительной информации см. Fusion Tables API.

Edit:

Вот пример Dashboard с помощью Google Fusion Tables код ODI писал в комментариях ниже:

function drawTable(response) { 
    var data = new google.visualization.DataTable(); 
    data.addColumn('string', 'Country Name'); 
    data.addColumn('number', 'Population in 1960'); 
    data.addColumn('number', 'Population in 2000'); 

    var rows = []; 
    for (var i = 0; i < response.rows.length; i++) { 
     rows.push([response.rows[i][0], parseInt(response.rows[i][1]), parseInt(response.rows[i][2])]); 
    } 
    data.addRows(rows); 

    var table = new google.visualization.ChartWrapper({ 
     containerId: 'table_div', 
     chartType: 'Table', 
     options: { 

     } 
    }); 

    var control = new google.visualization.ControlWrapper({ 
     containerId: 'control_div', 
     controlType: 'StringFilter', 
     options: { 
      filterColumnIndex: 0 
     } 
    }); 

    var dashboard = new google.visualization.Dashboard(document.querySelector('#dashboard')); 
    dashboard.bind([control], [table]); 
    dashboard.draw(data); 
} 

function getData() { 
    // Builds a Fusion Tables SQL query and hands the result to dataHandler 
    var queryUrlHead = 'https://www.googleapis.com/fusiontables/v1/query?sql='; 
    var queryUrlTail = '&key=AIzaSyCAI2GoGWfLBvgygLKQp5suUk3RCG7r_ME'; 
    var tableId = '17jbXdqXSInoNOOm4ZwMKEII0sT_9ukkqt_zuPwU'; 

    // write your SQL as normal, then encode it 
    var query = "SELECT 'Country Name', '1960' as 'Population in 1960', '2000' as 'Population in 2000' FROM " + tableId + " ORDER BY 'Country Name' LIMIT 10"; 
    var queryurl = encodeURI(queryUrlHead + query + queryUrlTail); 

    var jqxhr = $.get(queryurl, drawTable, "jsonp"); 
} 
google.load('visualization', '1', {packages:['controls'], callback: getData}); 

Посмотри здесь работает: http://jsfiddle.net/asgallant/6BXsy/

Дайте формат даты yyy-mm-dd, так вы можете создавать объекты Date из этого:

var data = new google.visualization.DataTable(); 
data.addColumn('date', 'Date'); 
// other columns 

var rows = [], dateArray, year, month, day; 
for (var i = 0; i < response.rows.length; i++) { 
    dateArray = response.rows[i][0].split('-'); 
    year = parseInt(dateArray[0]); 
    month = parseInt(dateArray[1]) - 1; 
    day = parseInt(dateArray[2]); 
    rows.push([new Date(year, month, day) /*, other data */]); 
} 
data.addRows(rows); 
+0

Чтобы уточнить, старый SQL API устарел, но API визуализации все еще используется для составления диаграмм. Но мы настоятельно рекомендуем использовать новый API для общего запроса. –

+1

@ Не могли бы вы случайно отправить часть ваших сотрудников, связанных с визуализацией, для проверки тега '[google-visualization]' время от времени? Несмотря на то, что здесь стоит большой вес золота, поддержка людей, фактически работающих над проектом, будет большой выгодой (это может также дать некоторые намеки на то, как люди используют API, что отличает людей от борьбы с/t есть и приносить счастье нам, людям, ищущим руководство) – jmac

+0

@asgallant - Любой такой образец для справки? – mpsbhat

Смежные вопросы