Azure数据工厂数据流使用基于规则的Map进行扁平化转换

7xllpg7q  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(102)

我正在处理一个xml文件,以便展平并加载到一个舞台区域。xml层次结构数组元素具有不同的列数。对于Eg:author元素包含:id、name、book在一个文件和下一个文件中可能包含一个名为publishername的附加列。
我已经尝试使用基于规则的Map表达式来解决这个问题,使用下面的表达式,如(name,'publishernname %')。
但如果存在的话,它不返回列和记录?有什么解决办法吗?任何帮助都将是可取的。
问候,桑迪普

hrirmatl

hrirmatl1#

  • 在展平变换中,单击+Add mapping,然后单击Rule based mapping


的数据

  • 在我的示例XML文件中,在www.example.com下catalog.book,我有一个名为Author的子列。这里,我测试了是否存在名为AuthorPublishersName的子列。如果存在,则这些列Map到输出。为了做到这一点
  • 在源列中,键入locate('author',lower(name))==1并给予子列存在的层次结构级别。将其命名为Author。如果在列名的开头找到子字符串'author',则表达式locate('author',lower(name))==1返回true,否则返回false
  • 类似地,对于子列PublishersName,也给出类似的表达式。


  • 输出只有作者列。由于输入中没有名称为PublishersName%的列,因此接收器中也没有这样的列。


相关问题