跳到主要内容 跳到补充内容

教程 - 表格配方入门

本教程将介绍一个基本的数据准备用例,让你更加熟悉构建表格配方所需的不同步骤,以及所提供的不同可能性。使用所附数据集,您就可以重现本教程的所有步骤。

在此场景中,假设您正在查看一家宠物食品在线商店的销售数据。该数据样本包括来自世界各地的客户,以及他们的姓名、订单日期、原籍国、年龄范围等信息。比方说,您想准备数据,以便重点关注来自法国的客户。您将进行细微的格式更改,处理订单日期,分离出特定年龄段的法国客户的所有数据,最后将数据导出到一个新文件,该文件可作为分析应用程序等的数据源。

先决条件

下载此存档并将其解压到您的桌面:

表格配方初学者教程

该存档内含完成本教程所需的 orders_pet_food.csv 数据文件。

将源文件添加到目录中

在开始创建表格配方之前,需要在分析平台中提供软件包中的文件。将数据源添加到目录中:

  1. 从启动器菜单中选择分析 > 目录

  2. 单击右上角的新建按钮,然后选择数据集

  3. 在打开的窗口中,单击上传数据文件

  4. 将桌面上的教程文件拖放至添加文件窗口的专用区域,或单击浏览从其位置选择它。

  5. 单击上传

创建表格配方并选择源

源已设置完毕,您可以开始创建表格配方了。

  1. 从启动器菜单开始,选择分析 > 准备数据

  2. 点击表格配方磁贴或点击创建新 > 表格配方

  3. 创建新表格配方窗口中,设置您的表格配方信息如下,然后点击创建

    • 表格配方教程作为名称

    • 个人作为空间

    • 表格配方,准备以法国客户为重点的销售数据作为描述

    • 教程作为标签

    空的表格配方打开,但在您执行任何操作之前,系统会要求您从您的数据目录中选择源文件。

  4. 使用过滤搜索查找之前上传的 order_pet_food.csv 数据集,并选择其名称前的复选框。

  5. 单击下一步

  6. 查看摘要中的数据集和字段,然后单击加载到表格配方中

数据集中的数据现在以表格形式显示,其中字段显示为列。您可以轻松浏览数据集的内容,并且您将开始使用函数准备数据。

将教程数据视为表格配方

清理订单类型

查看样本时,我们可以注意到,在列出所订购宠物食品类型的订单列中,食品一词是多余且有点不必要的。为了提高简洁性和清晰度,您将使用删除部分文本功能删除单词food

我们将删除部分文本的订单列

  1. 单击order列的标题以选择其内容。

  2. 在左侧面板的功能列表栏中,选择字符串类别中的移除部分文本功能。

    该功能的配置表单在右侧面板中打开,其中要处理的列字段已选中。

  3. 运算符下拉列表中选择 包含

  4. 字段中,输入Food

  5. 单击应用

    列中所有出现Food的地方都已被移除,订单类型现在更易于阅读。

    移除部分文本功能对订单列的影响

完成此操作后,您可以看到该步骤现在已列在右侧面板的配方中。毕竟,表配方中的配方,就像任何烹饪食谱一样,是应用于您的数据的准备步骤列表。您可以单击一个步骤以查看已应用的配置,甚至可以编辑它。

该步骤已添加到配方中

将客户姓名拆分为两列

客户的名字和姓氏目前包含在一列中。为了更好地分离信息,配方的另一步将是使用 拆分列 功能将名称拆分为两列。

需要拆分为两列的全名

  1. 单击 full_name 列的标题以选择其内容。

  2. 在左侧面板的功能列表栏中,选择字符串类别中的拆分列功能。

  3. 部分字段中,输入2,然后分隔符下拉列表中选择空格

  4. 单击应用

    创建了两个新列,每个列仅包含全名的一部分。这两个新列具有自动生成的名称,您将更改这些名称以提高清晰度和一致性。

    全名拆分为两个新列

  5. 选择 full_name-split_1 列,并从函数列表中选择 重命名列 函数。

    使用函数列表重命名列

  6. 新列名称字段中,输入first_name,然后点击应用

    您还将使用另一种方法,直接从列菜单中重命名第二列。在这两种情况下,都会创建一个配方步骤。

  7. full_name-split_2 列的标题中,点击 更多 以显示列菜单并选择 重命名列

    使用列菜单重命名列

  8. 新列名称字段中,输入last_name并点击应用

    您现在拥有两个包含名字和姓氏的干净列。初始的full_name列不再有任何用途,您将能够直接删除它。

    名字和姓氏拆分为两列

  9. full_name 列的标题中,点击 更多 以显示列菜单,选择 删除列 并点击 应用

