0

我有一张包含订单号、取消日期和原因的表格。原因字段是 varchar(255) 字段,它是由许多不同的销售代表编写的,很难按原因类别进行分组,我需要生成一份报告来对取消原因进行分类。用 TSQL 分析原因的最佳方法是什么?

销售代表输入的原因示例

cust already has this order going out
cust can not hold for item Called to cancel order
cust doesn't want to pay for shipping
wife ordered same item from different vendor, sent email
cst made a duplicate order, sent email
cst can't hold
Cust doesn't want to go through verification process so is cancelling order
doesn't ant to hold  for Bo
doesn't want
Cust called to cancel the order  He can no longer get the product he wants 
cnt hld
will not comply with export req
cant' hold
Custs request
Cust will not hold for BO
per. cust. request.

顺便说一句,我有 SQL Server 2005。

4

3 回答 3

4

你的问题的一部分是这些不是真正的原因代码。对我来说,这听起来像是您的架构的问题。如果没有预定义的原因代码可供参考,并且您允许针对每个原因进行自由文本输入,那么除了拉回不同的原因之外,实际上没有办法直接执行此操作,这可能不会很有用。

只是一个想法,您能否在表中添加另一列,即使它是在临时或测试环境中,然后让业务用户能够分配代码(例如,1 表示错误发货,2 表示重复订单,3 表示错误项目等)到每个订单取消。然后对其进行分析。

我认为这就是他们对你的期望,但我不知道我看到了更好的方法。如果您有权限/知识,您始终可以自己执行分析,但如果您有大量取消,这可能会很痛苦。

编辑-我现在看到你已经用正则表达式标记了这个......可以设置指定的关键字来提取条目,但是必须有一些内置的容差,并且之后仍然需要手动分析那些没有的项目'不因拼写错误等而归入任何指定类别。 /edit

于 2009-12-04T18:55:57.597 回答
1

+1 到@jmatthews,您确实需要选择原因代码,然后可能出于全部原因允许自由格式输入。

如果这不是一个选项,您可以查看text clustering。不要指望它会很快或容易,它仍然是一个开放的研究课题,并且与人工智能和机器学习有关。

于 2009-12-04T19:03:39.143 回答
1

查看 SSIS 中的 Term Lookup,这里有一篇文章可供阅读。

于 2009-12-04T19:04:50.310 回答