1

excel 由 62 列组成,7 列是固定的,其余列与一年一样有几周(第 1 周到第 52 周)

我已经使用数据流任务将 53 列取消透视为具有 2 个额外列年份和值的行。问题是我有 52 周的列名在每周数据加载时不断变化,以及如何处理数据流中列名的这种变化。对于单次运行,它给出了准确的输出

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

您在这里要做的是实现模式的后期绑定,或者 ADF 所说的“模式漂移”。不要在源投影中设置强化的“早期绑定”架构,而是将数据集架构和投影留空。

接下来,在您的源之后添加一个派生列并将其命名为“投影”。在这里,您将使用规则来构建您的投影,以说明您不断发展的模式。

使用 byName('columnname') 使用全年的列名构建规范模型。这将告诉 ADF 从源数据中查找单引号中的列是否存在,同时还提供可用于构建数据透视表的架构。

如果您需要转换值,请将 byName() 包装在转换函数中,即 toString()、toDate() 等。

在此处输入图像描述

于 2021-01-05T20:25:03.820 回答