Qlikview 简明教程

QlikView - Star Schema

星型架构模型是一种数据模型,其中多个维度链接到单个事实表。当然,在较大的模型中,可以有多个事实表链接到多个维度和其他事实表。此模型的实用性在于它可以在不同表之间执行最少连接的快速查询。事实表包含数据,即度量并且具有数值。计算应用于事实表中字段。维度表的唯一键用于将其链接到事实表,事实表通常也具有一个键,具有相同的字段名称。因此,事实表包含整个维度表的键,并形成用于各种查询的连接主键。

Input Data

下面列出了包含来自不同供应商和地区的不同产品的表格。同样供应发生在不同的时间间隔,这些时间间隔是在时间维度表中捕获的。

Product Dimension

它包含产品类别和产品名称。产品 ID 字段是唯一键。

ProductID,ProductCategory,ProductName
1,Outdoor Recreation,Winter Sports & Activities
2,Clothing,Uniforms
3,Lawn & Garden	Power, Equipment
4,Athletics,Rugby
5,Personal Care,Shaver
6,Arts & Entertainment,Crafting Materials
7,Hardware,Power Tool Batteries

Region Dimension

它包含供应商所在的区域名称。RegionID 字段是唯一键。

RegionID,Continent,Country
3,North America, USA
7,South America, Brazil
12,Asia,China
2,Asia,Japan
5,Europe,Belgium

Supplier Dimension

它包含供应上述产品的供应商名称。SupplierID 字段是唯一键。

SupplierID,SupplierName
3S12,Supre Suppliers
4A15,ABC Suppliers
4S66,Max Sports
5F244,Nice Foods
8A45,Artistic angle

Time Dimension

数据包含上述产品的供应时间段。TimeID 字段是唯一密钥。

TimeID,Year,Month
1,2012,Feb
2,2012,May
3,2012,Sep
4,2013,Aug
5,2014,Jan
6,2014,Nov

Supplier Quantity Fact

数据包含供应数量的值以及供应中存在缺陷的百分比。它通过同名的密钥连接到上述每个维度。

ProductID,RegionID,TimeID,SupplierID,Quantity, DefectPercentage
1,3,3,5F244,8452,12
2,3,1,4S66,5124,8.25
3,7,1,8A45,5841,7.66
4,12,2,4A15,5123,1.25
5,5,3,4S66,7452,8.11
6,2,5,4A15,5142,3.66
7,2,1,4S66,452,2.06

Load Script

上述数据是使用脚本编辑器加载到 QlikView 内存中的。从“文件”菜单中打开“脚本编辑器”,或按 Control+E 。从 Data from Files 选项卡中选择 Table Files 选项,并浏览包含上述数据的文件。单击 OK 并按 Control+R 将数据加载到 QlikView 的内存中。以下是在读取上述每个文件后出现的脚本。

LOAD ProductID,
     ProductCategory,
     ProductName
FROM
[C:\Qlikview\images\StarSchema\Product_dimension.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

LOAD TimeID,
     Year,
     Month
FROM
[C:\Qlikview\images\StarSchema\Time.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

LOAD SupplierID,
     SupplierName
FROM
[C:\Qlikview\images\StarSchema\Suppliers.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

LOAD RegionID,
     Continent,
     Country
FROM
[C:\Qlikview\images\StarSchema\Regions.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

LOAD ProductID,
     RegionID,
     TimeID,
     SupplierID,
     Quantity,
     DefectPercentage
FROM
[C:\Qlikview\images\StarSchema\Supplier_quantity.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Star Schema Data Model

将上述数据读入 QlikView 内存后,我们可以查看数据模型,其显示了所有表、字段和星形模式的关系。

starschema model