Google サイトからリンクされた一連の公開済みダッシュボードがあります。ダッシュボードはすべて Google スプレッドシートからデータを取得するもので、かなり基本的なもので、ほとんどがフィルター可能なデータテーブルです。これは、多数の vlookup といくつかの importrange、いくつかのフィルター式、いくつかのクエリ式を含むかなり大きなスプレッドシートです...多くのことが進行中です...多くの場合、「一部の式の処理に時間がかかっています」というメッセージが表示されます。 "
スプレッドシートを開いている場合、ダッシュボードはうまく機能します。または、他の誰かが開いている場合。ただし、スプレッドシートを閉じてしばらく待ってから、スプレッドシートを閉じたときにダッシュボードを実行しようとすると、多くの場合、ダッシュボードにデータが取り込まれません。
ダッシュボードがデータの読み込みをもう少し待つか、可能であれば「バックグラウンド」でスプレッドシートを開く必要があるのではないかと思います。何かご意見は?これが私が持っているダッシュボードの例です:
function doGet() {
var ss = SpreadsheetApp.openById("0Aq2VphSIvT4NdE1IRTlzV0NyWF9XZ1hsX2hXZG0xdHc");
var lastrow = ss.getSheetByName('CIC Student Aggregate').getLastRow();
var data = ss.getSheetByName('CIC Student Aggregate').getRange(1, 1, lastrow, 13);
var StudentFilter = Charts.newStringFilter()
.setFilterColumnLabel("Student Name")
.build();
var TotalsFilter = Charts.newNumberRangeFilter()
.setFilterColumnLabel("Total Interactions")
.build();
var tablechart = Charts.newTableChart()
.setDimensions(680, 550)
.setDataViewDefinition(Charts.newDataViewDefinition()
.setColumns([0,1,7,8,9,10,11,12]))
.build();
var piechart = Charts.newPieChart()
.setDimensions(330, 350)
.setDataViewDefinition(Charts.newDataViewDefinition()
.setColumns([0,12]))
.build();
var dashboard = Charts.newDashboardPanel()
.setDataTable(data)
.bind([StudentFilter,TotalsFilter], [tablechart,piechart])
.build();
var uiApp = UiApp.createApplication()
.setTitle("Interactions Totals")
.setWidth(980)
.setHeight(600);
dashboard.add(uiApp.createVerticalPanel()
.add(StudentFilter).add(TotalsFilter)
.setSpacing(1)
.add(uiApp.createHorizontalPanel()
.add(uiApp.createVerticalPanel())
.add(tablechart).add(piechart)
));
uiApp.add(dashboard);
return uiApp;
}