gpt4 book ai didi

google-apps-script - 使用 "Release Number"列对 TableChart 进行排序

转载 作者:行者123 更新时间:2023-12-02 05:04:01 34 4
gpt4 key购买 nike

给定一个包含“Release Numbers”列的数据表,如何在该列上正确排序生成的 TableChart?

这些是表示“版本号”的字母数字字符串的示例:

"1.0", "12.0.1", "2.10", "2.0.0.142", "2.0.0.1_2", "10.2"

此示例所需的排序顺序为:
"1.0", "2.0.0.2", "2.0.0.142", "2.10", "10.2", "12.0.1" 

由于这些值的格式,它们必须被视为“字符串”,因此按字母顺序排序。这会导致列表不符合逻辑“发布”顺序:
"1.0", "10.2", "12.0.1", "2.0.0.142", "2.0.0.2", "2.10" 

有许多比较值的解决方案,所以这不是这个问题的重点。相反,如何在 Google Apps 脚本的范围内对这些“字符串”进行自定义排序?

相关文章:
  • How to compare software version number using js? (only number)
  • How to sort varchar column (SQL) that contains number, chars, characters?
  • How Can I Sort A 'Version Number' Column Generically Using a SQL Server Query

  • 这是一个几乎直接取自 Gustavo Moura 的代码片段.

    你可以试试我的版本 here .
    function doGet() {    
    // Populate the DataTable. We'll have the data labels in
    // the first column, "Quarter", and then add two data columns,
    // for "Income" and "Expenses"
    var dataTable = Charts.newDataTable()
    .addColumn(Charts.ColumnType.STRING, "Release")
    .addColumn(Charts.ColumnType.NUMBER, "Income")
    .addColumn(Charts.ColumnType.NUMBER, "Expenses")
    .addRow(["1.0", 60, 55])
    .addRow(["10.2", 50, 60])
    .addRow(["2.10", 100, 50])
    .addRow(["12.0.1", 70, 60])
    .addRow(["2.0.0.142", 30, 50])
    .addRow(["2.0.0.1_2", 114, 75])
    .build();

    // Build the chart.
    var chart = Charts.newTableChart()
    .setDataTable(dataTable)
    // .setTitle("Income and Expenses per Release")
    .build();

    // Add our chart to the UI and return it so that we can publish
    // this UI as a service and access it via a URL.
    var ui = UiApp.createApplication();
    ui.add(chart);
    return ui;
    }

    最佳答案

    您不能为 Charts 数据表提供排序功能。但是,在将数据添加到表之前,您可以对数据进行自己的排序。将每一行插入一个数组,并使用您自己的排序函数调用 .sort() ,该函数比较每行第一个索引中的版本号。您发布的第一个链接看起来有一个很好的答案。

    如果要保持表格图表中的数据排序,请禁用 TableChart 上的排序,以便用户无法更改排序。

    .setOption("sort", "disable")

    我没有尝试过,但我不认为谷歌会自动对数据进行排序,打破你自己的排序。

    关于google-apps-script - 使用 "Release Number"列对 TableChart 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13715813/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com