我发现在我的数据集中,相同的字段/列对于某些区域具有不同的业务上下文。
我有几个市场,但让我们举个例子- GB和US。这些列中的大多数具有相同的含义,但也有对不是,如:
第一个月SB2 for US is Power Evaluation
个
而SB1 for GB is Power Evaluation
个SB2 for GB is Strength Evaluation
个
和它的情况下,在整个数据集,一个国家的SB 1是电源SB 2的力量,为另一个它的逆转,等等。理想的是在PySpark中寻找建议,但虽然我将在数据库工作,SQL可能也可以。
我的银层看起来像这样
| ID|市场|CK| SB1| SB2| SBX|列X|
| --|--|--|--|--|--|--|
| 1 |美国|1US| 2 | 1 | 9 | 9 |
| 2 |美国|2美制| 2 | 2 | 9 | 9 |
| 3 |美国|3US| 1 | 1 | 9 | 9 |
| 1 |GB| 1GB| 3 | 5 | 9 | 9 |
| 2 |GB| 2GB| 4 | 4 | 9 | 9 |
| 3 |GB| 3GB| 5 | 3 | 9 | 9 |
我猜在这种情况下,预期的输出是什么(请看SB 1 SB 2列)
| ID|市场|CK| SB1| SB2| SBX|列X|
| --|--|--|--|--|--|--|
| 1 |美国|1US| 2 | 1 | 9 | 9 |
| 2 |美国|2美制| 2 | 2 | 9 | 9 |
| 3 |美国|3US| 1 | 1 | 9 | 9 |
| 1 |GB| 1GB| 5 | 3 | 9 | 9 |
| 2 |GB| 2GB| 4 | 4 | 9 | 9 |
| 3 |GB| 3GB| 3 | 5 | 9 | 9 |
每个数据集有50多列,几乎有10个市场
有什么建议吗?有什么想法吗?我想这不能在摄取级别上解决,所以原始和策划区域不是实现它的地方。我想,策划的数据集必须进行转换,并相应地填充值
1条答案
按热度按时间k97glaaz1#
你可以使用标准的SQL特性-
CASE..WHEN
如下:字符串
或者,您也可以使用
UNION ALL
如下:型