Intended to show hierarchical information, this type is similar to Superlist. This kind of channels are only usefull when used in Axional Mobile. See Axional Mobile Catalist section for further information about Catalist Features.
 

1 SQL Statement

The first step is to setup the query.

The aim of this superlist is to show three graphics where the data displayed corresponds to one year sales, costs and unit sales. For this is needed to create the appropiate columns for the corresponding months and data. See the sentence used below.

Copy
<select>
        <columns>
            store_city,
            (SELECT SUM(store_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "1") <alias name='sales_jan'/>,
            (SELECT SUM(store_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "2") <alias name='sales_feb'/>,
            (SELECT SUM(store_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "3") <alias name='sales_mar'/>,
            (SELECT SUM(store_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "4") <alias name='sales_apr'/>,
            (SELECT SUM(store_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "5") <alias name='sales_may'/>,
            (SELECT SUM(store_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "6") <alias name='sales_jun'/>,
            (SELECT SUM(store_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "7") <alias name='sales_jul'/>,
            (SELECT SUM(store_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "8") <alias name='sales_aug'/>,
            (SELECT SUM(store_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "9") <alias name='sales_sep'/>,
            (SELECT SUM(store_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "10") <alias name='sales_oct'/>,
            (SELECT SUM(store_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "11") <alias name='sales_nov'/>,
            
            (SELECT SUM(store_cost) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "1") <alias name='cost_jan'/>,
            (SELECT SUM(store_cost) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "2") <alias name='cost_feb'/>,
            (SELECT SUM(store_cost) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "3") <alias name='cost_mar'/>,
            (SELECT SUM(store_cost) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "4") <alias name='cost_apr'/>,
            (SELECT SUM(store_cost) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "5") <alias name='cost_may'/>,
            (SELECT SUM(store_cost) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "6") <alias name='cost_jun'/>,
            (SELECT SUM(store_cost) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "7") <alias name='cost_jul'/>,
            (SELECT SUM(store_cost) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "8") <alias name='cost_aug'/>,
            (SELECT SUM(store_cost) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "9") <alias name='cost_sep'/>,
            (SELECT SUM(store_cost) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "10") <alias name='cost_oct'/>,
            (SELECT SUM(store_cost) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "11") <alias name='cost_nov'/>,
            
            (SELECT SUM(unit_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "1") <alias name='units_jan'/>,
            (SELECT SUM(unit_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "2") <alias name='units_feb'/>,
            (SELECT SUM(unit_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "3") <alias name='units_mar'/>,
            (SELECT SUM(unit_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "4") <alias name='units_apr'/>,
            (SELECT SUM(unit_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "5") <alias name='units_may'/>,
            (SELECT SUM(unit_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "6") <alias name='units_jun'/>,
            (SELECT SUM(unit_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "7") <alias name='units_jul'/>,
            (SELECT SUM(unit_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "8") <alias name='units_aug'/>,
            (SELECT SUM(unit_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "9") <alias name='units_sep'/>,
            (SELECT SUM(unit_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "10") <alias name='units_oct'/>,
            (SELECT SUM(unit_sales) FROM sales_fact_1998 INNER JOIN time_by_day ON time_by_day.time_id=sales_fact_1998.time_id 
            WHERE sales_fact_1998.store_id=store.store_id AND time_by_day.month_of_year = "11") <alias name='units_nov'/>, 
            
            SUM(store_sales)  <alias name='store_sales'/>,
            SUM(store_cost)   <alias name='store_cost'/>,
            SUM(unit_sales)   <alias name='unit_sales'/>
        </columns>
        <from table='sales_fact_1998'>
            <join table='time_by_day'>
                <on>sales_fact_1998.time_id=time_by_day.time_id</on>
            </join>
            <join table='store'>
                <on>store.store_id = sales_fact_1998.store_id</on>
            </join>
        </from>
        <group>1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34</group>
        <order>1</order>
    </select>

There are also going to be displayed some values as in a plane list.

 

2 Columns headers

In this case it is important to define the column headers, those are going to group the data. To display this data as a graphic, the user must select the Render of this column header as it is shown in the picture.

 

3 Output Fields

In the output field the user has to add all the columns. Those have to be defined with the corresponding Header and its appropiate Render

 

4 Result

IMPORTANT NOTE

It must take into consideration that catalist supports some graphs depending on the result data, wherefore some types of graphics will not be represented if data is not adequate. This is the case of Pies charts, Funnels, Gauges or Radars, that will be represented as cartesian ones.