我正在处理投诉数据集&我正在寻找关键字字典中与数据集匹配的关键字。
这是关键字词典 -
示例关键字词典
-------------------------
借记卡
信用卡
ATM
贷款
示例数据集
并且,示例输出 -
也就是说,我希望关键字词典中的关键字与我的数据集中的“投诉描述”列相匹配。并且,我希望只有匹配的关键字才能显示在“关键字匹配”栏中。 “计数”列中匹配的总关键字数。
这只是一个样本&我的实际数据集是巨大的,它也可能涉及外语的“投诉描述”。你能帮我解决一下吗?
非常感谢!!
答案 0 :(得分: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]