日期格式设置

表格配方也提供了许多用于处理日期的功能。在数据集中,有三列包含日期,用于跟踪客户下订单的日期、订单发货的日期以及客户收到订单的日期。在进一步利用这些数据之前,第一步将是转换并格式化这些数据,以便其可用。由于本教程的目的是关注法国客户,因此您将对当前为 YYYY-MM-DD 格式的这些日期应用法国日期格式。

我们将格式化的三列日期

  1. 选择 order_date 列,然后在按住 Shift 键的同时,单击 reception_date 列标题。

    包括 shipment_date 列在内的三列已被选中。 Ctrl + click 快捷方式也适用于选择多列。

  2. 从函数列表中,在 Dates 类别中选择 Convert to date 函数。

  3. 输入格式下拉列表中,选择自动,然后点击应用

    此函数旨在转换您表中的数据,以便系统将其正确解释为date。这将使您能够执行更多基于日期的操作。在这种情况下,您将能够安全地更改这三列中的日期格式。

  4. 选择 order_date 列,然后从函数列表中的 建议 中选择 格式化日期 函数。

    根据当前所选列的类型,函数列表中将动态建议相关函数。您还可以使用搜索字段通过其名称或相关关键字查找函数。

    动态函数建议

    到目前为止,在配置函数时,要处理的列字段已根据当前选定的列预先填充。下一步将展示在多个列上应用函数的另一种方法。

  5. 打开要处理的列下拉列表,然后选择order_dateshipment_datereception_date复选框。

    在多个列上应用函数

  6. 日期格式下拉列表中,选择自定义

  7. 日期模式字段中,输入DD-MM-YYYY,这是法国官方日期格式。

  8. 单击应用

所有这三列现在都采用正确的格式,这使得目标受众更容易阅读。

日期列采用新的法语格式

计算订单处理时间

现在,您的日期列已正确格式化,您将使用 计算日期差 函数,计算客户下订单后需要多少天才能收到订单。

  1. 选择 order_date 列。

  2. 在左侧面板的功能列表栏中,选择日期类别中的计算日期差功能。

  3. 从时间单位下拉列表中,选择

  4. 直到下拉列表中,选择其他列

    您也可以使用此函数计算与特定日期的时间差,但在这种情况下,您将比较两列。

  5. 下拉列表中,选择reception_date

  6. 新列名称字段中,输入time_to_receive

  7. 单击应用

    order_date 列的右侧创建了一个新列,其中包含订单日期和接收日期之间的天数。为了保持数据集的整洁和可读性,您将把新的time_to_receive列移动到三个日期列的右侧。

    包含天数日期差的新列

  8. time_to_receive 列的标题拖放到 reception_date 列的右侧。

    包含日期差的列,位于其他日期列之后

在表格配方中,您还可以利用分析功能来深入了解当前数据。例如,当选中time_to_receive列时,您可以在左下角的数据分布面板中看到一些有用的信息。将显示该列数值的图形表示,您会看到客户收到订单的平均时间在六到七天之间。

收到货件的平均天数

添加国家/地区快速筛选器

假设您想要将国家/地区名称转换为大写,但仅限于法国。您将首先在国家/地区列上应用快速筛选器,然后仅对匹配的行应用该函数。

  1. 国家/地区列中,右键单击值法国的其中一个出现项,然后从打开的菜单中选择筛选具有此值的行

    使用快速操作菜单创建筛选器

    您可以在上方看到筛选器已正确应用的数据,使用 is equal to 运算符,并且现在只显示包含值 France 的行。

    筛选器已应用于国家/地区列

  2. 在左侧面板的功能列表中,选择字符串类别中的更改为大写功能,然后单击应用

    该函数仅应用于筛选后的行,如您在步骤摘要中看到的。由于值现在为大写,它们不再与基于原始大小写的筛选器匹配,因此此时网格为空是正常的。

    应用了筛选器的函数配置摘要

    您现在将清除筛选器,然后再继续。

  3. 要移除筛选器,请直接点击筛选器中的叉号,或使用清除所有选项。

