如何像 excel 这样在 Airtable 中列总和?

How to column sum in Airtable like excel?

我正在设计airtable。
我遇到了一些问题。
我需要像 excel.
这样的列总和 例如:

Column1   Sum(Column1)
1         1
2         3
4         7
6         13

像这样。什么是解决方案? 谢谢。

Airtable 不是电子表格而是关系数据库,您正在寻找的行为无法直接重现,因为它的工作方式并不像行一样重要而且只是临时的排序 - 他们没有,所以他们不是。

我知道您可能希望得到比另一个问题更好的答案,但我只想问 - 为什么您需要在 Airtable 中执行此操作?为什么不使用数十种现成且完全免费的 spreadsheet/table 解决方案中的一种?

一般来说,特别是如果您之后不需要操作该数据(一个很大的假设),Airtable 已经在运行中进行了您想要的计算,并将其存储为元数据的一部分.

使用一个自动编号字段、链接记录(到另一个 table 实际上轮询值)和汇总返回数据的组合,可以实现逐行添加。我以前做过一次或两次,但它总是一个过度设计的混乱,即使我只需要像你的例子那样处理小整数。

目前 Airtable 正在进行 Google Drive sync 测试。得到它并在其他地方进行您需要的计算?

替代方案是脚本应用程序,但它可能会影响您的自动化配额。并且通过“手动”重新计算字段...... 委婉地说,并不复杂。

但是,嘿,不要相信我的话;好奇心和怀旧情绪战胜了我,所以我代表你又做了一次徒劳的努力,here's my best take 在这样一个过度设计的全域求和函数的混乱中,使用起来非常烦人,但至少不能全部使用更新记录的一天,即使有成百上千的输入。

所以,是的...适合工作的工具等等:这不是它,长官,请做客。您可以从 Universe 克隆基础,一切都准备好进行测试,只需继续创建新字段或删除现有的几个字段,然后点击连接到基础的唯一应用程序的“运行 脚本”按钮即可查看它重新计算总和。

代码在这里转储,如果有人想手动设置新的测试环境:

    let table = base.getTable('Table 1');
let query = await table.selectRecordsAsync()
let cellsToAdd = [];
let sum = 0;

const keepSumming = x => sum += x ;

query.records.forEach( x => cellsToAdd.push(
    {
        "id": x.id, 
            fields:{
                "Column1":x.getCellValue('Column1'),
                "Sum":keepSumming(x.getCellValue('Column1')) 
            }
       }
        ));

//Airtable limits us to 50 table mutations per request, hence the splicing
while(cellsToAdd.length>0){
    await table.updateRecordsAsync(
        cellsToAdd.splice(0,50)
        )
};

Airtable 现在似乎为此内置了一项功能。至少在桌面应用程序中,向下查看所有行下方每列的底部。该列有一个上下文菜单,其中 Sum 是几个选项之一。