首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据另一列中的值添加列

根据另一列中的值添加列
EN

Stack Overflow用户
提问于 2013-12-09 18:28:51
回答 1查看 3.1K关注 0票数 3

我有一个元组的专栏,名为avg_rating。我想根据avg_rating中的值创建一个新的列NPS。下面是avg_rating数据的样子

代码语言:javascript
运行
复制
avg_rating
3
4
8
9
10

因此,如果评级为>= 8,则如果评级介于4-8之间,则如果评级小于4,则NPS为D。

以下是我所尝试的,

代码语言:javascript
运行
复制
yy = FOREACH avg_rating GENERATE avg_rating,((int)wtr>=8 ?'P':(int)wtr>=4 && (int)wtr<8 ?'PR':'D');

我在turnery算子中使用了多个条件,但给出了错误

语法错误,“(”)或“附近”处的意外符号

你知道这有什么不对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-09 20:42:33

这里有几个问题。

  1. 不能生成avg_rating
  2. 而不是&&
  3. 嵌入三元周围的另一组括号。

这篇文章分析:

代码语言:javascript
运行
复制
avg_rating = load '/tmp' using PigStorage('\t') as (wtr:INT);

yy = FOREACH avg_rating GENERATE 
wtr,
((int)wtr>=8 ? 'P' : ((int)wtr>=4 and (int)wtr<8 ? 'PR' : 'D')) as v;

describe yy;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20477924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档