我正在研究蜂箱表,我必须根据地理位置提取数据。我只需要过滤AMER区域的数据--我的意思是相反码列中只有一个或任何一个组合来自这个列表'ARG‘、'BHS’、'BRA‘、'CAN’、'CUB‘、'MEX’、'USA‘、'VEN'。是否有任何单元格操作符可以根据此规范过滤数据:相反代码包含来自给定列表的一个或一个组合。
提前感谢
发布于 2020-04-17 03:56:52
创建一个表格,您可以在其中进行大陆和国家地图的映射。进行内部连接并获取数据。
ie Contmaptable
country_code , continent
query wiil look like
select *
from youtable yt
join Contmaptable cm
on yt.country_code =cm.country_code
and continent = 'AMAR'发布于 2020-04-17 08:40:30
我添加了一个UDF函数:
class FilterCodePaysAMER extends UDF {
def evaluate(s1: String, a1: Array[String]): Boolean = {
s1
.replaceAll("\\[", "")
.replaceAll("\\]", "")
.split(",")
.map(x => a1.contains(x))
.reduce((b1, b2) => b1 && b2)
}所以当我调用这个函数时:
val a1 = Array("ARG", "BHS", "BRA", "CAN", "CUB", "MEX", "USA", "VEN")
filter.evaluate("[CAN,USA,ARG,USA,USA,BRA,CAN,BHS,USA,USA,VEN,CUB,MEX,USA,USA,USA,CAN,USA,TUN]", a1)它返回false,因为TUN不属于表示AMER区域的输入列表。
https://stackoverflow.com/questions/61246802
复制相似问题