《BI那点儿事》数据流转换——字词查找转换
字词查找转换将从转换输入列的文本中提取的字词与引用表中的字词进行匹配,然后计算出查找表中的字词在输入数据集中出现的次数,并将计数与引用表中的此字词一并写入转换输出的列中。此转换对于创建基于输入文本并带有词频统计信息的自定义词列表很有用。
本章功能:取出一个表中某字段的数据,并取出另一个表中的关键词,判断关键词在源记录中出现的次数。
创建模拟数据:
--用于查找的表 CREATE TABLE [CustFeedback] ( [Srlno] INT IDENTITY(1, 1) , [UserID] INT , [Feedback] NVARCHAR(100) ) GO --关键词表 CREATE TABLE [SearchKey] ( [Srlno] INT IDENTITY(1, 1) , [Keyword] NVARCHAR(100) ) GO INSERT INTO [CustFeedback] ( [UserID], [Feedback] ) VALUES ( 100, 'Heard Touch screen' ), ( 101, 'Smooth slicing' ), ( 102, 'Getting problem in installing new application' ), ( 103, 'Application get hangs duringcall' ), ( 104, 'Touch screen not working properly' ), ( 105, 'No long battery backup' ), ( 106, 'Phone get hang while playing games' ), ( 107, 'Screen size is too small' ), ( 108, 'Qualty of screen guard is bad' ), ( 109, 'Bilt-in memory is too small' ), ( 110, 'rescreen' ), ( 111, 'Screen and Screen' ) GO INSERT INTO [SearchKey] ( [Keyword] ) VALUES ( 'screen' ), ( 'Touch screen not working properly' ) GO SELECT * FROM CustFeedback SELECT * FROM SearchKey SELECT *
创建一个【数据流任务】,双击编辑。首先,创建一个数据流源【OLE DB 源】
编辑【OLE DB 源】,连接用于查找的表。
添加【数据转换】组件。字词查找转换只能使用数据类型为 DT_WSTR 或 DT_NTEXT 的列。如果列包含文本,但不具有这两种数据类型之一,则数据转换可以将数据类型为 DT_WSTR 或 DT_NTEXT 的列添加到数据流,并将列值复制到新列。然后,数据转换的输出就可以用作字词查找转换的输入。
编辑组件。将被用于查找的列 Feedback 转变数据类型为 Unicode 文本流[DT_NTEXT],输出名字改为Converted_Feedback。
添加【字词查找】组件到数据流:
编辑组件,只能以 OEL DB 方式连接数据库。连接数据库,引用关键词表:
点击选项 字词查找,设置查找引用,将可输入列Converted_Feedback】关联到可引用列【Keyword】。
并且勾选UserID和Converted_Feedback作为输出。
高级选项还可以设置是否区分大小写查找。关键词会忽略首字母为大写的。
添加,目标组件【OLE DB 目标】:
编辑组件,连接到任意数据库,新建一个表:
erms : 在输入列中找到的关键词
Frequency :每行出现关键词的次数
UserID : 表CustFeedback 的UserID列
Converted_Feedback :被查找的列