チャートサービスは初めてで、この投稿についてさらに詳しく説明したいと考えていました。Googleチャートオブジェクトエラー
同じ「オブジェクトタイプが列タイプと一致しない」という問題が発生していますが、行をチェックして、データが同じタイプであることを確認しました。シート全体をプレーンテキスト形式として設定すると、グラフは正しく実行され、エラーは発生しません。しかし、フライトの日付を使用したり、フライト時間を合計したりするすべてのフィルターと関数を失い、ワークブックの他のシートでフライトタイプをカウントします。
グラフを使用する前に列データを文字列化する方法はありますか?(単に)。それが問題だった場合に備えて、文字列ヘッダーを含まないようにデータ範囲を設定しましたが、それも機能しませんでした。
サンプルデータシートへのリンク:サンプルデータシート
コードは次のとおりです。
function doGet(){
//Get the data from spreadsheet
var ss = SpreadsheetApp.openById(ScriptProperties.getProperty('hoistLog'));
var sheet = ss.getSheetByName('Flight Tracking');
var data = sheet.getDataRange();
//Filters
var unitFilter = Charts.newCategoryFilter()
.setFilterColumnIndex(22)
.build();
var missionTypeFilter = Charts.newCategoryFilter()
.setFilterColumnIndex(2)
.build();
//Charts
var missionTypePieChart = Charts.newPieChart()
.setDataViewDefinition(Charts.newDataViewDefinition().setColumns([2]))
.setDimensions(550, 350)
.setTitle('Mission Types')
.set3D()
.build();
var unitTypePieChart = Charts.newPieChart()
.setDataViewDefinition(Charts.newDataViewDefinition().setColumns([22]))
.setDimensions(550, 350)
.setTitle('Flights By Unit')
.set3D()
.build();
var tableChart = Charts.newTableChart()
.setDataViewDefinition(Charts.newDataViewDefinition().setColumns([0, 2, 22, 23, 24, 25, 33, 34, 35, 36, 37]))
.setDimensions(1100, 500)
.build();
//Dasboard
var dashboard = Charts.newDashboardPanel().setDataTable(data)
.bind([unitFilter, missionTypeFilter], [missionTypePieChart, unitTypePieChart, tableChart])
.build();
var app = UiApp.createApplication();
var filterPanel = app.createHorizontalPanel();
var chartPanel = app.createHorizontalPanel();
var tablePanel = app.createVerticalPanel();
filterPanel.add(unitFilter).add(missionTypeFilter).setSpacing(10);
chartPanel.add(missionTypePieChart).add(unitTypePieChart).setSpacing(10);
tablePanel.add(tableChart).setSpacing(10);
dashboard.add(app.createVerticalPanel().add(filterPanel).add(chartPanel).add(tablePanel));
app.add(dashboard);
return app;
}
よろしくお願いします...