qlikview MapSubString

Posted

技术标签:

【中文标题】qlikview 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”匹配的示例行 【参考方案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之前和之后添加它

以上是关于qlikview MapSubString的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 QlikView 加载 RData 文件?

QlikView 学习资料

QlikView 学习资料

将版本控制系统与 QlikView 一起使用

在 Qlikview 中循环和限定加载

事实表中的多个字段引用一维 Qlikview