《BI那点儿事》数据流转换——字词查找转换

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

时间: 2024-08-24 22:37:24

《BI那点儿事》数据流转换——字词查找转换的相关文章

《BI那点儿事—数据的艺术》目录索引

转自:http://www.cnblogs.com/Bobby0322/p/4052495.html 原创·<BI那点儿事—数据的艺术>教程免费发布 各位园友,大家好,我是Bobby,在学习BI和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料,本来只是内部学习使用,但为了方便更多的BI开发者,推动BI企业级应用开发,决定整理成一部教程,并在网络上免费发布该教程,希望为BI时代贡献绵薄之力! 本教程是由Bobby参考官方文档,综合市面相关书籍,经过充分的吸收消化,结合开发实践的而创

《BI那点儿事》数据流转换——查找转换

原文:<BI那点儿事>数据流转换--查找转换 查找转换通过联接输入列中的数据和引用数据集中的列来执行查找.是完全匹配查找.在源表中查找与字表能关联的所有源表记录.准备数据.源表 T_QualMoisture_Middle_Detail字典表 T_DIC_QualProcess数据流任务设计图: 设计步骤:

《BI那点儿事》数据流转换——透视

原文:<BI那点儿事>数据流转换--透视 这个和T-SQL中的PIVOT和UNPIVOT的作用是一样的.数据透视转换可以将数据规范或使它在报表中更具可读性. 通过透视列值的输入数据,透视转换将规范的数据集转变成规范程度稍低.但更为简洁的版本.例如,在列有客户名称.产品和购买数量的规范的 Orders 数据集中,任何购买多种产品的客户都有多行,每一行显示一种产品的详细订购信息.此时,如果对产品列透视数据集,透视转换可以输出每个客户只有一行的数据集.这一行列出该客户购买的所有产品,产品名称显示为列

《BI那点儿事》数据流转换——模糊查找转换

原文:<BI那点儿事>数据流转换--模糊查找转换 BI项目中经常会有一些提取,转换,数据处理(ELT)的工作,其中最主要的是处理过赃数据.假设在项目中我们向数据库中注入了测试数据,但是通过一个外键从另外一个表中载入数据的时候没有对应的数据,那么这一行就是赃数据.这时候可以使用SQL中的Sound-Ex,full-text,相似度算法等方法查找.这种策略需要花费大量的时间和精力来设计算法,测试,维护,并且它们都是基于词汇的,复用的可能性很小.也可能你会放弃自己处理并把它抛给一些有经验的高手专家来

《BI那点儿事》数据流转换——逆透视转换

原文:<BI那点儿事>数据流转换--逆透视转换 逆透视转换将来自单个记录中多个列的值扩展为单个列中具有同样值的多个记录,使得非规范的数据集成为较规范的版本.例如,每个客户在列出客户名的数据集中各占一行,在该行的各列中显示购买的产品和数量.逆透视转换将数据集规范之后,客户购买的每种产品在该数据集中各占一行. 我们下一步是进行逆透视.与透视配置不同,逆透视配置相对简单. 你将需要选择透视字段,在这个例子中透视字段是Ham.Soda.Milk.Beer和Chips.透视字段名称将出现在标题为Prod

《BI那点儿事》数据流转换——数据转换

原文:<BI那点儿事>数据流转换--数据转换 数据转换执行类似于T-SQL中的函数CONVERT或CAST的功能.数据转换的编辑界面如图,选择需要转换的列,在DataType下拉列表中选择需要的数据类型.Output Alias栏内设置输出时使用的别名.

《BI那点儿事》数据流转换——聚合

原文:<BI那点儿事>数据流转换--聚合 聚合转换可以像T-SQL中的函数GROUP BY, Average, Minimum, Maximum, 和 Count一样对数据进行聚合运算.在图中可以看到数据以SampleID分组,对TotalSugar做Average.Maximum.Minimum.Count操作.这样产生了4列新的数据,供其他操作. 在聚合操作编辑器Aggregate Transformation Editor,首先选择需要进行聚合操作的列,然后选中的列将会出现在下面的一个表

《BI那点儿事》数据流转换——多播、Union All、合并、合并联接

原文:<BI那点儿事>数据流转换--多播.Union All.合并.合并联接 建立测试数据: CREATE TABLE FactResults ( Name VARCHAR(50) , Course VARCHAR(50) , Score INT ) INSERT INTO FactResults ( Name , Course , Score ) SELECT '张三' , '语文' , 90 UNION ALL SELECT '张三' , '数学' , 83 UNION ALL SELEC

《BI那点儿事》数据流转换——派生列

原文:<BI那点儿事>数据流转换--派生列 派生列转换通过对转换输入列应用表达式来创建新列值. 表达式可以包含来自转换输入的变量.函数.运算符和列的任意组合. 结果可作为新列添加,也可作为替换值插入到现有列. 派生列转换可定义多个派生列,任何变量或输入列都可以出现在多个表达式中.可以使用此转换执行下列任务: 将不同列的数据连接到一个派生列中. 例如,可以使用表达式 FirstName + " " + LastName 将 FirstName 和 LastName 列中的值组