在数据流(ADF)中拆分 json 字符串行或展平转换

问题描述 投票:0回答:1

使用突触数据流,我想将下面的 json 格式转换为表格格式,其中一列作为日期,另一列作为总计

{
"2023-12-11T00:00:00+01:00": 1272,
"2023-12-12T00:00:00+01:00": 1436,
"2023-12-13T00:00:00+01:00": 1173,
"2023-12-14T00:00:00+01:00": 1083,
"2023-12-15T00:00:00+01:00": 1231,
"2023-12-16T00:00:00+01:00": 854,
"2023-12-17T00:00:00+01:00": 805,
"2023-12-18T00:00:00+01:00": 1021,
"2023-12-19T00:00:00+01:00": 1112,
"2023-12-20T00:00:00+01:00": 1192,
"2023-12-21T00:00:00+01:00": 1071,
"2023-12-22T00:00:00+01:00": 1089,
"2023-12-23T00:00:00+01:00": 942,
"2023-12-24T00:00:00+01:00": 879,
"2023-12-25T00:00:00+01:00": 911,
"2023-12-26T00:00:00+01:00": 1167,
"2023-12-27T00:00:00+01:00": 1070,
"2023-12-28T00:00:00+01:00": 1172,
"2023-12-29T00:00:00+01:00": 953,
"2023-12-30T00:00:00+01:00": 780,
"2023-12-31T00:00:00+01:00": 749,
"2024-01-01T00:00:00+01:00": 703,
"2024-01-02T00:00:00+01:00": 1045
}
日期 总计
2023-12-11 1272
2023-12-12 1436
2023-12-13 1173
2023-12-14 1083
azure-data-factory google-cloud-dataflow azure-synapse azure-synapse-analytics azure-synapse-pipeline
1个回答
0
投票

您可以使用Unpivot转换来实现您的要求。

首先进行选择转换,并使用基于规则的映射和表达式

split($$,'T')[1]
从日期列名称中删除多余的字符。

enter image description here

然后,进行派生列转换并创建一个新列

key
并为其赋予任何字符串值。这将在稍后的 Unpivot 转换中使用。

enter image description here

现在,进行 Unpivot 转换并在其中给出以下配置。

取消分组依据

key

取消旋转键

取消透视列名称:

date
逆透视列类型:
string

enter image description here

未旋转的列:

enter image description here

如果需要,您可以通过启用上述设置来删除空值。

这将给出如下结果。

enter image description here

现在,使用选择另一个转换并删除多余的列

key

enter image description here

这将是预期的结果。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.