Google FusionTables を学習しているため、初歩的なミスを犯している可能性があります。Ajax API ではなく ChartTools API を介して Google Fusion Tables にクエリを実行すると、正しい結果が得られます。奇妙なことに、すべてではなく、クエリの一部に対して正しい結果が得られます。私は間違いを犯していますか?
Chart Tools API の動作: Chart Tools API
を介した Google FusionTable のクエリは、500 行の制限がありますが、正常に動作しているようです。たとえば、次のクエリは次のようになります。 SELECT ETHUN, COUNT() FROM 1Nynh5pPrj1q8JqbalppAm-qzAsgKvL0ZRala7VI GROUP BY ETHUN
Google Chart Tools API を使用すると、URL はhttp://www.google.com/fusiontables/gvizdata?tq=SELECT%20ETHUN%2C%20COUNT()%20%20FROM%201Nynh5pPrj1q8JqbalppAm-qzAsgKvL0ZRala7VI%20GROUP%20BY%20ETHUN&tqx=になります。 JSON 関数を返すreqId%3A0 :
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}]},
]
}
})
特に、ETHUN の値として値 {1,2,-9} に注意してください。
新しい 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" ],
]
}
{1, 2, -9} の代わりに NaN が返されるのはなぜですか?
更新: この問題は新しい Fusion Tables SQL に固有のものであると考えています。質問は少し編集されています。
( Fusion Tableの例へのリンクはこちら)
Fusion Tables SQL API (現在は非推奨) も動作します
奇妙なことに、このリンクも正常に機能します。 script&jsonCallback=onResponseで、さらに別の形式で次の JSONP 応答を返します。
onResponse({"table":{"cols":["ETHUN","count()"],"rows":[["2",18702],["-9",10768],["1",3308]]}})