【问题标题】:Azure Data Factory - Data Flow Join Conditions SubstitutionAzure 数据工厂 - 数据流联接条件替换
【发布时间】:2021-04-24 21:25:34
【问题描述】:

是否可以通过Join in Data Flow实现如下SQL脚本?

SELECT DISTINCT 
  [landing].[ACODETEMP].[objectid] AS ActObjID, 
  MIN(CASE [landing].[ACODETEMP].[name] WHEN 'Activity Priority' THEN [landing].[ACTIVITYCODE]. 
  [codevalue] END) AS [Activity Priority], 
  MIN(CASE [landing].[ACODETEMP].[name] WHEN 'Area' THEN [landing].[ACTIVITYCODE].[codevalue] END) AS Area, 
  ...
FROM            
  [landing].[ACODETEMP]
  LEFT OUTER JOIN [landing].[ACTIVITYCODE] ON [landing].[ACODETEMP].[name] = [landing].[ACTIVITYCODE].[codetypename] 
  AND [landing].[ACODETEMP].[activitycodeobjectid] = [landing].[ACTIVITYCODE].[objected] 
  AND [landing].[ACODETEMP].[name] IN ('Activity Priority', 'Area', '...')
  GROUP BY [landing].[ACODETEMP].[objected]

我不知道如何实现替换,例如:IN ('Activity Priority', 'Area', '...')

【问题讨论】:

  • 您可以将 'Activity Priority', 'Area', '...' 保存到另一个文件,例如 csv 文件。然后将其设置为数据源并加入它。

标签: sql azure-data-factory-2


【解决方案1】:

我没看过,但如果他们没有提供“in”,那么在大括号内执行一系列“==”和“or”

示例(名称 == '活动优先级' || 名称 == '区域' || ...)

这是很多打字,但会工作。

【讨论】:

    【解决方案2】:

    您可以将'Activity Priority', 'Area', '...' 保存到另一个文件,例如 csv 文件。然后将其设置为数据源并加入它。

    例如:

    1. 我将John,Jane,Eloise保存为txt或csv,如下:

    2. 在数据流中设置为FilterSource的数据源,如下:

    3. 这是左外连接:

    4. 左外连接后,可以设置右外连接为FilterSource

    5. 然后会过滤名字,效果和in (John,Jane,Eloise)一样。

    【讨论】:

    • 嗨@Pajkatt,如果我的回答对你有帮助,请接受(标记)它作为答案。这可能对其他社区成员有益。
    【解决方案3】:

    您可以随时点击“自定义(交叉)连接”并在此处输入您的表达式

    【讨论】:

      猜你喜欢
      • 2021-12-06
      • 1970-01-01
      • 2022-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-26
      • 2020-11-26
      相关资源
      最近更新 更多