生成 SPLX 文件

阅读(1761) 标签: splx, 导出,

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.ctxEMPLOYEE_DEPT.btxgender.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内容如下: