《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 :被查找的列

posted @   Bobby0322  阅读(682)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示