Beginning in SAS® 9.2, you might receive the following error for PROC OLAP when attempting to build a SAS OLAP cube from a star schema:
ERROR: Read Access Violation In Task [ OLAP ]
Exception occurred at (58C38E4B)
Task Traceback
Address Frame (DBGHELP API Version 4.0 rev 5)
58C38E4B 09C6EBFC saspolap:mcn_main+0x27E4B
NOTE: The SAS System stopped processing this step because of errors.
This error can be received when all of the following conditions are true.
-
At least one dimension in the cube has multiple hierarchies.
-
The dimension is loaded from a dimension table rather than from a detail table.
-
The multiple hierarchies in any one dimension do not have enough levels in common such that the sum of all common and uncommon levels exceeds the value of 19.
As an example, the following dimension definition meets the above criteria because the dimension contains more than one hierarchy, it is loaded from a dimension table, and the number of levels in that dimension is greater than 19. In this case, it has 20 levels.
Dimension X Hierarchies=( H1 H2 ) dimtable=lib.dimtableX;
Hierarchy H1 Levels=( L1, L2,...L10 );
Hierarchy H2 Levels=( L11, L12,...L20 );
As another example, the following dimension also meets the criteria. It differs from the first example in that the hierarchies of this dimension share at least some levels, but not enough levels such that the total number of levels in the hierarchy exceeds 19.
Dimension X Hierarchies=( H1 H2 H3 ) dimtable=lib.dimtableX;
Hierarchy H1 Levels=( L1, L2, ...L10, L12 );
Hierarchy H2 Levels=( L11, L12, ...L20 );
Hierarchy H3 Levels=( L21, L2, L13, L8 );
While it is true that you cannot have more than 19 levels in a given hierarchy, not including the ALL level, you can have more than 19 levels for the dimension, with a maximum of 258 levels between all dimensions for the entire cube.
PROC OLAP incorrectly assumes that the maximum number of distinct levels in any one dimension will never exceed 19. Due to a change in the way hierarchy members are represented internally starting with SAS 9.2, this assumption can result in unexpected results like the access violation.
For more information on sizing specifications for the structure of a SAS OLAP cube, see SAS OLAP Cube Size Specifications in the SAS 9.3 OLAP Server: User's Guide.
Click the Hot Fix tab in this note to access the hot fix for this issue.
Operating System and Release Information
SAS System | SAS OLAP Server | Microsoft® Windows® for x64 | 9.2 TS2M0 | 9.3 TS1M2 |
Microsoft Windows Server 2003 Datacenter Edition | 9.2 TS2M0 | 9.3 TS1M2 |
Microsoft Windows Server 2003 Enterprise Edition | 9.2 TS2M0 | 9.3 TS1M2 |
Microsoft Windows Server 2003 Standard Edition | 9.2 TS2M0 | 9.3 TS1M2 |
Microsoft Windows Server 2003 for x64 | 9.2 TS2M0 | 9.3 TS1M2 |
Microsoft Windows Server 2008 for x64 | 9.2 TS2M0 | 9.3 TS1M2 |
Microsoft Windows XP Professional | 9.2 TS2M0 | 9.3 TS1M2 |
Microsoft Windows XP 64-bit Edition | 9.2 TS2M0 | 9.3 TS1M2 |
Microsoft Windows Server 2003 Enterprise 64-bit Edition | 9.2 TS2M0 | 9.3 TS1M2 |
Microsoft Windows Server 2003 Datacenter 64-bit Edition | 9.2 TS2M0 | 9.3 TS1M2 |
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.2 TS2M0 | 9.3 TS1M2 |
z/OS | 9.2 TS2M0 | 9.3 TS1M2 |
Windows Vista | 9.2 TS2M0 | 9.3 TS1M2 |
Windows Vista for x64 | 9.2 TS2M0 | 9.3 TS1M2 |
64-bit Enabled AIX | 9.2 TS2M0 | 9.3 TS1M2 |
64-bit Enabled HP-UX | 9.2 TS2M0 | 9.3 TS1M2 |
64-bit Enabled Solaris | 9.2 TS2M0 | 9.3 TS1M2 |
HP-UX IPF | 9.2 TS2M0 | 9.3 TS1M2 |
Linux | 9.2 TS2M0 | 9.3 TS1M2 |
Linux for x64 | 9.2 TS2M0 | 9.3 TS1M2 |
OpenVMS on HP Integrity | 9.2 TS2M0 | 9.3 TS1M2 |
Solaris for x64 | 9.2 TS2M0 | 9.3 TS1M2 |
*
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.