0

我正在处理一个投诉数据集,我正在从关键字字典中寻找与数据集匹配的关键字。

这是关键字字典 -

示例关键字字典

-------------------------

借记卡

信用卡

自动柜员机

贷款

样本数据集 -

在此处输入图像描述

并且,样本输出 -

在此处输入图像描述

也就是说,我希望关键字字典中的关键字与我的数据集中的“投诉描述”列相匹配。而且,我希望只有匹配的关键字显示在“匹配的关键字”列和“计数”列中匹配的总关键字计数。

这只是一个示例,我的实际数据集很大,而且它可能还涉及外语的“投诉描述”。你能帮我看看如何去做吗?

非常感谢!!

4

1 回答 1

3

假设您的示例数据表是[Sample Data-set]并且您将关键字保存在名为[Keyword](列名Keyword)的表中。尝试这个:

WITH CTE AS
(
SELECT Detail.*, [Keywords Matched] = STUFF((select ',' + Keyword
    FROM KEYWORD as b
    WHERE Detail.[Complaint Description] like '%' + b.Keyword + '%'
    ORDER BY Keyword DESC
    FOR XML PATH('')), 1,1,'')
FROM [Sample Data-set] as Detail
GROUP BY Detail.BranchID, Detail.Portfolio, Detail.[Complaint Description]
)
SELECT *, len([Keywords Matched]) - len(replace([Keywords Matched], ',','')) + 1 as [Count]
FROM CTE
GROUP BY  BranchID, Portfolio, [Complaint Description], [Keywords Matched]
于 2016-07-18T17:40:22.703 回答