...
Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
- Use an output multiplier to break out a record into multiple output records
In this exercise you will load reference data into your model which lists all the TV channels offered in each package. You will use this to break out each customer record, in Latest Package Update
, into a set of records for each channel that the customer has ordered.
Load reference data
...
...
- Create a database collector, using the datasource
Rating and Billing
, to read all the records from this table - Create a stream from this database collector
- Run analysis on the stream
Create a stream for full channel list
- Add a new stream to your model to hold the full channel list:
- Create a stream using the Add a new Stream button in the hover menu from
Latest Package Update
- Give the new Stream the Name
Latest Package All Channels
- Create a stream using the Add a new Stream button in the hover menu from
- Drag all attributes from
Latest Package Update
toLatest Package All Channels
- To complete the configuration:
- Add a lookup pipe from
SOURCE_PACKAGE_CHANNELS
intoLatest Package All Channels
- Call the pipe
chan
- Go to the Order/Index section
- Press - Show Stream Attributes
- Drag
PACKAGE
from the left hand (input) list - Drag
Package
from the right hand (output) list over the top of the Order/Index attributePACKAGE
- Double click on the Order/Index attribute
PACKAGE
to edit its details: - Update the Index Expression from
_out.Package
to:in.Package
- Save your changes
...
...
...
- Open the configuration form for the stream
Latest Package All Channels
by double clicking it - In the field Output Multiplier, enter the value:
chan.CHANNEL
This means that for each output record processed, PhixFlow will look up the list of channels for the package from the reference stream; it will then work through the list returned, handling each element from the list in turn and generating an output record in the stream for each one
- Add an attribute to the stream with Name
Channel
- Set the Expression of this attribute to
_outputMultiplier
This will print the value of the current element of the output multiplier list to this field
...
On older models in PhixFlow you may see the internal variable _type. This is the old name for _outputMultiplier. Either can be used, and anywhere you see _type you can update it to _outputMultiplier for clarity.
...