数据建模的最佳实践
本部分介绍根据数据构建方式和需要实现的数据模型将数据加载到 QlikView 文档中的各种不同方式。
通常,将数据加载到文档的方式可以按提取、转换和加载过程介绍:
-
提取
第一步是从数据源系统提取数据。在脚本中,使用 SELECT 或 LOAD 语句定义此步骤。这些语句之间的差别是:
- SELECT 用于从 ODBC 数据源或 OLE DB 提供程序选择数据。SELECT SQL 语句是由数据提供程序(而非 QlikView)评估。
- LOAD 用于从文件、脚本中定义的数据、之前加载的表格、网页、后续 SELECT 语句的结果中加载数据,或通过自动生成数据加载数据
-
转换
转换阶段涉及通过使用脚本函数和规则派生所需数据模型结构来操作数据。典型的操作包括:
- 计算新值
- 转换编码值
- 重命名字段
- 联接表格
- 聚合值
- 透视
- 数据验证
-
加载
在最后一步中,可以运行脚本来加载定义到文档中的数据模型。
您的目标应是创建数据模型,以便在 QlikView 中有效地处理数据。通常,这意味着您的目标应是不使用任何循环引用合理地规范化星型模型和雪花模型,即将每个实体保存在单独的表格中的模型。换句话说,典型的数据模型如下所示:
- 中心事实表格包含维度和数字的关键项,用于计算度量(如单位数量、销售金额和预算金额)。
- 周围表格包含维度及其所有属性(如产品、客户、类别、日历和提供商)。
信息注释在许多情况下,通过在加载脚本中创建更丰富的数据模型或在图表表达式中执行聚合可以解决一个任务,如聚合。作为一般规则,如果在加载脚本中保存数据转换,将会体验到更好的性能。
提示注释一种比较好的做法是在文件中描绘数据模型。这可以通过提供数据结构帮助您提取所需的数据和执行转换。
数据模型中的每个表格通常都对应一个 SELECT 或 LOAD 语句。这些语句之间的差别是:
- SELECT 用于从 ODBC 数据源或 OLE DB 提供程序选择数据。SELECT SQL 语句是由数据提供程序(而非 QlikView)评估。
- LOAD 用于从文件、脚本中定义的数据、之前加载的表格、网页、后续 SELECT 语句的结果中加载数据,或通过自动生成数据加载数据