使用 Crosstable 前缀
交叉表是常见的表格类型,特点是在两个标题数据正交列表之间显示值矩阵。只要您拥有数据的交叉表,均可使用 Crosstable 前缀转换数据并创建所需的字段。
Crosstable 前缀
在下面的 Product 表中,每个月份必须使用一列,且每种产品必须使用一行。
Product | Jan 2014 | Feb 2014 | Mar 2014 | Apr 2014 | May 2014 | Jun 2014 |
---|---|---|---|---|---|---|
A | 100 | 98 | 100 | 83 | 103 | 82 |
B | 284 | 279 | 297 | 305 | 294 | 292 |
C | 50 | 53 | 50 | 54 | 49 | 51 |
加载表时,输出是一个表,其中 Product 一个字段,月份中的每个一个字段。
如果您想要分析此数据,则可以轻松收集一个字段中的所有数字和另一个字段中的所有月份。在本例中,这是一个三列表,每个类别 (Product, Month, Sales) 有一列.
Crosstable 前缀可将数据转换成一个表格,其中一列为 Month,另一列为 Sales。另一种方法是使用字段名称并将其转换成字段值。
执行以下操作:
- 新建应用程序并将其命名为高级脚本编写教程。
- 在数据加载编辑器中新增脚本段。
- 命名部分为 Product。
-
在右菜单的 DataFiles 下,单击选择数据。
- 上传然后选择 Product.xlsx。
- 在选择数据自窗口中选择 Product。
- 单击插入脚本。
- 单击加载数据。
- 打开数据模型查看器。数据模型如下所示:
- 单击数据加载编辑器中的 Product 标签。
- 在 LOAD 语句上方输入以下内容:
- 单击加载数据。
- 打开数据模型查看器。数据模型如下所示:
您的脚本应如下所示:
CrossTable(Month, Sales)
注意输入数据只有一列作为限定符字段;作为内部键(上例中的 Product)。但是,您可以拥有多个此类字段。如果这样,则必须在 LOAD 语句的属性字段前面列出所有限定字段,且 Crosstable 前缀的第三个参数必须用来定义限定字段的数量。您不能使用前置 LOAD 或将前缀放置在 Crosstable 关键字的前面。但是您可使用自动串联。
在 Qlik Sense 中的表格里,您的数据形式如下:
例如您现在可以使用数据 创建条形图:
数字解释不适用于属性字段。这意味着如果您将月份用作列标题,则将不会自动对其进行解释。解决方法是使用 Crosstable 前缀创建一个临时表格,然后运行第二次通过它,使解释如下例所示:
注意这仅为示例。在 Qlik Sense 中没有附带的练习。
清除内存缓存
可以删除为清除内存缓存而创建的表。当按照上一节所述加载到临时表格后,然后在不再需要时应将其删除。例如:
也可以放置字段。例如:
如您所见,关键字 TABLE 和 FIELD 可为单数或复数。