使用 Google 表格宏创建具有计数聚合的图表时出现意外行为

Unexpected behaviour when using Google Sheets Macros to create Charts with Count Aggregation

我想创建一个宏来根据 2 列的信息创建图表(如下图所示):

我手动创建的图表如下所示,其中图表中的每一列都代表在该确切时间发生的交易数量,使用计数聚合功能:

我现在遇到的问题是,尽管宏明确说明要在第一个系列上使用 Count Aggregate 函数,但它似乎默认为 Sum Aggregate:

function CreateMaximumsChart() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange("G1").activate();
  var sheet = spreadsheet.getActiveSheet();

  chart = sheet
    .newChart()
    .asColumnChart()
    .addRange(spreadsheet.getRange("H1:H"))
    .addRange(spreadsheet.getRange("G1:G"))
    .setMergeStrategy(Charts.ChartMergeStrategy.MERGE_COLUMNS)
    .setTransposeRowsAndColumns(false)
    .setNumHeaders(0)
    .setHiddenDimensionStrategy(Charts.ChartHiddenDimensionStrategy.IGNORE_BOTH)
    .setOption("applyAggregateData", 0)
    .setOption("bubble.stroke", "#000000")
    .setOption("useFirstColumnAsDomain", true)
    .setOption("isStacked", "false")
    .setOption("title", "Maximums")
    .setOption("series.0.aggregateFunction", "count")
    .setPosition(8, 5, 44, 20)
    .build();
  sheet.insertChart(chart);
}

创建此图表的结果:

我做错了什么吗?宏代码在我这边看起来不错,这可能是 Google Sheets 的错误吗?

如果您注释掉添加 G1:G 范围的行,因为您没有将它用于图表,它会给出与上面相同的结果。

function CreateMaximumsChart() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange("G1").activate();
  var sheet = spreadsheet.getActiveSheet();

  chart = sheet
    .newChart()
    .asColumnChart()
    .addRange(spreadsheet.getRange("H1:H"))
//  .addRange(spreadsheet.getRange("G1:G")) // Remove this line
    .setMergeStrategy(Charts.ChartMergeStrategy.MERGE_COLUMNS)
    .setTransposeRowsAndColumns(false)
    .setNumHeaders(0)
    .setHiddenDimensionStrategy(Charts.ChartHiddenDimensionStrategy.IGNORE_BOTH)
    .setOption("applyAggregateData", 0)
    .setOption("bubble.stroke", "#000000")
    .setOption("useFirstColumnAsDomain", true)
    .setOption("isStacked", "false")
    .setOption("title", "Maximums")
    .setOption("series.0.aggregateFunction", "count")
    .setPosition(8, 5, 44, 20)
    .build();
  sheet.insertChart(chart);
}

问题似乎是您在图表中添加了一个不需要生成图表的范围。