Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

Insert excerpt
_Banners
_Banners
nameanalysis
nopaneltrue

By the end of this chapter you will be able to:

Table of Contents

You will also learn how to pass only some records to the receiving

...

table using the Maximum Number of Records per Group option.

In this exercise you will select the most recent sales record for each customer from the set of combined updates you created in the previous exercise.

Create an aggregate

...

table

In PhixFlow, we use an aggregate

...

table to show that we are rearranging data from a single

...

table. See the reference page 

...

Aggregating Data for details.

...

  1. From the model toolbar,

...

  1. drag 
    Insert excerpt
    _

...

  1. table_aggregate
    _

...

  1. table_

...

  1. aggregate
    nopaneltrue

...

  1.  into the model.
  2. Set the

...

  1. table Name to Latest Package Update.
  2. Add a pipe from Combined Updates:
    1. Hover your mouse pointer over the

...

    1. table Combined Updates.
    2. In the context toolbar, click 
      Insert excerpt

...

    1. _pipe

...

    1. _pipe
      nopaneltrue
      .
    2. Click the

...

    1. table Latest Package Update to connect the pipe.
    2. PhixFlow opens the pipe settings. Click 
      Insert excerpt
      _finish
      _finish
      nopaneltrue
       to close the settings.
  1. Drag all attributes from Combined Updates to Latest Package Update.

    ...

      1. Hover your mouse pointer over the

    ...

      1. table Combined Updates.
      2. In the context toolbar, click 
        Insert excerpt

    ...

      1. _attributes
        _

    ...

      1. attributes
        nopaneltrue
        .

    ...

      1. PhixFlow lists the data attributes (column titles) for this

    ...

      1. table.
      2. Select all the attributes and drag them into the Latest Package

    ...

      1. Update table.
        Image Added
    1. In the Channel Package model toolbar, click 
      Insert excerpt
      _save
      _save
      nopaneltrue
      .

    When you next run this model, the Latest Package Updates

    ...

     table will pull in all the data from the Combined Updates

    ...

    table. At the moment the data will come into the aggregate

    ...

    table in any order. In PhixFlow you can sort the data as it comes through the input pipe to the aggregate

    ...

    table. You can also choose to add specific records to the receiving

    ...

    table.

    Group and order data on an input pipe

    In PhixFlow, as data records are passed through the model, you can rearrange the records or select records that meet certain criteria. You can do this using options on the

    ...

    table or options on the pipe. In this section you will use options on the pipe to pass one record per customer to the receiving

    ...

    table. That record will be the most recent one for the customer. To achieve this you will:

    • group the data, so that all the records with the same Customer Ref number are grouped into adjacent rows in the table.
    • sort the data from the newest to the oldest Sales Date. This means that the first record delivered by the input pipe, for each Customer Ref, is the most recent for that customer.
    • pass only the first record per customer record to the receiving

    ...

    • table.


    1. In the model, double-click on the pipe from the  Combined Updates

    ...

    1. table.
    2. Expand the Sort/Group section toolbar.
    3. In the section toolbar, click
      Insert excerpt

    ...

    1. _attributes

    ...

    1. _attributes
      nopaneltrue
      . Phixflow opens a list of the attributes that the Combined Updates

    ...

    1. table can pass to the pipe.
    2. Drag in CustomerRef. By default, this attribute has Group ticked and Direction set to A-Z (ascending).
      This means the data records will be grouped by CustomerRef.
    3. Drag in SalesDate. Double-click on SalesDate in the Sort/Group grid. PhixFlow opens the settings for the attribute. In Basic Settings, set:
      • DirectionZ-A (descending)
      • Group
        Insert excerpt
        _check_box_untick
        _check_box_untick
        nopaneltrue
      • Click 
        Insert excerpt
        _finish
        _finish
        nopaneltrue
         to save the change and close the attribute settings.
        This means the data records will be sorted by date, with the most recent first. 
    4. In the pipe settings → Sort/Group section, set Maximum Number of Records per Group to 1.
      This means PhixFlow will pass only one record, the first and therefore most recent, to the receiving

    ...

    1. table.

    2. Click 
      Insert excerpt
      _save
      _save
      nopaneltrue
       to save the pipe settings, which should look like this:

    ...

    1. Image Added
    2. In the model toolbar, click 
      Insert excerpt
      _save
      _save
      nopaneltrue
       to save the model.

    Now you can run the model and view the

    ...

    table data.

    1. Hover your mouse pointer over the Latest Package Update

    ...

    1.  table and click 
      Insert excerpt
      _run_analysis
      _run_analysis
      nopaneltrue
       then click YES to confirm.
    2. When PhixFlow notifies you that the analysis is finished, hover your mouse pointer over the Latest Package Update

    ...

    1.  table again.
    2. Click 
      Insert excerpt
      _view_show
      _

    ...

    1. view_show

    ...

    1. nopaneltrue
      .
    2. In the drop-down list, select 
      Insert excerpt
      _view_default
      _view

    ...

    1. _default

    ...

    1. nopaneltrue
      .  PhixFlow displays the data.
      Image Modified
      Notice that there is only one record per customer reference.
    2. If you also look at the default view for the Combined Updates

    ...

    1. table, you will see that some customers, such as C056 have more than one record. The most recent record has been passed to the Latest package Update

    ...

    1. table.