9.9 Split string using comma as the delimiter

 

Use comma as the delimiter to split a string into a sequence of strings.
Get names of products each customer purchases. Use the comma to separate multiple products. Here are Product table and Sales table:

Product:

ID Name Website
R Report http://www.raqsoft.com.cn/r
P esProc http://www.raqsoft.com.cn/p
C esCalc http://www.raqsoft.com.cn/c
M AI Models http://www.yimming.com/

Sales:

ID Customer Product
1 VINET R
2 TOMSP P,R
3 HANAR P,R,C
4 VICTE P

The s.split(d) function works with @c option to split a string character by character when parameter d is absent.

SPL script:

A
1 =connect(“db”)
2 =A1.query(“select * from Product”)
3 =A1.query@x(“select * from Sales”)
4 =A3.run(Product=Product.split@c())
5 =A4.run(Product=Product.(A2.find(~).Name).concat@c())

A1 Connect to the database.
A2 Import Product table.
A3 Import Sales table.
A4 split() function works with @c option to split products in Sales table with the comma and return result as a sequence.
A5 Find product names according to product ID and connect members of the sequence of product names into a string.

Execution result:

A4:

ID Customer Product
1 VINET [R]
2 TOMSP [P,R]
3 HANAR [P,R,C]

A5:

ID Customer Product
1 VINET Report
2 TOMSP esProc,Report
3 HANAR esProc,Report,esCalc