This is almost impossible to answer unless we have a bit more information:
-- what procedure or code are you using to create your output?
-- what destination (ODS HTML, LISTING, ODS RTF, ODS PDF) are you using for the output?
-- what does your data set look like? Show some sample data -- for example are these two rows of information coming from a summary procedure (like PROC MEANS or PROC TABULATE??) How do you get these numbers?
-- Are your variables in the second column (the 47 and 465.00) character or numeric variables? Most SAS procedures would want the same numeric format to be used for one column. But, if you were using PROC REPORT, for example, you -could- format the number in one row to have no decimal places and the number in a different row to have 2 decimal places - -but this is not possible with many other procedures.
I am having a problem envisioning what your data looks like. This usage of RptMthC in the column statement:
column Brand2 EndStatus RptMthC , (endcnt TotalPct) ;
with RptMthC,(endcnt TotalPct) would normally indicate that you wanted RptMthC to be an ACROSS usage. Generally, you have numeric variables -under- ACROSS variables ...so I would have expected endcnt and TotalPct to be either DISPLAY usage or SUM, MEAN or some other ANALYSIS usage. Instead I notice that you have endcnt as a GROUP usage and TotalPct as a SUM usage. I would expect that while this might not give you errors in the PROC REPORT step, it also might not look the way you desire.
However, when I run some test data using code based on your original code, I see that ENDCNT is right justified (assuming it is numeric) and that TOTALPCT has a percent sign and is also right justified in the cell. In my fake data, ENDCNT is NUMERIC and TOTALPCT is numeric and RPTMTHC is a CHARACTER variable, as shown below. Can you show a sample of the data you're working with???
Have you thought about using logic to combine the text and numbers you need into a single variable? Then your Proc Report would display that variable. You might need to also create a sequence variable to insure your lines display in the correct order.
If your dataset contained two variables: cnt and amt, the code might look like this:
length seq 8. text $40. cnt_x amt_x $10.;
/* Generate Customer Count Variable */
seq = 1;
cnt_x = strip(put(cnt,3.)); /* Format and Move Count to character Var */
len_cnt = length(cnt_x); /* Determine the Length of the Count Var */
text = 'Total Customer Count';
len_text = length(text); /* Determine the Length of the Text Var */
num_per = 40-(len_text+len_cnt); /* Calculate the number of Periods */
text = strip(text) || repeat('.',num_per-1) || strip(cnt_x); /* Build the Text Var */