在模糊查找中我们提到脏数据是怎样进入到表中的事情,主要还是由于一些“Lazy-add”造成的。这种情况我们的肉眼很容易被欺骗,看上去是同一个单词,其实就差那么一个字母,变成了两个不同的单词。一个简单的例子是X-Ray Tech和xRey,我们很有可能认为他们是同一个职务,CT操作员,但是如果让计算机来处理的话,它们是两种截然不同的东西。
和模糊查找一样,模糊分组可以查找出多行中出现的类似的单词进行归类。我们可以使用这些归类得到的结果清洗数据源或者在不修改基础数据的情况下对原表进行修改。模糊分组也需要一个输入字符流,还需要一个OLE DB数据连接,用于存放分析得到的结果。

模糊分组任务的编辑界面有下面三个标签

  • 连接管理:这个标签用来设置OLE DB连接,在这个连接的数据库中存放分组结果,这个标签和前面提到的是一样的效果
  • 列:这个标签显示输入流中的列,在这里需要选择一些需要进行模糊分组的列。每一个被选中的列将会被分析,产生一些新的结果列。如果没有选择的话,这些列将会被标记为PassThrow列,意思是不进行模糊分组,直接将导出到输出流中。在这里也可以根据自己的意愿修改Group Output Alias,Output Alias,CleanMatch和Similarity Alias的名字。Numerals选项,如图2,这个选项有前导,后导,前导和后导,不用前导后导,四个选项。在对类似地址的一些数据进行模糊分组的时候这个选项会很有用。最后有一个Comparison flags选项可以设置忽略大小写,忽略符号等设置。
  • 高级:这个标签选项中可以设置与模糊分组算法有关的选项。在这里可以修改将要派生的三个列的列名,默认情况下它们分别是“_key_out”,“_key_in”,“_score”。下面的Similarity threshold可以控制相似度,默认的值是0.5。分隔符选项中可以设置忽略输入字符流中的“.”或空字符等,默认情况下会忽略所有常见字符。

下面我们做一个例子来说明模糊分组的用法。







执行结果:

《BI那点儿事》数据流转换——模糊分组转换的更多相关文章

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

    原创·<BI那点儿事—数据的艺术>教程免费发布 各位园友,大家好,我是Bobby,在学习BI和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料,本来只是内部学习使用,但为了方便 ...

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

    BI项目中经常会有一些提取,转换,数据处理(ELT)的工作,其中最主要的是处理过赃数据.假设在项目中我们向数据库中注入了测试数据,但是通过一个外键从另外一个表中载入数据的时候没有对应的数据,那么这一行 ...

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

    字词查找转换将从转换输入列的文本中提取的字词与引用表中的字词进行匹配,然后计算出查找表中的字词在输入数据集中出现的次数,并将计数与引用表中的此字词一并写入转换输出的列中.此转换对于创建基于输入文本并带 ...

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

    建立测试数据: CREATE TABLE FactResults ( Name ) , Course ) , Score INT ) INSERT INTO FactResults ( Name , ...

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

    派生列转换通过对转换输入列应用表达式来创建新列值. 表达式可以包含来自转换输入的变量.函数.运算符和列的任意组合. 结果可作为新列添加,也可作为替换值插入到现有列. 派生列转换可定义多个派生列,任何变 ...

  6. CSS3常用属性(边框、背景、文本效果、2D转换、3D转换、过渡、有过渡效果大图轮播、动画)

    CSS3边框: 1.CSS3圆角:border-radius  属性--创建边框线的圆角 <body style="font-size:24px; color:#60F;"& ...

  7. PHP是弱类型语言,自动转换,强制转换

    强制转换: (int) - 转换成整型 (bool) - 转换.成布尔型 (float) - 转换成浮点型 (string) - 转换成字符串 (array) - 转换成数组 (object) - 转 ...

  8. C#将XML转换成JSON转换XML

    原文:C#将XML转换成JSON转换XML using System; using System.Collections.Generic; using System.Linq; using Syste ...

  9. java--基本数据类型的转换(自动转换)

    概念:Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码中具有重要的作用.首 ...

随机推荐

  1. buffer pool

    https://dev.mysql.com/doc/refman/5.5/en/glossary.html#glos_buffer_pool buffer pool The memory area t ...

  2. android发送/接收json数据

    客户端向服务器端发送数据,这里用到了两种,一种是在url中带参数,一种是json数据发送方式: url带参数的写法: url+/?r=m/calendar/contact_list&uid=3 ...

  3. SharedPreferences第一次使用后HashMap将常驻内存

    今天使用SharedPreferences的时候突然想到了这个问题,因为我们要存储应用级别的上下文信息,包括用户信息等一系列信息:这个时候使用getSharedPreferences是否合适呢! 其实 ...

  4. [LeetCode]题解(python):118 Pascal's Triangle

    题目来源 https://leetcode.com/problems/pascals-triangle/ Given numRows, generate the first numRows of Pa ...

  5. VS2015/2013/2012 IIS Express Debug Classic ASP

    参考资料: https://msdn.microsoft.com/en-us/library/ms241740(v=vs.100).aspx When you attach to an ASP Web ...

  6. Velocity(8)——引入指令和#Stop指令

    #Include和#Parse都是用于将本地文件引入当前文件的指令,而且被引入的文件必须位于TEMPLATE_ROOT.这两者之间有一些区别. #Include 被#Include引入的文件,其内容不 ...

  7. C++复现经典游戏——扫雷

    国庆小长假,当大家都去看人山人海的时候,我独自一人狂码代码.这两天想要实现的内容是Windows上的一个经典游戏——扫雷.相信90后和一些上班族对此并不陌生.然而,从win8开始,扫雷就不再是Wind ...

  8. POJ 3683 Priest John's Busiest Day(2-SAT 并输出解)

    Description John is the only priest in his town. September 1st is the John's busiest day in a year b ...

  9. ExtJs Panel 滚动条设置

    设置autoscroll:true同时出现横向和纵向滚动条. 不要设置autoscroll属性,或者autoscroll:false,然后设置bodyStyle : 'overflow-x:hidde ...

  10. MVC 4 异步编程简化了

    MVC 3 异步编程好麻烦,需要使用异步控制器,一个Action需要拆成两个,很不方便.MVC3的好处是,只需要.NET Framework 4.0就能运行 MVC 4 之后只需要使用async和aw ...