...
You will reformat post codes to remove all spaces, and ensure that all letters are upper case:
- In your model, add a new stream:
- Hover over
Customer Details with Region
, and press
- Hover over
...
- Add a new Stream
- Give the new Stream the Name:
Reformatted Customer Details
- Drag all attributes from
Customer Details with Region
to the new stream
- Open the configuration form for
Reformatted Customer Details
- In the Attributes section, add a new attribute:
- Press
- In the attribute details form that pops up:
- Set the Name:
ReformattedPostCode
- Leave the settings for the attribute as default (Type is String, Length is 50)
- Set the Attribute Expression to
- In the Attributes section, add a new attribute:
Code Block |
---|
toUpper(replaceAll(in.PostCode, " ", "")) |
...
In the repository browser find - Attribute Attribute Functions. All attribute functions available in PhixFlow are shown. Find the attribute functions you used above – toUpper() and replaceAll() – and double-click each of these to see the help pages for these functions.
...
Now you will generate a short code for counties by taking the first 3 letters of the county for each customer detail record:
- Add a new attribute called
CountyShortCode
- Leave the default settings
Set the attribute expression to
Code Block substring(in.County, 1, 3)
Press
Categorise bills as "LARGE" or "NORMAL"
Categorise bills as "LARGE" or "NORMAL":
- Add a new attribute called
BillCategory
- Leave the default settings
Start the attribute expression to:
Code Block if (in.BILLAMOUNT > 10.0, "LARGE", "NORMAL")
Press
Set special processing flag
Finally, you will now set a special processing flag – this will be set to "YES" when the last bill for the customer is large. To do this, we need to access an attribute value in the stream, but which is not in any of the input pipes to the stream - only in the stream output. To do this, you will use the internal variable _out:
- Add a new attribute called
SpecialProcessing
- Leave the default settings
Start the attribute expression with:
Code Block if (_out.BillCategory == "LARGE", "YES", "NO")
- Press
Run stream
- In the main stream configuration form, press
- Remember to save your model layout.
- Run analysis on
Reformatted Customer Details
- Have a look at the data in the new stream – check that all your transformations have been correctly applied