Problem Note 2557: CROSSTABFREQS data set created from ODS OUTPUT statement and PROC FREQ
contains incorrect output for TABLE variable
The dataset created by the ODS OUTPUT statement for the cross tabular
frequency table (CROSSTABFREQS) sometimes contains incorrect values for
one of the TABLE variables as well as the _TYPE_ variable. The problem
occurs when the TABLE contains numeric variables with a length less than
8 bytes.
Using the code below, the X value in the data set XTAB is always zero(0)
even though there are values of one(1) in the data set for X. The _TYPE_
values are also incorrect.
The workaround is to change the lengths of the TABLE variables (in this
case: X and Y) to 8.
data test;
length x y 4;
/* workaround: */
/* length x y 8; */
input x y;
cards;
0 1
1 0
0 1
0 1
1 1
0 0
0 1
;
ods output crosstabfreqs = xtab;
proc freq;
tables x*y / out=new outpct;
run;
proc print data=xtab;
title 'dset from ODS';
run;
proc print data=new;
title 'dset from FREQ';
run;
Operating System and Release Information
| Product Family | Product | System | Reported Release | Fixed Release* |
| SAS System | Base SAS | OpenVMS VAX | 8 TS M0 | 8.1 TS1M0 |
| Solaris | 8 TS1M0 | 8.1 TS1M0 |
| 64-bit Enabled Solaris | 8 TS1M0 | 8.1 TS1M0 |
| IRIX | 8 TS1M0 | 8.1 TS1M0 |
| ABI+ for Intel Architecture | 8 TS1M0 | 8.1 TS1M0 |
| OpenVMS Alpha | 8 TS M0 | 8.1 TS1M0 |
| HP-UX | 8 TS1M0 | 8.1 TS1M0 |
| 64-bit Enabled HP-UX | 8 TS1M0 | 8.1 TS1M0 |
| Tru64 UNIX | 8 TS1M0 | 8.1 TS1M0 |
| 64-bit Enabled AIX | 8 TS1M0 | 8.1 TS1M0 |
| AIX | 8 TS1M0 | 8.1 TS1M0 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
| Type: | Problem Note |
| Priority: | alert |
| Topic: | SAS Reference ==> ODS (Output Delivery System)
|
| Date Modified: | 2000-05-08 13:26:16 |
| Date Created: | 2000-05-01 11:40:42 |