发新话题
打印

(视频教程,带语音) 如何使用数据集字段作总计?

(视频教程,带语音) 如何使用数据集字段作总计?

简表中,有几种字段类型:
1.数据集字段。从数据集节点中取得的字段,比如5楼示例中的"订单.金额",数据集字段是一个数组,所以,对于数据值型的字段,你可以进行sum,max,length等运算,比如:
复制内容到剪贴板
代码:
=订单.金额.sum() + 订单.金额.count()
2.行字段,从Row节点上引出的字段,多数情况下,Row节点,都是当前节点,所以用"$"表示当前节点,因此用 "$.金额" 表示行字段,行字段是一个单值,你不能进行数组的运算,比如sum等。
3.分组字段,分组字段是从分组节点上,引用出来的字段, 也是一个数组,这个同数据集字段似;
4.索引字段,就是从索引节点上引用的字段。通过为索引字段,加上"{}"运算符,可以得到指定键值的字段值,
比如,你有
员工表
---------------------
id,姓名,年龄
---------------------
你想根据id,找到某人的姓名,那么你可以创建一个"员工表"的数据集节点,并在下面,创建一个索引节点"id2name",索引字段指定为"id",如下所示:
复制内容到剪贴板
代码:
员工表[id|姓名|年龄]
    \--id2name{id}
那么你就可以在脚本上,写
复制内容到剪贴板
代码:
=id2name.姓名{"001"};//得到id是"001"的员工姓名
当然,这样写死,是没有多大意义的,大多数情况下,键值是按公式取的,比如上例中的 "=订单.@产品{$年份}"的"$年份"是动态的.

下面来说说"@"这个符号。
最新版本的简表中,为了使模型更简单,允许将索引节点直接创建数据集节点里,当然,一个数据集节点上,最多能指定一个索引节点。那么本例中的数据模型可以类似这种形式了:
复制内容到剪贴板
代码:
员工表[{id}|姓名|年龄]
但这里会产生一个问题,就是 "员工表.年龄",这表示啥类型的字段,是数据集字段,还是索引字段呢,因为两种字段,用法上面已经讲了,是不一样的。所以,我们用了一个方法,如果是@开始来标识索引字段,不加@的,表示数据库字段
员工表.姓名        // 数据集字段
员工表.@姓名       // 索引字段
复制内容到剪贴板
代码:
=员工表.@姓名{"001"}   // 正确,对索引字段,进行{}运算,
=员式表.姓名{"001"}    // 错误,不能对数据集字段进行{}运算
5.交叉索引字段,

TOP

下面是视频演示:

TOP

发新话题