在ETL界面中点击工具 – 生成SPLX文件,保存为EmpForETL.splx文件,生成脚本内容如下:
|
|
A |
|
1 |
=connect("demo") |
|
2 |
="D:\\file\\ETL\\" |
|
3 |
=A1.query("SELECT Distinct GENDER FROM EMPLOYEE") |
|
4 |
=A3.(GENDER).new(#:gender_id,~:gender).keys@i(gender) |
|
5 |
=file(A2+"EMPLOYEE_GENDER.btx").export@b(A4) |
|
6 |
=file(A2+"department.txt").import@t(DEPT,MANAGER;," ") |
|
7 |
=A6.keys@i(DEPT) |
|
8 |
=file(A2+"department.btx").export@b(A7) |
|
9 |
=A1.cursor("SELECT EID,NAME,GENDER,BIRTHDAY,DEPT,SALARY, FAMILY.EID AS FAMILY_EID,FAMILY.NAME AS FAMILY_NAME,RELATION,FAMILY.GENDER AS FAMILY_GENDER,AGE FROM EMPLOYEE LEFT JOIN FAMILY ON EMPLOYEE.EID=FAMILY.EID WHERE EID<?",arg1) |
|
10 |
=A9.sortx(EID).new(#@:id,EID,NAME,A4.pfind(GENDER):GENDER,BIRTHDAY,A7.pfind(DEPT):DEPT,SALARY, age(BIRTHDAY):EMP_AGE,FAMILY_EID,FAMILY_NAME,RELATION,FAMILY_GENDER,AGE) |
|
11 |
=file(A2+"EMPLOYEE.ctx").create@yp(#id,EID,NAME,GENDER,BIRTHDAY,DEPT,SALARY,EMP_AGE, FAMILY_EID,FAMILY_NAME,RELATION,FAMILY_GENDER,AGE).append(A10).close() |
|
12 |
=A1.close() |
在IDE中打开脚本文件,设置arg1参数值为51,即检索出EID值小于51的数据,执行脚本后,D:/file/ETL目录下分别生成文件EMPLOYEE.ctx、EMPLOYEE_DEPT.btx、gender.btx。
由源表EMPLOYEE导出的EMPLOYEE.ctx文件内容如下,组表中包含了EMPLOYEE表与FAMILY表关联后的字段,id列值为数据行的序号,GENDER列值为维表gender中的gid值 ,DEPT列为序号化表EMPLOYEE_DEPT中的deptID值,EMP_AGE列为导出设置中增加的新字段 :

由序号化枚举列配置生成的EMPLOYEE_DEPT.btx文件内容如下,dept列为EMPLOYEE表中的DEPT值:

由文本文件gender.txt作为数据源导出的gender.btx内容如下:
