2012-07-18 50 views
0

學習Google FusionTables,所以可能會犯一個初學者的錯誤。當通過ChartTools API查詢Google Fusion Tables但不通過Ajax API時,我會得到正確的結果。奇怪的是,它爲查詢的一部分提供了正確的結果,而不是全部。我犯了一個錯誤嗎?通過Ajax的Google Fusion Table的部分結果不正確,但通過圖表工具正確嗎?

圖表工具API工作原理: 通過Chart Tools API查詢Google FusionTable似乎工作正常,儘管有500行限制。例如,這個查詢:SELECT ETHUN, COUNT() FROM 1Nynh5pPrj1q8JqbalppAm-qzAsgKvL0ZRala7VI GROUP BY ETHUN

使用谷歌圖表工具API,網址是http://www.google.com/fusiontables/gvizdata?tq=SELECT%20ETHUN%2C%20COUNT()%20%20FROM%201Nynh5pPrj1q8JqbalppAm-qzAsgKvL0ZRala7VI%20GROUP%20BY%20ETHUN&tqx=reqId%3A0,它返回一個JSON功能:

google.visualization.Query.setResponse({ 
    version:'0.5', 
    reqId:'0',status:'ok', 
    table:{ 
     p:{totalrows:3}, 
     cols:[ 
      {id:'col6',label:'ETHUN',type:'number'},   
      {id:'#agg#COUNT',label:'count()',type:'number'} 
     ], 
     rows:[ 
      {c:[{v:1.0},{v:3308.0}]} 
      {c:[{v:2.0},{v:18702.0}]}, 
      {c:[{v:-9.0},{v:10768.0}]}, 
     ] 
    } 
}) 

特別要注意的值{1,2} -9作爲ETHUN的值。

新FusionTables API不工作: 在另一方面,通過Ajax的API返回正確的頻率,但爲NaN的值本身的頻率描述了製造相同的查詢: https://www.googleapis.com/fusiontables/v1/query?sql=SELECT%20ETHUN%2C%20COUNT()%20%20FROM%201Nynh5pPrj1q8JqbalppAm-qzAsgKvL0ZRala7VI%20GROUP%20BY%20ETHUN&key=AIzaSyBT_ZCriV-Tm78KsJiQp6KKhjDwMhP0tYM

它返回該JSON :

{ 
"kind": "fusiontables#sqlresponse", 
"columns": [ "ETHUN", "count()" ], 
"rows": [ 
    [ NaN, "3308" ] 
    [ NaN, "18702" ], 
    [ NaN, "10768" ], 
] 
} 

爲什麼它會給我NaN而不是{1,2,-9}?

更新: 我現在認爲這個問題是獨特的新的Fusion Tables SQL,稍微編輯的問題。

(這裏的鏈接到example Fusion Table

Fusion Tables的SQL API(廢棄)也適用

奇怪的是這個環節也能正常工作,https://www.google.com/fusiontables/api/query?sql=SELECT%20ETHUN,%20COUNT%28%29%20FROM%204579147%20GROUP%20BY%20ETHUN&alt=json-in-script&jsonCallback=onResponse並返回以下JSONP響應又一格式:

onResponse({"table":{"cols":["ETHUN","count()"],"rows":[["2",18702],["-9",10768],["1",3308]]}}) 

回答

0

這似乎是Google Fusion Tables API v1.0中的一個錯誤。此錯誤特定於數字字段。 Ajax能夠正確查詢String字段。這個數據集大部分都是數字字段。

+0

的谷歌Fusion Table API v1.0現在似乎正常工作。偉大的工作谷歌團隊工作在朦朧的問題列表下這麼遠! – prototype 2012-09-11 02:09:34