span8
span4
本教程由2部分组成:
1.如何使用FME为Tableau准备数据(处理电子表格)(当前文章)
在第1节中,我们将处理一个CSV文件,并在将其加载到Tableau之前执行数据验证和清理。
2.如何使用FME为Tableau准备数据(合并多个电子表格)
在第2节中,我们将修改第1节中的FME工作区,以处理多个CSV文件。
完成工作:exercise2-spreadsheets.fmwt
我们将首先创建一个简单的转换,查看Tableau中的结果,然后再回到FME进行数据验证和清理。
启动FME工作台并选择Create Workspace下的新选项。
第一步是读取CSV文件。将业务许可CSV文件从文件资源管理器拖到空白画布上。注意,FME已经填充了reader格式和数据集。或者,单击Add Reader。
读者的格式: | CSV(逗号分隔值) |
读者数据集: | …\ business_licenses.csv |
Coord。系统: | LL84 |
添加一个CSV阅读器,添加business_licenses。csv, set the coord system, then click on Parameters...
单击Parameters按钮。数据库参数允许我们为最终出现在画布上的层或特性类型选择不同的命名方案。确保它被设置为“来自文件名的特性类型”。
我们可以告诉FME在读取数据时将CSV文件的经度和纬度值转换为点。为此,首先再次检查文件预览是否正确,然后在Attributes >属性定义下,单击manual。将纬度的类型设置为y_coordinate,经度设置为x_coordinate。这将告诉FME将CSV中的每一行显示为一个点。
将属性定义更改为手动,并更新纬度和经度
单击Ok,然后再次单击Ok,将阅读器添加到画布。这告诉FME为每个记录创建一个具有经度和纬度值的点。
当将CSV源数据添加到画布中时,单击箭头以查看完整的属性列表。
右键单击源特性类型,并选择Connect Inspector。继续运行工作区。数据被读取并定向到FME数据检查器。我们可以看到,我们确实有一些点。
在数据检查器中包含点数据的业务许可证
从“作家”菜单中选择“添加作家”。对于格式,开始键入Tableau,并选择Tableau数据提取格式。对于Dataset,请选择要在其中写入.tde文件的目录。单击OK将Tableau writer添加到工作区。然后把读者和作者联系起来。
打开写入器的属性。现在,我们可以指定要写入的表的名称。称之为BusinessLicenses。
通过更改表名来更改写入器功能部件类型属性
您可能已经注意到日志文件中出现了许多蓝色警告。这些问题与CSV数据有关,我们将很快用FME修复这些问题。
在Tableau中,我们可以看到所有的列都对应于我们用FME从CSV文件中读取的列。注意,列的数据类型都是由FME根据对每个列中数据类型的最佳猜测自动设置的。我们可以看到LicenseRSN已经被正确地设置为数字类型,BusinessName是一个字符串。
在Tableau中查看数据,确保它设置了正确的数据类型
让我们仔细查看一下业务许可数据。
以下是我们将使用FME完成的任务列表。我们已经完成了当前工作区中的第一个。我们将修改工作区以执行其余的任务。
您可能还记得CSV文件中的一些记录没有纬度和经度值。由于FME无法为它们创建点,我们希望过滤掉它们;GeometryFilter将帮助我们完成此任务。
单击CSV阅读器,然后开始键入“GeometryFilter”,单击enter。再次单击enter以输入Transformer参数。选择“Point”作为“要筛选的几何类型”。单击Ok。
继续运行工作区,确保选择了带有完全检查的运行。带全面检查运行>
我们可以确认,在10,000条记录中,有731条记录没有纬度或经度值。
打开带有“Run with Full Inspection”的工作区,查看<未过滤的>计数
在继续处理这些点之前,让我们将这些记录写到一个“Data Cleanup”文件中,以便修复它们。我们会把它们写出来。
从“编写器”菜单中,添加一个Excel编写器。将其写入输出文件夹并调用文件DataCleanup.xlsx。将新的写入器功能类型连接到GeometryFilter的未过滤端口,然后打开写入器的属性并将工作表名称更改为“缺少纬度经度”。
更改工作表的名称以识别我们正在记录的内容
现在我们已经处理了缺失的值,让我们继续处理这些点。
在画布上放置一个AttributeValidator并将其连接到GeometryFilter。打开其属性并选择要验证的属性PostalCode。验证规则是PostalCode必须有一个值。同样,验证某些字符串字段具有字符串值,而数值字段具有数值值。
设置AttributeValidator来验证PostalCode是否有值,以及其他属性是否为正确的类型
同样,在继续处理有效数据之前,将验证失败的数据写到已经设置的“data Cleanup”excel文件中的另一个工作表中。右键单击画布并选择“Insert Writer Feature Type”。将新工作表称为“验证失败”。将其连接到AttributeValidator的失败端口。
现在我们知道了AttributeValidator的“记录输出”都有一个邮政编码值,让我们提取前3个字符。我们这样做是因为Tableau使用邮政编码的前3个字符来自动映射区域。
在画布上放置一个SubstringExtractor,并将其配置为从PostalCodeAttribute提取前3个字符。我们将调用结果属性postcode。
FME将第一个值索引为0,然后从0开始计数。从下表中可以看到,如果我们只需要邮政编码中的前3个字符,我们将从0到2。在SubstringExtractor中,起始索引为0,结束索引为2。
V | 3. | W | <空位> | 1 | J | 8 |
0 | 1 | 2 | 3. | 4 | 5 | 6 |
设置SubstringExtractor从PostalCode中提取前3个值
AttributeManager是一个转换器,它允许我们执行许多属性操作,包括设置条件值。
在FeePaid的AttributeManager中创建一个条件值
如果FeePaid属性为空,则将值设置为0,否则保持原样。
创建一个名为BusinessDisplayName的新属性。将其值设置为BusinessTradeName,但仅当BusinessTradeName具有值时,否则将其设置为BusinessName。
如果BusinessTradeName有一个属性值,则保持它为BusinessTradeName,否则将其命名为BusinessName
在最终输出中还有一个我们不需要的属性,让我们删除_fme_validation_message。
在AttributeManager中,为FeePaid和BusinessDisplayName创建两个条件值,同时删除_fme_validation_message
将AttributeManager输出连接到写入器特性类型。
我们刚才删除的属性仍然在输出模式中,并且已经变为红色。原始属性模式是源模式的副本。由于我们的数据转换,它已经改变了,但是我们可能会更新它以反映我们所做的事情。
打开目标特性类型的属性,转到User Attributes选项卡,然后单击Automatic以获得属性定义。属性模式反映了我们所做的更改。
因为我们想要覆盖我们最初编写的Tableau文件,所以再次打开属性并将表处理改为Drop和Create。
让我们运行最后的工作区!单击Run按钮。确认.tde文件和DataCleanup.xlsx文件是使用Windows资源管理器创建的。
在“Data Source”视图中,注意我们从CSV文件导入的所有记录。我们还可以看到我们在工作区中创建的postcodetrim属性,以及从CSV文件导入的其他字段。
现在我们的数据被导入Tableau,我们可以开始创建数据视图来研究这些数据了。
例如,我们可以创建一个简单的地图视图来查看覆盖在地图上的数据点。创建一个新的工作表,然后双击几何体来查看单独的点。最后,按状态对它们进行着色,以获得当前具有活动许可证的企业的总体视图。
我们还可以使用邮政编码字段来显示我们的数据,创建一个新工作表。添加postalcode(从“尺寸”开始),并根据该地区的营业执照数量进行着色。
在下一个练习,我们将修改刚才构建的工作区,以处理多个CSV文件。
©2020安全亚搏在线软件公司|法律