教程 - 表格配方入门
本教程将介绍一个基本的数据准备用例,让你更加熟悉构建表格配方所需的不同步骤,以及所提供的不同可能性。使用所附数据集,您就可以重现本教程的所有步骤。
在此场景中,假设您正在查看一家宠物食品在线商店的销售数据。该数据样本包括来自世界各地的客户,以及他们的姓名、订单日期、原籍国、年龄范围等信息。比方说,您想准备数据,以便重点关注来自法国的客户。您将进行细微的格式更改,处理订单日期,分离出特定年龄段的法国客户的所有数据,最后将数据导出到一个新文件,该文件可作为分析应用程序等的数据源。
先决条件
下载此存档并将其解压到您的桌面:
该存档内含完成本教程所需的 orders_pet_food.csv 数据文件。
将源文件添加到目录中
在开始创建表格配方之前,需要在分析平台中提供软件包中的文件。将数据源添加到目录中:
-
从启动器菜单中选择分析 > 目录。
-
单击右上角的新建按钮,然后选择数据集。
-
在打开的窗口中,单击上传数据文件。
-
将桌面上的教程文件拖放至添加文件窗口的专用区域,或单击浏览从其位置选择它。
-
单击上传。
创建表格配方并选择源
源已设置完毕,您可以开始创建表格配方了。
-
从启动器菜单开始,选择分析 > 准备数据。
-
点击表格配方磁贴或点击创建新 > 表格配方。
-
在创建新表格配方窗口中,设置您的表格配方信息如下,然后点击创建:
-
表格配方教程作为名称。
-
个人作为空间。
-
表格配方,准备以法国客户为重点的销售数据作为描述。
-
教程作为标签。
空的表格配方打开,但在您执行任何操作之前,系统会要求您从您的数据目录中选择源文件。
-
-
使用过滤搜索查找之前上传的 order_pet_food.csv 数据集,并选择其名称前的复选框。
-
单击下一步。
-
查看摘要中的数据集和字段,然后单击加载到表格配方中。
数据集中的数据现在以表格形式显示,其中字段显示为列。您可以轻松浏览数据集的内容,并且您将开始使用函数准备数据。
清理订单类型
查看样本时,我们可以注意到,在列出所订购宠物食品类型的订单列中,食品一词是多余且有点不必要的。为了提高简洁性和清晰度,您将使用删除部分文本功能删除单词food。
-
单击order列的标题以选择其内容。
-
在左侧面板的功能列表栏中,选择字符串类别中的移除部分文本功能。
该功能的配置表单在右侧面板中打开,其中要处理的列字段已选中。
-
从运算符下拉列表中选择 包含。
-
在值字段中,输入Food。
-
单击应用。
列中所有出现Food的地方都已被移除,订单类型现在更易于阅读。
完成此操作后,您可以看到该步骤现在已列在右侧面板的配方中。毕竟,表配方中的配方,就像任何烹饪食谱一样,是应用于您的数据的准备步骤列表。您可以单击一个步骤以查看已应用的配置,甚至可以编辑它。
将客户姓名拆分为两列
客户的名字和姓氏目前包含在一列中。为了更好地分离信息,配方的另一步将是使用 拆分列 功能将名称拆分为两列。
-
单击 full_name 列的标题以选择其内容。
-
在左侧面板的功能列表栏中,选择字符串类别中的拆分列功能。
-
在部分字段中,输入2,然后从分隔符下拉列表中选择空格。
-
单击应用。
创建了两个新列,每个列仅包含全名的一部分。这两个新列具有自动生成的名称,您将更改这些名称以提高清晰度和一致性。
-
选择 full_name-split_1 列,并从函数列表中选择 重命名列 函数。
-
在新列名称字段中,输入first_name,然后点击应用。
您还将使用另一种方法,直接从列菜单中重命名第二列。在这两种情况下,都会创建一个配方步骤。
-
在 full_name-split_2 列的标题中,点击
以显示列菜单并选择 重命名列。
-
在新列名称字段中,输入last_name并点击应用。
您现在拥有两个包含名字和姓氏的干净列。初始的full_name列不再有任何用途,您将能够直接删除它。
-
在 full_name 列的标题中,点击
以显示列菜单,选择 删除列 并点击 应用。
日期格式设置
表格配方也提供了许多用于处理日期的功能。在数据集中,有三列包含日期,用于跟踪客户下订单的日期、订单发货的日期以及客户收到订单的日期。在进一步利用这些数据之前,第一步将是转换并格式化这些数据,以便其可用。由于本教程的目的是关注法国客户,因此您将对当前为 YYYY-MM-DD 格式的这些日期应用法国日期格式。
-
选择 order_date 列,然后在按住 Shift 键的同时,单击 reception_date 列标题。
包括 shipment_date 列在内的三列已被选中。 Ctrl + click 快捷方式也适用于选择多列。
-
从函数列表中,在 Dates 类别中选择 Convert to date 函数。
-
从输入格式下拉列表中,选择自动,然后点击应用。
此函数旨在转换您表中的数据,以便系统将其正确解释为date。这将使您能够执行更多基于日期的操作。在这种情况下,您将能够安全地更改这三列中的日期格式。
-
选择 order_date 列,然后从函数列表中的 建议 中选择 格式化日期 函数。
根据当前所选列的类型,函数列表中将动态建议相关函数。您还可以使用搜索字段通过其名称或相关关键字查找函数。
到目前为止,在配置函数时,要处理的列字段已根据当前选定的列预先填充。下一步将展示在多个列上应用函数的另一种方法。
-
打开要处理的列下拉列表,然后选择order_date、shipment_date和reception_date复选框。
-
从日期格式下拉列表中,选择自定义。
-
在日期模式字段中,输入DD-MM-YYYY,这是法国官方日期格式。
-
单击应用。
所有这三列现在都采用正确的格式,这使得目标受众更容易阅读。
计算订单处理时间
现在,您的日期列已正确格式化,您将使用 计算日期差 函数,计算客户下订单后需要多少天才能收到订单。
-
选择 order_date 列。
-
在左侧面板的功能列表栏中,选择日期类别中的计算日期差功能。
-
从时间单位下拉列表中,选择 天。
-
从直到下拉列表中,选择其他列。
您也可以使用此函数计算与特定日期的时间差,但在这种情况下,您将比较两列。
-
从列下拉列表中,选择reception_date。
-
在新列名称字段中,输入time_to_receive。
-
单击应用。
在order_date 列的右侧创建了一个新列,其中包含订单日期和接收日期之间的天数。为了保持数据集的整洁和可读性,您将把新的time_to_receive列移动到三个日期列的右侧。
-
将 time_to_receive 列的标题拖放到 reception_date 列的右侧。
在表格配方中,您还可以利用分析功能来深入了解当前数据。例如,当选中time_to_receive列时,您可以在左下角的数据分布面板中看到一些有用的信息。将显示该列数值的图形表示,您会看到客户收到订单的平均时间在六到七天之间。
添加国家/地区快速筛选器
假设您想要将国家/地区名称转换为大写,但仅限于法国。您将首先在国家/地区列上应用快速筛选器,然后仅对匹配的行应用该函数。
-
在国家/地区列中,右键单击值法国的其中一个出现项,然后从打开的菜单中选择筛选具有此值的行。
您可以在上方看到筛选器已正确应用的数据,使用 is equal to 运算符,并且现在只显示包含值 France 的行。
-
在左侧面板的功能列表中,选择字符串类别中的更改为大写功能,然后单击应用。
该函数仅应用于筛选后的行,如您在步骤摘要中看到的。由于值现在为大写,它们不再与基于原始大小写的筛选器匹配,因此此时网格为空是正常的。
您现在将清除筛选器,然后再继续。
-
要移除筛选器,请直接点击筛选器中的叉号,或使用清除所有选项。
所有行现在再次显示,但现在只有法国的出现项是大写。
调整配方步骤
再次查看国家/地区列,您会注意到并非所有“法国”的出现都实际更改为大写。由于您之前创建的筛选器是基于精确的France值,因此其他带有拼写错误的出现(例如下面所示的Franc)未包含在函数范围内。
准备工作的下一步是修正错别字,并使用表格配方的步骤重新排序功能,将新的配方步骤移到大写转换之前。因为在表格配方中,一个步骤会影响所有后续步骤,这样做,您将自动将 更改为大写 功能重新应用到所有已修正的值。
-
选择国家/地区列。
-
在左侧面板的功能列表栏中,选择字符串类别中的搜索和替换功能。
-
从运算符下拉列表中选择等于。
-
在值字段中,输入法国。
-
从替换下拉列表中,选择将整个单元格替换为替换值。
-
在“替换为”字段中,输入法国。
-
单击应用。
拼写错误现已修复,但仍不是大写。您无需像以前一样重新应用相同的功能,只需重新排列配方中的步骤。
-
在右侧的配方面板中,通过拖放将搜索和替换步骤移动到更改为大写步骤之前。
原本在第11位的搜索和替换步骤现在位于第10位,这一次,所有出现的“France”(包括有拼写错误的)都以大写形式显示。
筛选特定范围的客户
您的配方快完成了。清理并改进数据集后,您现在将提取仅与特定年龄范围的法国客户相关的数据。为此,您将再次创建筛选器,但这次会稍微复杂一些,通过组合两个条件。
-
点击表格左上方的筛选器按钮。
-
在第一个筛选器行中,从列下拉列表中选择国家/地区,将等于作为运算符,并以大写形式输入FRANCE作为值。
-
单击添加筛选器。
第二行变为可用。
-
在第二个筛选器行中,从列下拉列表中选择age_range,将is equal to选作运算符,并输入18-25作为值。
组合筛选器时,它们之间的运算符是AND。
-
单击应用。
您可以在表格上方看到这两个筛选器当前已应用,并且表格中仅显示匹配的行。食谱的最后一步是删除数据集中所有不匹配的行,只保留年龄在18到25岁之间的法国客户数据。
-
在左侧面板的功能列表中,选择常规类别中的保留筛选的行功能,然后单击应用。
您现在已完成您的表格配方。数据的范围和大小已缩小,但更易于阅读,并针对特定受众。此外,您还获得了关于客户接收订单所需时间的信息。
设置目标并运行配方
既然数据已经准备好,例如可以在应用程序中使用,剩下的唯一事情就是配置如何运行和导出结果数据。您的表格配方结果可以不同文件格式直接输出到目录,从而在 Qlik Cloud 生态系统中轻松重用。在此场景中,您将运行并导出准备好的数据作为 .qvd 文件。
-
在 表格配方 面板的目标部分中,配方步骤下方,单击 设置。
-
在空间下拉列表中,选择个人。
-
在文件名字段中输入 tutorial_output。
-
在扩展下拉列表中,选择 .qvd。
-
单击应用。
您的表格配方现已完成且有效,如标题条形中的状态所示。
-
单击窗口右上方的运行配方按钮。
打开一个模态窗口,显示运行进度。
一段时间后,窗口关闭,并打开一个通知,告诉你运行是否成功。表格配方的输出现在可以在您的目录中找到,或者在表格配方概览面板的输出部分中找到。
所有运行的状态也可以在运行历史记录部分中找到。
下一步
您已经学会了如何将源数据导入目录,建立一个简单的表格配方来筛选和改进您的数据,并将您准备的结果导出为即用文件。
要了解在自己的用例中使用表格配方的多种方法,您可以查看 表配方函数 的完整列表。
要了解如何在分析应用程序中使用准备好的数据,请参阅创建分析和数据可视化。