所有行现在再次显示,但现在只有法国的出现项是大写。

调整配方步骤

再次查看国家/地区列,您会注意到并非所有“法国”的出现都实际更改为大写。由于您之前创建的筛选器是基于精确的France值,因此其他带有拼写错误的出现(例如下面所示的Franc)未包含在函数范围内。

准备工作的下一步是修正错别字,并使用表格配方的步骤重新排序功能,将新的配方步骤移到大写转换之前。因为在表格配方中,一个步骤会影响所有后续步骤,这样做,您将自动将 更改为大写 功能重新应用到所有已修正的值。

在 France 的某些出现中存在错别字。

  1. 选择国家/地区列。

  2. 在左侧面板的功能列表栏中,选择字符串类别中的搜索和替换功能。

  3. 运算符下拉列表中选择等于

  4. 字段中,输入法国

  5. 替换下拉列表中,选择将整个单元格替换为替换值

  6. 在“替换为”字段中,输入法国

  7. 单击应用

    拼写错误现已修复,但仍不是大写。您无需像以前一样重新应用相同的功能,只需重新排列配方中的步骤。

    使用查找和替换修复拼写错误

  8. 在右侧的配方面板中,通过拖放将搜索和替换步骤移动到更改为大写步骤之前。

    将搜索和替换步骤移动到大写格式化步骤之前

    原本在第11位的搜索和替换步骤现在位于第10位,这一次,所有出现的“France”(包括有拼写错误的)都以大写形式显示。

筛选特定范围的客户

您的配方快完成了。清理并改进数据集后,您现在将提取仅与特定年龄范围的法国客户相关的数据。为此,您将再次创建筛选器,但这次会稍微复杂一些,通过组合两个条件。

  1. 点击表格左上方的筛选器按钮。

  2. 在第一个筛选器行中,从列下拉列表中选择国家/地区,将等于作为运算符,并以大写形式输入FRANCE作为值。

  3. 单击添加筛选器

    第二行变为可用。

  4. 在第二个筛选器行中,从列下拉列表中选择age_range,将is equal to选作运算符,并输入18-25作为值。

    组合筛选器时,它们之间的运算符是AND

  5. 单击应用

    对数据应用两个筛选器

    您可以在表格上方看到这两个筛选器当前已应用,并且表格中仅显示匹配的行。食谱的最后一步是删除数据集中所有不匹配的行,只保留年龄在18到25岁之间的法国客户数据。

    国家和年龄筛选器已应用

  6. 在左侧面板的功能列表中,选择常规类别中的保留筛选的行功能,然后单击应用

您现在已完成您的表格配方。数据的范围和大小已缩小,但更易于阅读,并针对特定受众。此外,您还获得了关于客户接收订单所需时间的信息。

仅保留匹配筛选条件的数据后的结果数据

设置目标并运行配方

既然数据已经准备好,例如可以在应用程序中使用,剩下的唯一事情就是配置如何运行和导出结果数据。您的表格配方结果可以不同文件格式直接输出到目录,从而在 Qlik Cloud 生态系统中轻松重用。在此场景中,您将运行并导出准备好的数据作为 .qvd 文件。

  1. 表格配方 面板的目标部分中,配方步骤下方,单击 设置

  2. 空间下拉列表中,选择个人

  3. 文件名字段中输入 tutorial_output

  4. 扩展下拉列表中,选择 .qvd

  5. 单击应用

    教程的目标配置

    您的表格配方现已完成且有效,如标题条形中的状态所示。

  6. 单击窗口右上方的运行配方按钮。

    打开一个模态窗口,显示运行进度。

    正在运行以输出数据的配方

    一段时间后,窗口关闭,并打开一个通知,告诉你运行是否成功。表格配方的输出现在可以在您的目录中找到,或者在表格配方概览面板的输出部分中找到。

    所有运行的状态也可以在运行历史记录部分中找到。

下一步

您已经学会了如何将源数据导入目录,建立一个简单的表格配方来筛选和改进您的数据,并将您准备的结果导出为即用文件。

要了解在自己的用例中使用表格配方的多种方法,您可以查看 表配方函数 的完整列表。

要了解如何在分析应用程序中使用准备好的数据,请参阅创建分析和数据可视化

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们!