读者提问
想请教下,我使用rollup对书库的书籍进行一些数据统计时,我发现字段只能选status时,rollup才可以对不同状态进行calculate-count per group,select则不行。
但是这里有个问题,比如我的书籍状态有的是暂停和弃读,这俩个状态准确来说我不想归入到status固定的3个状态里(to-do、in progress、complete)。
请问有什么别的法子可以让rollup对select下的不同选项也进行calculate-count per group吗?
我的回答
首先,要想出现 count per group 这个选项的前提,是要有 Group,而 Select 意味着每个选项都是互相独立的,不成组的,所以自然不会出现这个选项。
而 Status 本就是三种元状态的合集,具体可以看课程的 2.7 篇 ,有关于 Status(状态)这个字段的详细解读。
所以最佳的解决方案就是弃用 Rollup,用更自由、更强大的函数来解决这个问题。
1 | lets( |
解读一下上面的这个函数:
- 定义变量 all:
读书.map(current.名称).length()
统计”读书”数据库中所有条目的数量 - 定义变量 done:
读书.filter(current.单选=="已读完").length()
筛选出”单选”属性为”已读完”的条目数量 - 计算百分比:
((done/all)*100).round()+"%"
将已读完的数量除以总数,乘以100,四舍五入后加上百分号符号
掌握上面这个函数,就可以计算出任意 Select 选项的百分比了。
关联阅读: