欢迎来到在 Navicat BI 创建自定义字段系列的第三部分。在第一部分,我们学习了如何将类型更改字段添加到 Navicat BI 图表中。第二部分继续描述如何使用串联字段。今天的博客将介绍映射字段。我们将修改在前两篇文章中使用到的数据源,它连接到免费的 "dvdrental" 示例数据库 并返回每个电影类别的租赁列表。在下一篇博客中,我们将使用更新后的数据源创建一个图表,将新发行影片与其他类别影片进行比较。
映射字段概述
在许多方面,字段映射与信息技术(IT)中的转换过程极为相似。后者是将一个值通过算法转换成一个值,而字段映射只是将一个或多个列的值转换成另一个列的值。
有时可以在 SELECT 查询的字段列表子句中观察到字段映射。例如,“Sum of Payments per Movie Category”查询,它是整个系列的数据源,返回电影类别列表及其销售额(或更具体地说,租金)总和。我们可以使用 CASE 语句使某些类别名称更具描述性,如将 “Games”改为“Video Games”:
![field_mapping_query (105K)](https://www.navicat.com/link/Blog/Image/2024/20240806/CN/field_mapping_query.jpg)
创建 New Releases vs. Other Categories 数据源
在设计任何图表之前,我们需要一个数据源来获取所需的信息。当你有了一些数据源,你可能会发现重新利用现有的数据源比从头开始创建一个新的数据源要容易得多。事实上,我们上次使用的“Rentals by Category”数据源就可以很好地满足要求。
我们可以很容易地复制 Navicat BI 工作区中的任何项目,方法是在工作区中选择项目并右键单击(或在 macOS 中按住 Control 键单击)该项目,然后从弹出式菜单中选择复制 <项目类型>。这里,我们需要的菜单项是“复制数据源”:
![duplicate_menu_item (40K)](https://www.navicat.com/link/Blog/Image/2024/20240806/CN/duplicate_menu_item.jpg)
这将创建一个名为“Rentals by Category 1”的新数据源。重新命名新数据源,需单击一次项目将其选中,然后再单击一次激活编辑模式。当标签变成文本框,项目文本以蓝色高亮显示时,就说明项目已准备就绪,可以进行编辑了:
![rename_data_source (56K)](https://www.navicat.com/link/Blog/Image/2024/20240806/CN/rename_data_source.jpg)
将新数据源命名为“New Releases vs. Other Categories”。按回车键保存新名称:
![renamed_data_source (10K)](https://www.navicat.com/link/Blog/Image/2024/20240806/CN/renamed_data_source.jpg)
添加映射字段
要在数据源中添加新的“映射字段”,请右键单击“name”字段(或在 macOS 上按住 Control 键单击),然后在弹出菜单中选择“新建映射字段...”:
![new_mapped_field_menu_item (41K)](https://www.navicat.com/link/Blog/Image/2024/20240806/CN/new_mapped_field_menu_item.jpg)
将打开“新建映射字段”对话框。首先,将目标字段名称重命名为“mapped_category_names”。
接下来,我们要将“New”类别名称映射为更有描述性的名称。操作如下:
- 由于“New”类别将与新值进行一对一的映射,因此请从“映射方法”下拉菜单中选择“一对一”选项。
- 选择“New”作为“源值”。
- 输入“New Release”作为“映射值”。
现在,我们将对“Null”值(即未分配类别的影片)重复这一过程。
- 单击“添加”旁边的倒三角按钮,然后在弹出菜单中选择“添加一对一值...”。
- 在“添加一对一值”对话框中,选择(NULL)值旁边的复选框,并为“映射值”输入“Uncategorized”。
- 点击“确定”按钮,关闭对话框,然后将新行添加到“映射字段”表中。
最后,在“其他值”标签中选中“新值”单选按钮,然后输入“Other Categories”,这样,所有其他值都会被分配到这个总括类别中。此时对话框应如下所示:
![new_mapped_field_dialog (59K)](https://www.navicat.com/link/Blog/Image/2024/20240806/CN/new_mapped_field_dialog.jpg)
单击“确定”关闭对话框。现在应该可以在数据网格中看到“mapped_category_names”字段了:
![data_grid_with_mapped_category_names_field (119K)](https://www.navicat.com/link/Blog/Image/2024/20240806/CN/data_grid_with_mapped_category_names_field.jpg)
如果你愿意,可以删除其他计算字段(如上图所示),因为我们下周要制作的图表不需要这些字段。
结语
本博客介绍如何在你的 Navicat BI 数据源中使用映射字段。它是五种自定义字段类型之一,包括类型更改、串联、映射、自定义排序和计算。下周,我们将使用“New Releases vs. Other Categories”数据源创建图表,将新发行影片与其他类别进行比较。
你可以下载 Navicat BI 进行为期 14 天的全功能免费试用。它适用于 Windows、macOS 和 Linux 操作系统。