关于如何使用AthenaSQL透视数据,答案很少。它们的共同缺点是,必须事先知道输入数据中将成为数据透视版本中的列的所有值。
例如,假设输入数据如下所示:
User Fact Value
------- ---- ------
102 1 a
101 1 b
102 2 c
103 3 d
...
预期的轴心是:
User Fact_1 Fact_2 Fact_3
------- ------ ------ ------
101 b NULL NULL
102 a c NULL
103 NULL NULL d
...
现在关键的挑战是 Fact
很高(比如说~1k)。如何在不手动指定数据透视表的所有唯一值的情况下构建数据透视表 Fact
(即结果中的列)?
对于数量有限的列,如这里所建议的,我可以执行以下操作:
SELECT
User,
MAX(CASE WHEN Fact = '1' THEN Value END) AS Fact_1,
MAX(CASE WHEN Fact = '2' THEN Value END) AS Fact_2
FROM my_yable
GROUP BY User
创建具有唯一属性的表也很简单 Fact
价值观,但我不知道如何使用它。。。
暂无答案!
目前还没有任何答案,快来回答吧!