If you are unable to create a new account, please email support@bspsoftware.com

 

Using "calculated dataitems" in BOTH rows and columns of a crosstab

Started by dylsing, 23 Nov 2006 10:41:41 PM

Previous topic - Next topic

dylsing

1) I am trying to produce a crosstab where both rows and columns are made up of data items that is defined with calculations.
2) My measures area DOES NOT contain any dataitems so what is displayed in there depends on the rows and columns.

Any suggestions how I can get the below crosstab or whether it is possible at all is deeply appreciated.

For example, the final crosstab I am producing is:

Ã,  Ã,  Ã,  Ã,  Ã,  (Current Mth)Ã,  (Current Mth YTD)
SalesÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 45Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  60
CostÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  30Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  40

- In the source database, Sales (code is 001) and Cost (code is
002) are extracted based on a unique code from the db rows.
Each row is one dataitem.
- Current Month figures and Current Month YTD however are two
separate columns in the db
- the db source looks something like this

(Period)Ã,  Ã,  Ã,  Ã,  (Code)Ã,  Ã,  Ã,  Ã, (Description)Ã,  Ã,  Ã,  Ã,  Ã,  (Current Mth)Ã,  Ã,  Ã,  Ã, (Current Mth YTD)
Ã,  2Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 001Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  SalesÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 45Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  30
Ã,  3Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 001Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  SalesÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 0Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  30
Ã,  3Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 002Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  CostÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  15Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  10
Ã,  3Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 002Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  CostÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  15Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  30

- What I did was to create a

  • Sales dataitem (pull figure from
    Current Month Figure column if code is 001) and
  • Cost dataitem
    (pull figure from Current Month Figure column if code is 002) to
    extract the figures in Current Month column.
- After that I pull the dataitems into the rows, and the Period column (which I
rename as current mth if it is = prompt month) into the
crosstabe to look like this

Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  (Current Mth )
SalesÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 45
CostÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  30

However because I want the Current Mth YTD info as well as a
column
, I have no idea how to add it in the same crosstab.
The Sales Dataitem cannot pull from two columns (Current Month &
Current Mth YTD) and populate two different intersections as in
the top crosstab.


BIsrik

This can be done by using auto-populate property of the cross tab. First create the query as like this
dimension - description
facts - CurrentMth,Current MTh YTD

Then choose a cross tab and select the auto-populate. This will give u the required results.

Srik

dylsing

Hey Srik,

thank for the reply! Good to hear a suggestion.

I just realised I made a mistake when I described my database source, it should be:
(Period)Ã,  Ã,  Ã,  Ã,  (Code)Ã,  Ã,  Ã,  Ã, (Description)Ã,  Ã,  Ã,  Ã,  Ã,  (Value)Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  (Value YTD)
Ã,  3Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 001Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  SalesÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  45Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  30Ã, 
Ã,  3Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 001Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  SalesÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, Ã,  Ã,  Ã, 0Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  30
Ã,  3Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 002Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  CostÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, Ã,  Ã,  Ã,  15Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  10
Ã,  3Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 002Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  CostÃ,  Ã,  Ã,  Ã,  Ã,  Ã, Ã,  Ã,  Ã,  Ã,  Ã,  15Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  30Ã, 

My requirements are much more complex than I described and to explain, in my present query, I do not have any facts but instead have:
1) SalesÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  -------> [if (code = 001) then (Value) else (0)] -------->Ã,  will be pulled to the rows area
2) CostÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, -------> [if (code = 002) then (Value) else (0)] -------->Ã,  will be pulled to the rows area
3) ProfitsÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, ------> [Sales - Cost]Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, -------->Ã,  will be pulled to the rows area
4) Current MthÃ,  Ã,  -------> [if period = ?paramMth? then ('Current Mth') else (null)] -------->Ã,  will be pulled to the columns area

This gives me:
Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  (Current Mth )
SalesÃ,  Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 45
CostÃ,  Ã, Ã,  Ã,  Ã,  Ã,  Ã,  Ã,  30
Profits Ã,  Ã,  Ã,  Ã,  Ã,  Ã, 15

I need the rows to be in a certain order (following some old report we have) and for some rows, they are calculated using some formula (eg. [Profits = (Sales - Cost)] ) , and in fact there are many more dataitems to be pulled to the rows area(based on other codes).
Because of this, I have problems adding one more dataitem (Current Mth YTD) to pull to the columns area which is my question now; what's the better way to achieve this effect?

Please feel free to correct me if my design is fundamentally flawed, again thanks for your suggestion.