【摘要】
用实例、分步骤,详细讲解多维分析(OLAP)基础宽表的实现。点击了解多维分析后台实践 1:基础宽表
实践目标
本期目标是练习如何搭建多维分析后台的基础宽表,并通过 SPL 和 SQL 访问基础宽表。
实践的步骤:
1、 准备基础宽表:将基础宽表数据从数据库中取出,存成组表文件。
2、 访问基础宽表:用 SPL 或者 SQL 语句访问。
本期样例宽表为 customer 表。从 Oracle 数据库中取出宽表数据的 SQL 语句是 select * from customer。执行结果如下图:

其中字段包括:
CUSTOMER_ID NUMBER(10,0), 客户编号
FIRST_NAME VARCHAR2(20), 名
LAST_NAME VARCHAR2(25), 姓
PHONE_NUMBER VARCHAR2(20), 电话号码
BEGIN_DATE DATE, 开户日期
JOB_ID VARCHAR2(10), 职业编号
JOB_TITLE VARCHAR2(32), 职业名称
BALANCE NUMBER(8,2), 余额
EMPLOYEE_ID NUMBER(4,0), 开户雇员编号
DEPARTMENT_ID NUMBER(4,0), 分支机构编号
DEPARTMENT_NAME VARCHAR2(32), 分支结构名称
FLAG1 CHAR(1), 标记 1
FLAG2 CHAR(1), 标记 2
FLAG3 CHAR(1), 标记 3
FLAG4 CHAR(1), 标记 4
FLAG5 CHAR(1), 标记 5
FLAG6 CHAR(1), 标记 6
FLAG7 CHAR(1), 标记 7
FLAG8 CHAR(1), 标记 8
多维分析计算的目标可以用下面的 SQL 语句表示:
select department_id,job_id,begin_date,sum(balance) sum,count(customer_id) count
from customer
where department_id in (10,20,50,60,70,80) and flag1='1' and flag8='1'
group by department_id,job_id,begin_date
准备宽表
编写 etl.dfx,从数据库中取出数据生成组表文件 customer.ctx,即存储为宽表。代码示例如下:
| A | B | |
| 1 | =connect@l("oracle") | =A1.cursor("select * from customer") |
| 2 | =file("data/customer.ctx").create@y(customer_id,first_name,last_name,phone_number,begin_date,job_id,job_title,balance,employee_id,department_id,department_name,flag1,flag2,flag3,flag4,flag5,flag6,flag7,flag8) | |

本文通过实例详细介绍了如何构建和访问多维分析的后台基础宽表,包括从数据库中提取数据生成组表文件,使用SPL和SQL访问宽表,以及优化查询性能的方法。
最低0.47元/天 解锁文章
686

被折叠的 条评论
为什么被折叠?



