关系型数据建模
Zoho Analytics 中一个很棒的功能,是它支持关系型数据建模的方式。您可以创建或导入由多个表组成的数据库,表之间如同关系数据库一样定义了关系。在关系数据库世界中,表使用外键关系进行关联。在 Zoho Analytics 中,这通过使用查找列功能来完成,其中一个表中的一列指向另一个表中的一列。
使用查找列之类的功能,您可以
- 以正规化模型组织您的数据,避免表之间的信息重复
- 分离为度量(可以聚合的数字数据列)和事实/维度(用于在报表中进行分组的数据列)。
- 定义熟悉的模型,如星型模式和雪花型模式,这些模型针对报表和分析进行了优化。
使用查找列关联两个表后,Zoho Analytics 将使用此信息通过组合这些表中的列来无缝地创建报表,而无需额外的工作。这在本文档的使用自动连接连接表章节中进行了详细讨论。
将表与查找列关联
让我们尝试通过创建一个示例员工数据库来说明此功能。假设员工数据库包含两个表,部门和员工。部门表包含两列 - 部门名称和部门 ID。
员工表包含员工名称及其各自的员工 ID。每个员工所属的部门在第三列部门 ID 中提及。
我们将部门表中的部门 ID 定义为将在员工表中由部门 ID 查找的列。单击员工表中的编辑设计按钮以定义此关系。双击“查找列”字段中的单元格,在下拉框中列出不同的表及其列。在我们的示例中,我们选择了部门表的部门 ID。
您还可以按照以下步骤创建查找列:
- 打开相应的表,右键单击列标题,并选择更改为查找列。
- 在打开的更改为查找列对话框中,选择要查找的列。
查找列可用于连接需要从工作区中的两个或多个表中检索数据的表。在 Zoho Analytics 中,可使用以下两种方式连接具有查找关系的表:
使用自动连接连接表
在创建报表时,Zoho Analytics 为您提供了一个称为自动连接的特殊功能,可自动连接使用查找列连接的表。选择要在其上创建报表的表后,自动连接功能会尝试确定所选表是否具有与数据库中的其他表定义的任何查找关系。如果有,自动连接将在报表设计器中的列列表面板中列出关联表中的所有列。
列出后,您可以将所需列从列表中拖放到相应的框架中以创建报表。Zoho Reports 将连接相应表,并获取所需数据以生成报表。 (您还可以使用查询表连接表。请参阅主题“使用查询表连接表”)。
以下示例显示了使用自动连接功能在员工和部门表的基础上创建的“每个部门员工计数透视表”。
在以上示例中,自动连接功能检测了部门和员工表之间创建的查找关系(请参阅主题使用查找列关联表下讨论的示例模型,该示例中使用了两个表中共同出现的部门 ID(查找)列。)基于此关系,它将在报表设计器中的列列表面板下列出两个表的列,如以上屏幕快照所示。
在此透视表中,我们使用了来自部门表(放置于行框架中)的部门名称列和来自员工表(放置于数据框架中,已应用“计数”函数)的员工 ID 列。在生成透视表时,自动连接功能将使用查找列部门 ID ,自动连接来自部门和员工表的数据,并提供报表。
默认情况下,Zoho Analytics 将使用“左连接”类型连接表。可能的连接类型有
- 左连接 - 将使用子表(左)中的所有行和父表(右)中的匹配行计算报表。匹配是基于子表与父表之间定义的查找列完成的。这将是默认的连接类型。
- 右连接 - 将使用父表(右)中的所有行和子表(左)中的匹配行计算报表。匹配是基于父表与子表之间定义的查找列完成的。
您可以选择更改连接类型。通过连接表创建报表时,您将在报表设计器中找到视图关系图标。单击此图标,使用的视图关系对话框将打开。选择连接的类型并单击应用。
使用查询表连接表
查询表这一功能可让您准备数据以轻松报表和分析。您可以从工作区中的一个或多个表组合数据,并使用标准 SQL SELECT 查询创建特定数据视图。这些数据视图类似于表,您可以执行报表创建、共享之类的操作,甚至在现有查询表的基础上创建另一个查询表。
您可以创建查询表,以便筛选数据集、批处理数据集(并集)、变换数据、应用 SQL 查询函数、连接数据集等。
例如,组合了“员工”和“部门”表的查询可以如下所示。
上面的示例查询连接了“员工”和“部门”表,以获取映射到每个员工的部门名称。在通过连接必要的表而创建的查询表的基础上,Zoho Analytics 允许您创建任何类型的报表以进行分析和可视化。