Hi:
I am having a hard time understanding what axxDPD_0 is and where it's coming from. Your posted output shows it at the end of a row and that doesn't look right given the structure of your table.
You have PRODUCT in the PAGE dimension, which would normally put the PRODUCT sitting on top of the "box area". In your case, you have the box labeled with the string "Markov Count", which i do NOT see in your output at all. Where is the label "Markov Count" in your posted output???
Then you have DELQ_N and DELQ_NPLUS1 in the ROW dimension and then you have DPE and NUM_REC in the COLUMN dimension (for simplicity, I am not mentioning the ALL or the statistics you have in the dimensions). So, what variable has a value of axxDPD_0??? PRODUCT???
You also have OUT= in the TABULATE code
[pre]
out=x_for_report
[/pre]
if you do a PROC PRINT on X_FOR_REPORT dataset, do you see the values you expect????
To get a better idea of what you might want, I have this simplified TABULATE code for just a few months and a few products using SASHELP.PRDSALE
[pre]
ods listing;
proc tabulate data=sashelp.prdsale formchar='|-+++|-++++';
where quarter = 1 and product in ('DESK', 'TABLE');
class product country region month;
table product all,
country*region all,
(month all)*n / box='Markov Count';
run;
[/pre]
this is the output for 2 PRODUCTS: DESK and TABLE (ALL table not shown)
[pre]
Product DESK
+-----------------------------------+--------------------------------------+------------+
|Markov Count | Month | |
| |------------+------------+------------+ |
| | Jan | Feb | Mar | All |
| |---------------------------------------------------+
| | N | N | N | N |
|-----------------+---------------------------------------------------------------------+
|Country |Region | | | | |
|-----------------------------------+ | | | |
|CANADA |EAST | 4.00| 4.00| 4.00| 12.00|
| |---------------------------------------------------------------------+
| |WEST | 4.00| 4.00| 4.00| 12.00|
|---------------------------------------------------------------------------------------+
|GERMANY |EAST | 4.00| 4.00| 4.00| 12.00|
| |---------------------------------------------------------------------+
| |WEST | 4.00| 4.00| 4.00| 12.00|
|---------------------------------------------------------------------------------------+
|U.S.A. |EAST | 4.00| 4.00| 4.00| 12.00|
| |---------------------------------------------------------------------+
| |WEST | 4.00| 4.00| 4.00| 12.00|
|-----------------+---------------------------------------------------------------------+
|All | 24.00| 24.00| 24.00| 72.00|
+-----------------------------------+------------+------------+------------+------------+
Product TABLE
+-----------------------------------+--------------------------------------+------------+
|Markov Count | Month | |
| |------------+------------+------------+ |
| | Jan | Feb | Mar | All |
| |---------------------------------------------------+
| | N | N | N | N |
|-----------------+---------------------------------------------------------------------+
|Country |Region | | | | |
|-----------------------------------+ | | | |
|CANADA |EAST | 4.00| 4.00| 4.00| 12.00|
| |---------------------------------------------------------------------+
| |WEST | 4.00| 4.00| 4.00| 12.00|
|---------------------------------------------------------------------------------------+
|GERMANY |EAST | 4.00| 4.00| 4.00| 12.00|
| |---------------------------------------------------------------------+
| |WEST | 4.00| 4.00| 4.00| 12.00|
|---------------------------------------------------------------------------------------+
|U.S.A. |EAST | 4.00| 4.00| 4.00| 12.00|
| |---------------------------------------------------------------------+
| |WEST | 4.00| 4.00| 4.00| 12.00|
|-----------------+---------------------------------------------------------------------+
|All | 24.00| 24.00| 24.00| 72.00|
+-----------------------------------+------------+------------+------------+------------+
[/pre]
Can you restate your question in the context of the above tables -- do you want to see the CANADA, GERMANY and USA on every row for region? Or do you want to see the PRODUCT values of DESK and TABLE someplace other than on top of the BOX area??? (Note that I did not use any analysis variables, in my table, since your question seems to be about the values shown for the CLASS variables, not the numbers used for analysis.)
PROC TABULATE creates output by "spanning" rows and "spanning" columns when you do nesting of class variables (as with the * operator). So TABULATE will NOT put a value on every row -- that is inherent in how TABULATE operates. And, when you use the PAGE dimension, the PAGE dimensioin causes TABULATE to make a table for every unique value of the PAGE variable -- in order to identify the PAGE dimension separate from the ROW and COL dimensions,
Without PRODUCT and ALL in the page dimension, you could generate a TABLE like this from PROC TABULATE:
[pre]
+-----------------------------------+--------------------------------------+------------+
|Markov Count | Month | |
| |------------+------------+------------+ |
| | Jan | Feb | Mar | All |
| |---------------------------------------------------+
| | N | N | N | N |
|-----------+-----------+---------------------------------------------------------------+
|Product |Country |Region | | | | |
|-----------------------------------+ | | | |
|DESK |CANADA |EAST | 4.00| 4.00| 4.00| 12.00|
| | |---------------------------------------------------------------+
| | |WEST | 4.00| 4.00| 4.00| 12.00|
| |---------------------------------------------------------------------------+
| |GERMANY |EAST | 4.00| 4.00| 4.00| 12.00|
| | |---------------------------------------------------------------+
| | |WEST | 4.00| 4.00| 4.00| 12.00|
| |---------------------------------------------------------------------------+
| |U.S.A. |EAST | 4.00| 4.00| 4.00| 12.00|
| | |---------------------------------------------------------------+
| | |WEST | 4.00| 4.00| 4.00| 12.00|
|---------------------------------------------------------------------------------------+
|TABLE |CANADA |EAST | 4.00| 4.00| 4.00| 12.00|
| | |---------------------------------------------------------------+
| | |WEST | 4.00| 4.00| 4.00| 12.00|
| |---------------------------------------------------------------------------+
| |GERMANY |EAST | 4.00| 4.00| 4.00| 12.00|
| | |---------------------------------------------------------------+
| | |WEST | 4.00| 4.00| 4.00| 12.00|
| |---------------------------------------------------------------------------+
| |U.S.A. |EAST | 4.00| 4.00| 4.00| 12.00|
| | |---------------------------------------------------------------+
| | |WEST | 4.00| 4.00| 4.00| 12.00|
|---------------------------------------------------------------------------------------+
|All |CANADA |EAST | 8.00| 8.00| 8.00| 24.00|
| | |---------------------------------------------------------------+
| | |WEST | 8.00| 8.00| 8.00| 24.00|
| |---------------------------------------------------------------------------+
| |GERMANY |EAST | 8.00| 8.00| 8.00| 24.00|
| | |---------------------------------------------------------------+
| | |WEST | 8.00| 8.00| 8.00| 24.00|
| |---------------------------------------------------------------------------+
| |U.S.A. |EAST | 8.00| 8.00| 8.00| 24.00|
| | |---------------------------------------------------------------+
| | |WEST | 8.00| 8.00| 8.00| 24.00|
|-----------+-----------+---------------------------------------------------------------+
|All | 48.00| 48.00| 48.00| 144.00|
+-----------------------------------+------------+------------+------------+------------+
[/pre]
That might get you closer to what you want.
cynthia
PS -- to preserve indenting when you cut and paste code and output, the following post might prove useful:
http://support.sas.com/forums/thread.jspa?messageID=27609毙
Use the [pre] and [/pre] tags around your code and output in order to maintain indenting and spacing.