# 管理数据集

您可以管理登陆、存储、转换、数据集市、流式登陆、流式转换和复制数据任务中包含的数据集，以创建转换、筛选数据和添加列。

包含的数据集列在设计视图的数据集下。您可以使用列选择器 (the 列选择器 icon) 选择要显示的列。

数据任务的设计视图中的数据集

数据任务的设计视图中的数据集

数据任务的设计设计视图中的数据集数据集 ![数据任务的设计视图中的数据集](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_QDI_Dataset.png) [查看视频短片](https://play.vidyard.com/KcESWSEPsYLuL8xnx5yBPy)

## 转换规则和显式转换

您可以执行全局和显式转换。

### 转换规则

您可以通过创建一个转换规则来执行全局转换，该规则使用 % 作为作用域中的通配符，以应用于所有匹配的数据集。

* 单击规则，然后单击添加规则以创建新的转换规则。

  有关更多信息，请参阅[创建规则以转换数据集](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Transformation-rules.htm)。

变换规则由受影响属性上的深紫色角表示。

### 显式转换

创建显式转换：

* 使用编辑更改列属性时

* 在数据集上使用重命名时。

* 添加列时。

显式变换覆盖全局变换，并由受影响属性上的浅紫色角表示。

## 数据集模型

数据集可以基于源，也可以基于目标，具体取决于任务类型和任务中的操作。所使用的数据集模型会影响源更改时管道的行为，以及可以执行的操作。

* 源型数据集

  数据集基于源数据集，仅保留元数据的更改。源数据的更改会自动应用，这可能会导致所有下游任务的更改。无法更改列顺序或更改源数据集。

  以下任务类型始终使用基于源的数据集模型：登陆、存储、注册数据、复制和在数据湖中登陆。

* 基于目标的数据集

  数据集于目标元数据。如果从源添加或删除列，则不会自动将其应用到下一个下游任务。您可以更改列的顺序和源数据集。这意味着任务更加独立，并允许您控制源代码更改的效果。

  以下任务类型可以使用基于目标的数据集模型：转换、数据集市。在某些情况下，基于源的模型用于基于操作的转换任务。

  * 如果 SQL 转换或转换流执行列选择，则数据集将基于目标。例如，如果在 SQL 转换中使用 `SELECT A, B, C from XYZ`，或在转换流中使用选择列处理器。

  * 如果保留默认列，则数据集基于源。例如，如果您在 SQL 转变中使用 `SELECT * from XYZ` 。

### 将项目从基于源的模型更新为基于目标的模型

在适用的情况下，现有项目将更新为基于目标的数据集模型。首次打开项目时，您将在更新过程中得到指导。导入和导出具有不同数据集模型的项目时需要考虑一些因素。

* 无法将具有基于源模型的项目导入到具有基于目标模型的项目中。

  将具有基于源代码的模型的项目导入到新项目中，更新新项目，然后导出生成的项目。现在，您可以将此项目重新导入到具有基于目标的模型的项目中。

* 无法将具有基于目标的模型的项目导入到具有基于源的模型的项目中。

  在导入具有基于目标的模型的项目之前，将项目更新为基于目标的模型。

## 筛选数据集

信息注释筛选数据集的能力可用于登陆数据任务，其通过 Qlik 数据网关 - 数据移动、存储和转换数据任务登陆数据。

如果需要，可以筛选数据以创建行的子集。

* 单击筛选器。

有关更多信息，请参阅[筛选数据集](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Filter-data.htm)。

## 重命名数据集

您可以重命名数据集。

* 单击数据集上的 the 编辑 icon ，然后单击。

## 添加列

如果需要，可以使用行级转换添加列。

* 单击添加列

有关更多信息，请参阅[向数据集添加列](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Add-columns.htm)。

## 编辑列

可以通过选择列并单击编辑来编辑列属性。

要编辑列表达式，请单击该列上的表达式控件。参见 [构建表达式](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Building-expressions.htm)。

* 名称

* 密钥

  将列设置为主键。也可以通过在关键列中选择或取消选择来设置关键点。

* 可为 Null

* 数据类型

  设置列的数据类型。对于某些数据类型，可以设置其他特性，例如长度。

  信息注释当您更改列的数据类型或数据类型大小时，这可能会对使用数据集的任务产生影响。有关更多信息，请参阅[管理数据类型](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Managing-data-types.htm)。

## 移除列

您可以从数据集中删除一列或多列。

* 选择要删除的列，然后单击删除。

如果要查看删除的列，请单击显示删除的列。删除的列用删除线文本表示。您可以通过选择删除的列并单击恢复来检索该列。

提示注释要删除添加的列，请选择该列并单击还原。

## 恢复对列的显式更改

您可以将所有显式更改还原为一个或多个列。

* 选择要还原更改的列，然后单击还原。

不会恢复对全局转换规则的更改。

如果还原添加的列，它将被删除。

## 数据集设置

您可以更改数据集的设置。默认设置是继承数据任务的设置，但也可以将设置显式更改为“开”或“关”。

* 单击数据集上的 the 设置 icon，然后单击。

## 在视图中显示标题列

对于 Qlik 开放式湖空间 流式登陆和转换任务，您可以控制是否显示或隐藏表头列。选项因任务类型而异。

信息注释标题列会自动填充数据，并且是只读的。

#### 流式登陆任务

若要显示标头列，请启用搜索框右侧的显示标头列。

#### 流媒体转换任务

搜索框右侧提供一个包含以下选项的下拉列表。

* 隐藏标题列： 默认设置。

* 显示标题列

  * 标准： 选择以显示标准视图的标题列。

  * 历史记录： 选择显示历史记录视图的标题列。请注意，此选项仅在创建历史数据存储（类型 2）在任务或数据集设置中启用时才可用。

有关可用表头列的说明，请参阅 [登陆表](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/lakehouse-datasets-architecture-streaming.htm#Landing) 和 [视图](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/lakehouse-datasets-architecture-streaming.htm#Views)。

Govnote-not-in在 Qlik Cloud 政府 中不支持

## 查看数据

在设计数据管道时，您可以查看数据示例以查看和验证数据的形状。

必须满足以下要求：

* 在 Administration 活动中心中的租户级别上启用了查看数据的功能。

  要启用此功能，请转到设置页面，选择功能控制选项卡，然后打开在 数据集成 中查看数据。

* 您将在连接所在的空间中分配可以查看数据角色。

* 您将在项目所在的空间中分配可以查看角色。

信息注释在个人空间中创建项目和连接时，所有者始终可以查看数据。

### 查看样本数据

要在设计视图的数据集选项卡中查看示例数据，请执行以下操作：

* 单击查看数据。

将显示数据示例。可以使用行数设置要包含在示例中的数据行数。

### 理解数据结构

数据预览会同时显示业务列和系统生成的列。查看流式数据集中的数据时，标头列（前缀为 `hdr__`）提供有关数据源和转换的元数据。示例包括 `hdr__from_timestamp`（数据加载的时间）和 `hdr__operation`（所应用的操作类型）。

表头列为只读，无法在预览中修改或移除。若要控制默认显示哪些表头，请在项目或数据集级别配置标准视图表头。

### 在数据集和表之间进行更改

要在数据集和表之间进行更改，请执行以下操作：

* 选择数据集以查看数据的逻辑表示形式。

* 选择物理对象以在数据库中以表和视图的形式查看物理表示。

  新闻注释如果尚未创建物理表达，则此选项不可用。

### 筛选

您可以通过两种方式筛选样本数据：

* 使用 the 筛选器 icon 筛选要检索的样本数据。

  例如，如果您使用筛选器 ${OrderYear}&gt;2023，并且行数设置为 10，那么您将从 2024 年获得 10 个订单的样本。

* 按特定列筛选示例数据。

  这只会影响现有的样本数据。如果您使用 the 筛选器 icon 以只包括 2024 年的订单，并将列筛选器设置为显示 2022 年的订单时，结果为空样本。

### 排序

您也可以按特定列对数据样本进行排序。排序只会影响现有的样本数据。如果您使用 the 筛选器 icon 只包括 2024 年的订单并反转排序顺序，则示例数据仍将只包含 2024 年以来的订单。

### 隐藏列

可以在数据视图中隐藏列：

* 通过单击列上的 the 隐藏列 icon，然后单击来隐藏单个列。

* 通过单击任意列上的 the 显示列 icon，然后单击，隐藏多个列。这样可以控制视图中所有列的可见性。

### 下载样本数据

您可以下载所显示的样本数据：

* 单击 the 下载 icon 以下载样本数据视图的内容。

样本数据将作为 CSV 文件下载到您的浏览器下载项中。

## 验证和调整数据集

您可以验证数据任务中包含的所有数据集。

展开验证并调整以查看所有验证错误和设计更改。

### 验证数据集

* 单击验证数据集以验证数据集。

验证包括检查：

* 所有表都有一个主键

* 没有缺少的属性。

* 没有重复的表名或列名。

您还将获得与源代码相比的设计更改列表：

* 添加了表和列

* 删除的表和列

* 重命名的表和列

* 更改的主键和数据类型

展开验证并调整以查看所有验证错误和设计更改。

* 修复验证错误，然后再次验证数据集。

* 除更改的主键或数据类型外，大多数设计更改都可以自动调整。在这种情况下，您需要同步数据集。

### 准备数据集

如果可能的话，您可以准备数据集以调整设计更改，而不会丢失数据。如果有设计更改无法在不丢失数据的情况下进行调整，则可以选择在有数据丢失的情况下从源重新创建表。

这需要停止任务。

* 单击 the 准备 icon，然后单击。

准备数据集后，请在重新启动存储任务之前验证数据集。

### 重新创建数据集

您可以从源重新创建数据集。当您重新创建数据集时，将会发生数据丢失。只要您有源数据，就可以从源重新加载它。

信息注释如果个别表存在问题，建议首先尝试重新加载表，而不是重新创建它们。重新创建表可能会导致历史数据丢失。如果存在中断更改，还必须准备使用重新创建的数据任务的下游数据任务，以重新加载数据。

这需要停止任务。

* 单击 the 重新创建表格 icon，然后。

### 正在下载验证数据

您可以从 验证错误、设计变更 和 准备进度 下载数据：

* 点击 the 下载 icon 进行下载。

数据将作为 CSV 文件下载到您的浏览器下载文件夹中。

## 限制

* 在 Google BigQuery 中，如果删除或重命名列，这将重新创建表并导致数据丢失。