Hi:
To post the LISTING output in a nicer way (and to present your code with all the indention maintained, refer to this previous forum posting.
http://support.sas.com/forums/thread.jspa?messageID=27609毙
In particular it discusses how to emphasize code and how to surround code snippets with [pre] and [/pre] -- you will need to use these tags before and after your code or LISTING output to make them look nicer when posted.
(Also, in order to protect > and < symbols, and to otherwise learn how to post special symbols to the forum, it is a good resource.)
To answer your first question, however, TABULATE cannot calculate "new" report columns. That is something that PROC REPORT can do (in a COMPUTE block) and there are many examples in previous forum postings of using PROC REPORT to add extra report columns that need to be calculated from other report items.
Other folks "pre-calculate" or create the new column in a datastep program prior to the PROC TABULATE step -- this may work for some statistics -- usually OK for simple sums or subtraction -- might not work for percents or more complicated formulas.
To take a stab at your second question, since I can't really see what you are talking about in the jumble of lines, I'm not sure whether you want to get rid of the string 'Action' or the whole ROW with the numbers for 'Action'?? I don't see not_que in your table, I only see rows for Action, and 1.app, 2.ref and 3.dec and Total. so I'm not sure what you want to do. If you want to get rid of the "double high" row in the table, you can do that by using the BOX= option and blanking out the row header 'Action', but if you are going to have to switch to REPORT to get your calculated column, then it becomes a moot point.
cynthia