繁体   English   中英

Google Chart Visualization仪表板数据源问题

[英]Google Chart Visualization Dashboard Data Source issue

我一直在玩Google Chart Visualization,它非常适合创建图表。 但是,我现在想使用控件从Google Analytics(分析)(超级代理)中提取数据,并使用字符串过滤器实时搜索结果集。

我可以绑定控件和图表,但是当我使用来自Google Analytics(分析)超级代理的Json数据源时遇到问题。 如果我尝试自行制作图表,则该URL可以正常工作,但是当我尝试将其与控件绑定时,URL则可以正常工作。

这是我的代码:

  <script type = "text/javascript" > google.setOnLoadCallback(drawVisualization); function drawVisualization() { var dashboard = new google.visualization.Dashboard( document.getElementById('dashboard')); var data = new google.visualization.Query('https://chrome-octane-87219.appspot.com/query?id=ahVzfmNocm9tZS1vY3RhbmUtODcyMTlyFQsSCEFwaVF1ZXJ5GICAgIDruI8KDA&format=data-table-response'); Filter = new google.visualization.ControlWrapper({ 'controlType': 'StringFilter', 'containerId': 'StringFilter', 'options': { 'filterColumnIndex': 0, 'matchType': 'any' } }); var ResultsWrapper = new google.visualization.ChartWrapper({ // Example Browser Share Query "containerId": "results", "refreshInterval": 10000, "chartType": "Table", "options": { "width": 800, "height": 440, "title": "Test Data", } }); dashboard.bind(Filter, ResultsWrapper); dashboard.draw(data); ResultsWrapper.draw(); } 
 <script type = "text/javascript" src = "https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['corechart', 'controls','table']}]}" > </script> <div id="dashboard"> <div id="StringFilter"></div> <div id="results" style="margin:auto;"></div> </div> 

这是我得到的错误:一个或多个参与者无法draw()×表没有列。×无法绘制图表:未指定数据。

现在,如果我用一个简单的数组替换数据源,我会得到一个带有搜索过滤器的漂亮表,该表非常有用。 我不确定我在做什么错。

对下一步尝试有什么想法? 提前致谢!

我知道这已经晚了几年,但是问题基本上是,在构建查询时,您实际上从未发送过查询或对响应执行任何操作。 您需要将其构建在:

  <script type = "text/javascript" > google.setOnLoadCallback(drawVisualization); function drawVisualization() { var dashboard = new google.visualization.Dashboard( document.getElementById('dashboard')); var data = new google.visualization.Query('https://chrome-octane-87219.appspot.com/query?id=ahVzfmNocm9tZS1vY3RhbmUtODcyMTlyFQsSCEFwaVF1ZXJ5GICAgIDruI8KDA&format=data-table-response'); Filter = new google.visualization.ControlWrapper({ 'controlType': 'StringFilter', 'containerId': 'StringFilter', 'options': { 'filterColumnIndex': 0, 'matchType': 'any' } }); var ResultsWrapper = new google.visualization.ChartWrapper({ // Example Browser Share Query "containerId": "results", "refreshInterval": 10000, "chartType": "Table", "options": { "width": 800, "height": 440, "title": "Test Data", } }); dashboard.bind(Filter, ResultsWrapper); data.send(handleQueryResponse) function handleQueryResponse(response) { if (response.isError()) { alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage()); return null; } dashboard.draw(data); ResultsWrapper.draw(); } } 
 <script type = "text/javascript" src = "https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['corechart', 'controls','table']}]}" > </script> <div id="dashboard"> <div id="StringFilter"></div> <div id="results" style="margin:auto;"></div> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM