结构化数据中的从属判断问题

本文详细介绍了结构化数据中如何进行从属判断,包括集合包含性检测、外键映射的包含性和不包含性检测以及非外键的包含性检测。通过具体的例子展示了使用esProc进行数据过滤和匹配的方法,如使用A.contain()函数进行高效的数据筛选。
摘要由CSDN通过智能技术生成

【摘要】
    从数据表中选出数据时,有时需要判断成员是否从属于某一个集合。例如从房价表中选出重要城市的房价信息,从销售表中选出 VIP 客户的销售记录等等。如何简便快捷的处理结构化数据中的从属判断问题,这里为你全程解析,并提供 esProc 示例代码。结构化数据中的从属判断问题

 

1. 集合包含性检测

在一个表中,根据集合的包含性判断查找记录。

【例 1】 在员工表中,统计一线城市各部门的平均工资。部分数据如下:

ID NAME CITY SALARY
1 Rebecca Tianjin 7000
2 Ashley Tianjin 11000
3 Rachel Shijiazhuang 9000
4 Emily Shenzhen 7000
5 Ashley Nanjing 16000

【解题思路】

    从员工表选出数据时,需要判断员工的所在城市是否从属于由北京、上海、广州、深圳组成的常数集合。当集合的成员数小于 10 个时,可以使用函数 A.contain() 进行过滤。

【SPL 脚本】

  A B
1 =connect("db").query("select   * from Employee") /连接数据库并查询员工表
2 [Beijing, Shanghai, Guangzhou, Shenzhen] /创建一线城市的常数集合
3 =A1.select(A2.contain(CITY)) /使用函数 A.contain() 选出所在城市包含在一线城市中的记录。
4 =A3.groups(DEPT; avg(SALARY):SALARY) /分组汇总各部门的平均工资

A4的执行结果如下:

DEPT SALARY
Finance 7833.33
HR 7187.5
Marketing 7977.27

 

在一个表中,根据较大集合的包含性判断来查找记录。

【例 2】 在销售表中,统计 2014 年大客户的每月销售额。部分数据如下:

ID Customer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值