azure - 使用 SQL 在数据 block 中进行逆透视操作?

标签 azure databricks azure-databricks

我在 azure data bricks 中有一个名为 tbl1 的表,我想使用 SQL 执行简单的 unpivot 操作。我是 SQL 和 DataBricks 的新手。我按照网上教程执行了 unpivot 操作。基于此,我想出了以下语法。但。我收到此消息 您的 SQL 语法有错误;似乎错误是围绕:'unpivot(详细信息高度IN(ucol1,ucol2,ucol3))'连续错误。

unpivot 操作的 SQL 语法。

%sql

Select date_format(X.Date,'dd-MMM')Datee
      ,X.width
      ,X.height
      ,X.details
      ,X.col1  
From
(
Select 
Datee,width,B.details,col1,height, from tbl1 A,
Unpivot
(
height 
for details IN (
       ucol1, ucol2, ucol3
)) B
GROUP BY Datee,width,B.Details,height,col1

)X

上面的SQL语法有问题吗? 任何提示都将是值得赞赏的。 如果您需要更多详细信息,请告诉我。

最佳答案

您可以在 Spark SQL 中使用stack来取消透视,例如

SELECT
    DATE_FORMAT( Date, 'dd-MMM') x,
    STACK( 3, ucol1, ucol2, ucol3 )
FROM tbl1;

如果您提供一些简单的示例数据和预期结果,将会很有帮助,因为您的查询不适用于任何语言,因此您并不 100% 清楚您需要什么。

关于azure - 使用 SQL 在数据 block 中进行逆透视操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71172831/

相关文章:

azure - Windows Azure,创建 Debian 虚拟机,配置问题

Powershell 创建新的 Windows 10 虚拟机

azure - 如何下载 Azure 数据工厂中失败的管道运行?

azure-databricks - 如何在 Databricks 上使用 Azure Spot 实例

azure - 如何为 Databricks 的 azure daafactory 覆盖 CI/CD 管道的参数(工作区 Url 和集群 ID)

pyspark - Hyperopt 无法使用跟踪 URI : databricks 执行 mlflow.end_run()

azure - 是否可以使用 SAS token 的直接链接打开 Azure 存储资源管理器?

azure - 删除已注册的 IoT 设备

json - 从 databricks 事件的 runOutput 参数中提取嵌套信息

azure - 从所有表的 azure databricks 数据库列获取值