我正在尝试使用Azure数据工厂进行派生列转换任务,我的任务之一如下所述,描述_文本:联合利华集团#####英国删除尾部国家代码(仅当其等于国家时)和#####(如果存在)我在表达式生成器中的代码:replace(原始描述文本,国家代码,子字符串(原始描述文本,0,指令(原始描述文本,'#')-1))这并不像我预期的那样有效(Out输入为:联合利华集团#####联合利华集团)预期输出为UNILEVER GROUP。请帮我解决这个问题。
bzzcjhmw1#
我已经复制了上述内容,并能够实现您的要求使用iif的数据流表达式如下。
iif
iif(and(greater(instr(ORIGINAL_DESCRIPTION_TEXT,'#'),0),greater(instr(ORIGINAL_DESCRIPTION_TEXT, $country_code),0)), substring(ORIGINAL_DESCRIPTION_TEXT, 0, instr(ORIGINAL_DESCRIPTION_TEXT,'#')-1), ORIGINAL_DESCRIPTION_TEXT)
这里country_code是一个参数,我给出的值为'GBR'。如果ORIGINAL_DESCRIPTION_TEXT列包含'#'和country_code y,则它存储从开始到'#'索引的字符串。否则,它存储同一列,不做任何更改。
country_code
'GBR'
ORIGINAL_DESCRIPTION_TEXT
'#'
1条答案
按热度按时间bzzcjhmw1#
我已经复制了上述内容,并能够实现您的要求使用
iif
的数据流表达式如下。这里
country_code
是一个参数,我给出的值为'GBR'
。如果
ORIGINAL_DESCRIPTION_TEXT
列包含'#'
和country_code
y,则它存储从开始到'#'
索引的字符串。否则,它存储同一列,不做任何更改。