If you use "upcase()", your results should be consistent with the one I provided.
change: TRANSTRN(Variable, "_", "")
to: UPCASE(TRANSTRN(Variable, "_", ""))
See below:
PROC SQL;
/* CREATE TABLE backTestGroup2 AS */
CREATE TABLE backTestGroup3 AS
SELECT Variable length=20
, COUNT(DISTINCT CATX('|', Mean, Stddev, Center, Slope, Mean)) AS num_distinct_values
, AVG(Mean) AS Mean_Mean
, AVG(Stddev) AS Mean_Stddev
, AVG(Center) AS Mean_Center
, AVG(Slope) AS Mean_Slope
, CASE WHEN calculated num_distinct_values > 1
THEN '<== Note: summary statistic is an average (more than one unique row was returned)'
ELSE '' END AS remark length=100
FROM (SELECT DISTINCT UPCASE(TRANSTRN(Variable, "_", "")) AS Variable, Mean, Stddev, Center, Slope
FROM ozMeans
UNION
SELECT DISTINCT UPCASE(TRANSTRN(Variable, "_", "")) AS Variable, Mean, Stddev, Center, Slope
FROM backTestGroup2
WHERE UPCASE(TRANSTRN(Variable, "_", ""))
NOT IN (SELECT UPCASE(TRANSTRN(Variable, "_", "")) FROM ozMeans)
) As InnerQry
GROUP BY Variable
ORDER BY 1;
QUIT;
... View more