Charts.newDataTable() 不适用于日期

Charts.newDataTable() not working with Dates

在 Google 广告脚本中,我正在尝试创建一个基本折线图,如下所述: https://developers.google.com/apps-script/reference/charts/line-chart-builder

我要绘制图表的数据是日期 X 点击次数。

我可以使用来自 Google 广告的数据生成图表,但是,Dates 被格式化为 Strings 而不是导致其他问题的图表中的实际日期。

例如,此代码将处理我的数据,但将日期格式化为图表中的字符串:

var dataBuilder = Charts.newDataTable();  
dataBuilder.addColumn(Charts.ColumnType.STRING, 'Date');
dataBuilder.addColumn(Charts.ColumnType.NUMBER, 'Clicks');

当我尝试这段代码时,它不起作用:

var dataBuilder = Charts.newDataTable();  
dataBuilder.addColumn(Charts.ColumnType.DATE, 'Date');
dataBuilder.addColumn(Charts.ColumnType.NUMBER, 'Clicks');

我尝试将日期数据转换为: ["2019-09-27",75],["2019-09-29",102],["2019-9-30",112]

像这样: ["new Date(2019,9,27)",75],["new Date(2019,9,29)",102],["new Date(2019,9,30)",112]

根据我在此处找到的文档:https://developers.google.com/chart/interactive/docs/datesandtimes

但这似乎不起作用。

有什么建议吗?

最后,我通过将 Google 广告数据导出到 Google Sheet 然后将 sheet 读回 Google 图表广告。

我做了这样的事情,对我有用:

function BuildChart(myMetric, ssName) {

  //Load the spreadsheeet
  var sheet = ss.getSheetByName(ssName);

  //Grab all the data in the sheet
  var data = sheet.getRange('A1:B29').getValues();

  //Start Building the data table
  var dataTable = Charts.newDataTable();

  dataTable.addColumn(Charts.ColumnType.DATE, data[0][0]);
  dataTable.addColumn(Charts.ColumnType.NUMBER, data[0][1]);

  //Add rows
  for(var j=1; j<data.length; j++){
    Logger.log(data[0][1] + ':' + data[j])
    dataTable.addRow([data[j][0],data[j][1]]);
  }

  //Create and build chart
  var chartBuilder = Charts.newLineChart()
      .setDataTable(dataTable)
      .setTitle(myMetric + ' over the past 28 days')
      .setXAxisTitle('Date')
      .setYAxisTitle(myMetric)
      .setDimensions(850, 350)
      .setOption('legend.position', 'none')
      .setOption('trendlines', {'type':'linear','color':'purple'})
      .setCurveStyle(Charts.CurveStyle.NORMAL)
      .setPointStyle(Charts.PointStyle.MEDIUM);      

  var chart = chartBuilder.build();

  return chart;
}