【问题标题】:qlikview MapSubStringqlikview MapSubString
【发布时间】:2020-03-09 02:58:34
【问题描述】:

我正在使用 MapSubString 的映射加载,但它不适用于搜索以文本开头和结尾的句子。 例如:以下所有情况都将映射到网络故障。

  • 网元故障
  • 网络无线电设备故障
  • 网络出现未知故障

所以搜索必须是 Network*fault 之类的 我无法使用 wildmatch,因为我有大约 280 个要搜索的关键字。

提前致谢

Keywords:
Mapping load Upper(Keyword) as Keyword, '$' &Todo& '~' as Todo
FROM [$(ROOTPATH)\Config\projects\$(vPROJECTNAME)\Ticket_Defect_Keyword.xlsx]
(ooxml, embedded labels, table is Sheet1);

load ticket_id, TextBetween(MapSubString('Keywords', Upper(Remark&'-'&Failure_Detail)), '$', '~') as Keyword_Data
FROM F_TICKET

【问题讨论】:

  • 请分享一些应该与“Ticket_Defect_Keyword.xlsx”和“F_TICKET”匹配的示例行

标签: qlikview loaddata


【解决方案1】:

你的映射负载包括'$'和'~':

'$' &Todo& '~'

TextBetween 不会包含它们。它只会选择它们之间的文本,不包括“$”和“~”。

因此,您肯定需要从映射加载中删除 '$' 和 '~':

Keywords:
Mapping load 
    Upper(Keyword) as Keyword, 
    Todo
FROM 
    [$(ROOTPATH)\Config\projects\$(vPROJECTNAME)\Ticket_Defect_Keyword.xlsx]
    (ooxml, embedded labels, table is Sheet1);

load 
    ticket_id, 
    TextBetween(
        MapSubString('Keywords', Upper(Remark&'-'&Failure_Detail))
    , '$', '~') as Keyword_Data
FROM 
    F_TICKET

【讨论】:

  • 如果我不使用 '$' &Todo& '~' 进行映射,todo 的结果是在匹配后添加字符串的其余部分。文本:这是计划工作后发生的网络故障。待办事项的结果是:计划工作后发生网络故障,而不是网络故障
  • 所以实际上 $ 和 ~ 我用来影响“待办事项”而不是搜索
  • 所以或者你需要在TextBetween之前和之后添加它
猜你喜欢
  • 1970-01-01
  • 2015-04-03
  • 2017-07-22
  • 2015-10-07
  • 2018-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-30
相关资源
最近更新 更多