# 使用表格配方

## 创建表格配方

要创建新的表格配方：

1. 从启动器菜单中，选择分析 &gt; 创建或分析 &gt; 准备数据。

2. 单击表格配方。

   创建新表格配方对话框打开。

3. 在相应的字段中，为您的表格配方输入名称。

4. 从相应的下拉列表中，选择要在哪个空间中保存表格配方。

5. 添加描述以记录表格配方的目的。

6. 为表格配方添加一些标签，以便更容易找到。

7. （可选）选中打开表格配方复选框，以便在创建后直接查看表格配方。

8. 单击创建。

您的新表格配方将在编辑器选项卡中打开，系统会提示您从目录中选择一个源。有关如何操作的更多信息，请参阅[选择数据源](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/TableRecipe/working-with-table-recipes.htm#Selectin "sdfgh")。

信息注释从目录中打开现有表格配方时，您将进入概览选项卡。

## 选择数据源

### 在表格配方创建后立即添加源

在表格配方创建对话框中单击创建后，将打开数据目录窗口。要用作表格配方的源，您可以选择任何基于文件或[数据连接](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/TableRecipe/how-to-use-connection-as-source-table-recipe.htm#Creating)的目录数据集。

要选择数据集作为您的表格配方的来源：

1. 浏览之前上传的数据集，或单击上传数据文件浏览计算机上的文件并即时上传。

2. 使用搜索和筛选器，从列表中选择一个数据集前面的复选框，然后单击下一步。

3. 在汇总选项卡中，您可以查看所选的数据集，检查其中包含的字段，并根据需要排除某些字段。点击将配方加载到表格中。

   加载成功后，会打开一个汇总，详细说明将在示例表中显示多少行和列。关闭摘要后，您可以在编辑器中看到已加载的数据，这些数据以包含多列的表格形式呈现，这些列对应于所选字段。

### 在表格配方创建后一段时间添加源

如果表格配方是在未设置源的情况下创建的，即在过程中关闭了数据目录窗口，您仍然可以在下次打开时设置源。

1. 打开不带源的表格配方。

2. 点击两个设置源按钮之一：

   * 在空表格区域的中间。

     ![在空的表格配方中设置源](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_set_source_1.png)

   * 在表格配方面板的源部分中。

     ![在空的表格配方中设置源](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_set_source_2.png)

   数据目录窗口打开。

3. 浏览之前上传的数据集，或单击上传数据文件浏览计算机上的文件并即时上传。

4. 使用搜索和筛选器，从列表中选择一个数据集前面的复选框，然后单击下一步。

5. 在汇总选项卡中，您可以查看所选的数据集，检查其中包含的字段，并根据需要排除某些字段。点击将配方加载到表格中。

   加载成功后，会打开一个汇总，详细说明将在示例表中显示多少行和列。关闭摘要后，您可以在编辑器中看到已加载的数据，这些数据以包含多列的表格形式呈现，这些列对应于所选字段。

### 更改表格配方的来源

如果存在已应用函数的现有表格配方，仍然可以选择不同的字段进行加载，或者为您的表格配方选择另一个来源。

1. 在表格配方面板的源部分中，单击当前源以展开配置菜单。

   ![源面板已展开](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_source.png)

2. 单击更改源。

3. 在打开的确认模态框中再次点击更改源。

4. 在数据目录窗口中浏览以查找要使用的新数据集，就像您为新的表格配方所做的那样。

在表格配方中加载新数据集或新字段后，源会更改，表中的数据会更新，但配方步骤会保留。如果架构与之前不同，配方将变为无效，您需要重新配置配方步骤。有关更多信息，请参阅[编辑函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/TableRecipe/working-with-table-recipes.htm#Editing)。

### 配置 CSV 和 Excel 源的文件设置

如果您使用 CSV 或 Excel 文件数据集作为数据源，无论是之前上传到您的目录中还是在处理过程中直接上传，而数据在表格中显示不正确，这可能意味着文件格式不正确。

可能的问题包括错误的标头大小或错误的定界符配置。要解决这些问题，您需要进入数据集设置。

1. 从表格配方中，将鼠标悬停在右侧面板的源部分上，然后点击在新标签页中查看数据集按钮。

   您也可以从您的目录中打开数据集。

   数据集打开后，在概览中，您会看到一个警告，提示可能存在格式错误。

   ![在新选项卡中打开数据集的快捷方式](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_dataset_settings_1.png)

2. 点击警告信息中的文件格式设置链接，或使用概览右上方的更多操作菜单。

   ![打开数据集文件格式设置的菜单](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_dataset_settings_2.png)

3. 使用 分隔符 下拉列表选择预期的分隔符，或在 标头大小 字段中输入新值。

   ![用于更改数据集配置（例如标头大小或分隔符）的字段](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_dataset_settings_3.png)

4. 单击保存。

5. 回到您的表格配方中，点击右侧面板中的当前源，并选择 更改源。从目录中选择与之前相同的数据集，并重新加载源。这次，源将反映正确的数据集配置。

## 评估数据质量

与数据集体验类似，表格配方具有原生数据质量功能，无需编写脚本即可检测、可视化并修复无效或不一致的数据。您可以从自动和手动语义类型处理以及基于有效性的筛选中获益。

### 权限和访问

若要访问表格配方中的数据质量，您需要：

* Qlik Talend Cloud Enterprise、Qlik Talend Cloud Premium、Qlik Cloud Analytics Premium、Qlik Cloud Analytics Enterprise 或 Qlik Sense Enterprise SaaS 订阅。

* 至少在数据质量部分中将计算数据质量权限设置为允许，并将管理语义类型权限设置为仅分配。这些权限由租户管理员通过默认权限或自定义角色分配。有关更多信息，请参阅[默认权限和自定义角色](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/permissions-scopes-capacity-model.htm)。

### 数据质量指标

质量指标提供了一种快速简便的方法，可在列级别以及记录级别评估您的数据质量。在 Table Recipe 中，数据可以根据当前数据类型归类为无效、空或有效。

![表格配方编辑器中的数据质量指示器](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/ui_gen_table-recipe-data-quality.png)

查看表格时，您可以看到每个列标题都包含一个质量条形。此处显示的统计信息适用于每个特定列，并根据数据样本的状态定期更新。将鼠标悬停在每种颜色上可查看每个类别的详细统计信息，或点击其中一个创建快速筛选器：

* 绿色：有效值
* 黑色：空值或 Null 值
* 红色：无效值

![特定列的数据质量指标](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_quality_bar_1.png)

查看特定列的内容时，根据语义类型包含无效值的单元格会显示红色垂直条形和红色背景。

有关有效性百分比计算方式的更多信息，请参阅 [Semantic types discovery](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/Managing-semantic-types.htm#Semantic)。

## 添加函数

### 将函数应用于列

函数对应于您可以在列级别对数据应用的不同转换。大约五十个函数可用，根据数据类型分为不同的类别。有关更多信息，请参阅[表配方函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/TableRecipe/list-of-table-recipe-functions.htm)。

要在列上应用函数：

1. 在列中的任意位置单击以突出显示并选择它。

   ![在应用函数之前选择列](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_select_column.png)

2. 在函数面板中，浏览函数列表或使用搜索字段查找要应用的函数。

   ![在列表中浏览函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_select_function.png)

3. 点击您选择的函数。

   在“表格配方”面板中，函数配置菜单打开。

4. 根据预期结果填写不同的配置参数。

   ![填写函数配置参数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_configure_function.png)

5. 单击应用。

   该转换应用于所选列，并作为单独的步骤列在配方中。

   ![从函数创建的新列](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_function_result.png)

   配方步骤可以在需要时稍后修改。有关更多信息，请参阅[编辑函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/TableRecipe/working-with-table-recipes.htm#Editing)。

### 将函数应用到多列

与其将同一函数逐个应用于不同的列，不如同时对多个列执行操作。

要将函数应用于多个列，您可以：

* 在单击函数之前一次性选择多个列，使用Ctrl + 单击或Maj + 单击。

* 开始将函数应用于单个列，然后更改函数配置中的要处理的列。

![在多个列上同时应用函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_multi_select.png)

配置函数并点击应用。

### 编辑函数

任何之前应用的函数都可以从配方中编辑。但是，由于每个配方步骤都基于前一个，对一个步骤的任何修改都可能导致后续步骤出现错误。确保您的配方步骤配置不会引用已删除或已重命名的列，例如。

要编辑以前应用的函数：

1. 在表配方面板的配方部分中，单击要编辑的步骤。

   该步骤展开，当前配置现在可见。

   ![编辑上一个配方步骤](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_edit_step.png)

2. 直接编辑您想要更改的任何配置参数。

3. 单击应用。

表格已刷新，现在函数的新效果已激活。

如果某个步骤不再需要，您可以使用垃圾桶图标将其删除。

## 筛选数据

为了更具体地了解表中包含的数据，或者为了对数据的某个子集执行函数，您最多可以为数据创建五个筛选器。

### 创建快速筛选器

如果您只需要筛选列中的相似值，则无需进入专用筛选器菜单即可创建快速筛选器。

1. 右键单击列中的特定值。

2. 从打开的快速操作菜单中，点击筛选具有此值的行选项。

   ![右键点击一个值以打开筛选菜单](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_quick_filter.png)

3. 筛选器会直接创建，并且该列现在只显示具有匹配值的行。

   ![基于单个值的过滤器](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_quick_filter_2.png)

### 创建复杂过滤器

复杂过滤器允许您组合更多搜索条件。

1. 要开始创建筛选器，您可以：

   * 点击表格标题中的筛选器按钮。

   * 点击列的列菜单并选择筛选列。

   信息注释对于任何给定列，您还可以使用列菜单直接筛选包含有效值、无效值、空值或 null 值的行。

2. 在打开的筛选器窗口中，通过使用下拉列表选择列、条件以及（如适用）值来创建筛选器。

   当您输入筛选值时，筛选面板中会显示建议值。如果有更多可用值，请点击显示更多以加载其他建议。

   默认情况下，列值对应于当前选定的值，但您可以更改它。

3. 通过点击添加筛选条件按钮来组合更多筛选条件。

   如果需要，使用垃圾桶图标删除单个筛选器。

   ![配置多个筛选条件](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_adding_filters.png)

4. 使用筛选器右上角的下拉菜单，选择是否要显示匹配以下条件的行：

   * 所有筛选器。默认选中此选项将使用 AND 运算符组合筛选器。

   * 任意筛选器。选择此选项对应于一个 OR 运算符，用于您的筛选器。

   * 无筛选器。匹配的行将从显示的数据中排除。

5. 单击应用。

   您可以在表头中看到筛选器已正确应用，并且表格现在仅显示与这些条件对应的数据。

   ![表头中可见的筛选器组合](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_filters_applied.png)

   信息注释如果您的筛选器没有匹配到任何数据，表格将为空。

   您可以对此数据子集应用函数，并且筛选器将在配方步骤中可见。

6. 在表格标题中，点击单个筛选器中的叉号以将其移除，或使用清除所有选项一次性移除所有筛选器并再次显示整个样本。

### 使用质量条形创建筛选器

识别和筛选错误数据的最快方法是使用质量条形。

每个列标题下方都有一个质量条形，用于根据当前数据类型指示有效（绿色）和无效（红色）数据或空（黑色）数据的比例。有关更多信息，请参阅[How to assess data quality in table recipes](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/TableRecipe/table-recipe-data-quality.htm)。

![用于过滤不正确数据的质量条形](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table-recipe_filter_quality_bar.png)

要针对列中包含的无效、空或有效数据创建筛选器，只需单击质量条形的相应部分。

![针对无效值的筛选器](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table-recipe_filter_quality_bar_2.png)

筛选器会直接创建，并且该列现在只显示具有匹配值的行。可在表格上方查看激活的筛选器列表。

## 选择目标

要输出您的表格配方的结果，您需要设置一个目标，即一个将存储在 Qlik Cloud 目录中的文件。准备好的数据可以.qvd、.parquet、.txt 或 .csv 文件的形式导出。

要设置表格配方目标：

1. 在表配方面板的目标部分中，点击设置以展开目标配置菜单。

   ![设置目标按钮](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_set_target.png)

2. 从相应的下拉列表中，选择要在哪个空间中导出目标。

3. 在相应的字段中，为您的目标输入文件名。

   信息注释可以在所需空间的特定文件夹中写入。例如，如果您在个人空间创建了名为 folder\_name 的文件夹，请使用 folder\_name/table\_recipe\_output.qvd 作为目标文件的文件名。生成的文件将直接发送到您的文件夹。

4. 从相应的下拉菜单中，选择用于您的目标的文件扩展名。

5. 单击应用。

## 运行一个表格配方

一旦您的配方的所有步骤都正确配置，一个绿色复选标记表示该表格配方被视为有效且可以运行。运行配方时，您在样本数据上使用的函数将应用于整个源数据。

![一个准备运行的有效配方](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/TableRecipe/table_recipe_run_recipe.png)

警告注释

运行配方时，将使用您的凭据运行它，您有责任确保它符合贵组织的安全准则。因此，在运行配方之前，请验证不同的步骤，并可选地确保生成的脚本与您想要完成的目标一致。

请注意配方的来源，如果您即将运行的配方是例如以下情况，请务必小心：

* 复制的配方
* 与您共享的配方
* 通过上传导入

1. 单击运行配方开始处理数据。

   打开通知，显示运行状态。

2. 当配方成功完成时，您可以直接从通知中点击打开目标数据集按钮，或者您可以在以下位置找到已输出的数据：

   * 在您的目录中，在您的其他资产中

   * 在表格配方概览的输出部分中。

   如果您的运行失败，您可以使用查看日志按钮来检查日志，以获取有关出错原因的更多信息。

您现在可以将这些准备好的数据作为干净的数据源，为 ML 实验提供素材，或在可视化应用程序中使用。