/
14 Attribute scripting
PhixFlow Help
14 Attribute scripting
By the end of this chapter you will be able to:
- Use the switch() function
- Use the forEach() function
Using switch() to apply multiple tests
- Create a new model:
Attribute Scripting
- Drag the datasource
CRM
onto this model - From the datasource open the schema browser, find the table
SOURCE_BANK_ACCOUNT_TRANS
and create a database collector from it - Create a stream from this database collector – remember to use the button in the hover menu so that the stream attributes are automatically configured
- Open the help for the switch() function:
- Open the section - Attribute Functions in the repository – a list of all attribute functions available in PhixFlow will appear
- Double click on the entry for switch to bring up the help page
- Add an attribute to this stream to hold a description of the transaction type:
- Name:
TransactionTypeDesc
Expression: work out the transaction type description from
TRANSACTION_TYPE
, using aswitch()
statement, according to the rules below – use the examples in the help forswitch()
to get startedTRANSACTION_TYPE
Description
1
"Direct Debit"
2
"Standing Order"
3
"ePayment"
4
"Cheque"
Any other value
"Unknown"
- Name:
- Run the stream and check that your translation of transaction type to transaction type description is correct
Using forEach() to handle lists
- Create an aggregate stream, with name
Bank Account Summary
- Add a pipe from the stream you created in the previous exercise (this is probably called
SOURCE_BANK_ACCOUNT_TRANS
) toBank Account Summary
- Add to the pipe the grouping:
ACCOUNT_NUM
- Drag the attribute
ACCOUNT_NUM
intoBank Account Summary
from either the pipe or the input stream - Add an attribute:
- Name:
TotalPosTrans
- Type: Float
- Expression: using a
forEach
loop, add up the total of all positive transactions, and store it in this attribute
- Name:
- Run
Bank Account Summary
to test this new attribute - When this is working, update
TotalPosTrans
to also calculate the total of negative transactions, and the total of all transactions – and hold them in local variables ($variables) - Add two further attributes –
TotalNegTrans
andTotalTrans
- use these to store the values of all negative transactions and all transactions that you calculated inTotalPosTrans
- Run
Bank Account Summary
again to test the new attributes
Related content
15 Creating and using macros
15 Creating and using macros
Read with this
21 Attribute scripting
21 Attribute scripting
More like this
dateDiff
dateDiff
Read with this
14 Attribute Scripting
14 Attribute Scripting
More like this
13 Rolling back Streams
13 Rolling back Streams
Read with this
14 Attribute Scripting
14 Attribute Scripting
More like this
Please let us know if we could improve this page feedback@phixflow.com