【发布时间】:2021-06-23 11:39:10
【问题描述】:
【问题讨论】:
-
我们看不到图片。
标签: azure-data-factory transformation dataflow azure-cloud-services azure-data-lake-gen2
【问题讨论】:
标签: azure-data-factory transformation dataflow azure-cloud-services azure-data-lake-gen2
如果列数据CN=SERVICE NOW,OU=TOOL;CN=PYTHON,OU=LANGUAGE;CN=ADF,OU=CLOUD模式是固定的,那么可以使用数据流derived column表达式来实现。
数据流派生列表达式:
col1 --> {Col1 }
SERVICE NOW-->substring(split({ Col2},';')[1], 5, length(split({ Col2},';')[1])-12)
substring(split({ Col2},';')[2], 4, length(split({ Col2},';')[1])-17)
ADF --> substring(split({ Col2},';')[3], 4, length(split({ Col2},';')[1])-20)
但是如果数据是动态的,我们无法在数据工厂中进行转换,这是无法实现的。
【讨论】:
逻辑:你可以得到'CN='的第一次出现的索引和逗号的第一次出现的索引来获得它们之间的第一个单词,即Service Now。
对其他人也是如此。
如果我有时间,我会尝试用实际的语法来编辑它!
【讨论】:
字符串由;分隔。首先在派生变换中除以(所以你得到一个数组)。然后,您可以使用“map”函数提取最后一个 = 之前的字符串。您将拥有一组值(ADF/Python 等)。然后使用扁平化转换将列转换为行。
【讨论】: