# 通用数据库

通用数据库是一个表格，其中字段名作为字段值储存在一列中，而字段值储存在第二列。通用数据库通常用于不同对象的属性。

看看以下 GenericTable 示例。这是一个包含两个对象，一个球和一个框的通用数据库。显然，某些属性（如颜色和线宽）是两个对象的常见属性，而其他属性（如直径、高度、长度和宽度）并不常见。

GenericTable

| 对象 | 属性 | 值 |
| --- | --- | --- |
| 球 | 颜色 | 红色 |
| 球 | 直径 | 10 cm |
| 球 | 重量 | 100 g |
| 框 | 颜色 | 黑色 |
| 框 | 高度 | 16 cm |
| 框 | 长度 | 20 cm |
| 框 | 重量 | 500 g |
| 框 | 宽度 | 10 cm |

一方面，难以存储用于给出各列本身属性的数据，因为许多属性并不与特定对象相关联。

另一方面，混合长度、颜色和线宽显示，这会看上去显得杂乱。

如果使用标准方式将此数据库加载到 Qlik Sense，并在表格中显示数据，则如下所示：

![Data base data displayed in a table.](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Resources/Images/ex_gen_NonGeneric.png)

但是，如果作为通用数据库加载此表格，会将第二列和第三列拆分到不同的表格中，然后为第二列的每一个单值生成一个字段：

![Generic data model.](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Resources/Images/ex_gen_GenericDatabase.png)

这样做的语法很简单，如下例所示。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DataSource/generic-databases.htm)

#### 示例

### 加载脚本

将示例脚本添加到应用程序并运行。要查看结果，将结果列中列出的字段添加到应用程序中的工作表。

```
Sheet1:
Generic Load * inline [
object, attribute, value
ball, color, red
ball, diameter, 10 cm
ball, weight, 100 g
box, color, black
box, height, 16 cm
box, length, 20 cm
box, weight, 500 g
box, width, 10 cm ];
```

有关使用内联加载的详细信息，请参阅[使用内联加载来加载数据](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)。

### 结果

结果表

| 对象 | 颜色 | 直径 | 长度 | 高度 | 宽度 | 重量 |
| --- | --- | --- | --- | --- | --- | --- |
| ball | red | 10 cm | - | - | - | 100 g |
| box | black | - | 20 cm | 16 cm | 10 cm | 500 g |