Difference between revisions of "Error Messages/40115"
(Created page with '= Error Text = :Result or intermediate value contains too many dimensions. An array may have a maximum of 16 dimensions. = Cause = Analytica enforces a limit of 16 dimensions…') |
|||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
− | + | [[Category: Error messages]] | |
− | :Result or intermediate value contains too many dimensions. An array may have a maximum of | + | == Example error text == |
+ | <pre style="background:white; border:white; margin-left: 1em; font-style:italic"> | ||
+ | Result or intermediate value contains too many dimensions. An array may have a maximum of 24 dimensions. | ||
− | + | Result or intermediate value contains too many dimensions. An array may have a maximum of 16 dimensions. | |
− | + | Cannot add Resource_ID as an index to the table in Capacity_assignments because doing so would exceed 24 dimensions, | |
+ | the maximum allowed. | ||
+ | </pre> | ||
+ | |||
+ | == Cause == | ||
+ | There is a maximum number of dimensions allowed in any given array, as follows: | ||
+ | |||
+ | :{| class="wikitable" | ||
+ | ! Analytica release !! Maximum dimensions | ||
+ | |- | ||
+ | | 4.5 or earlier || 16 | ||
+ | |- | ||
+ | | 32-bit || 16 | ||
+ | |- | ||
+ | | [[Analytica 4.6|4.6 or later]], 64-bit || 24 | ||
+ | |} | ||
+ | |||
+ | If you attempt an operation that would create a 17 dimensional (or 25 dimensional in 64-bit) array, you may encounter one of these errors. | ||
It is unusual to have arrays with >16 dimensions, since you usually exhaust available memory prior to this. Often this will occur when you have something unintended. | It is unusual to have arrays with >16 dimensions, since you usually exhaust available memory prior to this. Often this will occur when you have something unintended. | ||
Line 11: | Line 30: | ||
Sometimes when you are creating local indexes inside a loop, a mistake might cause you to end up with more than 16 dimensions, since these might be combined. For example: | Sometimes when you are creating local indexes inside a loop, a mistake might cause you to end up with more than 16 dimensions, since these might be combined. For example: | ||
− | + | :<code>For t := Time Do (</code> | |
− | + | ::<code>Index Level := ['L', 'M', 'H'] Do X_Base*Array(Level, [0.1, 0.5, 0.9])</code> | |
− | + | :<code>)</code> | |
This loop ends up creating a separate local index named Level at each iteration. Even though they are all named Level and have the same index values, Analytica considers them all to be distinct dimensions. When Time:=1..16, the result has 16 indexes named Level plus the Time index, thus exceeding the maximum number of dimensions. | This loop ends up creating a separate local index named Level at each iteration. Even though they are all named Level and have the same index values, Analytica considers them all to be distinct dimensions. When Time:=1..16, the result has 16 indexes named Level plus the Time index, thus exceeding the maximum number of dimensions. | ||
+ | |||
+ | ==See also== | ||
+ | * [[Array]] | ||
+ | * [[Implicit Dimensions]] | ||
+ | * [[For]] | ||
+ | * [[Time]] | ||
+ | * [[Index]] |
Latest revision as of 00:25, 6 February 2016
Example error text
Result or intermediate value contains too many dimensions. An array may have a maximum of 24 dimensions. Result or intermediate value contains too many dimensions. An array may have a maximum of 16 dimensions. Cannot add Resource_ID as an index to the table in Capacity_assignments because doing so would exceed 24 dimensions, the maximum allowed.
Cause
There is a maximum number of dimensions allowed in any given array, as follows:
Analytica release Maximum dimensions 4.5 or earlier 16 32-bit 16 4.6 or later, 64-bit 24
If you attempt an operation that would create a 17 dimensional (or 25 dimensional in 64-bit) array, you may encounter one of these errors.
It is unusual to have arrays with >16 dimensions, since you usually exhaust available memory prior to this. Often this will occur when you have something unintended.
Sometimes when you are creating local indexes inside a loop, a mistake might cause you to end up with more than 16 dimensions, since these might be combined. For example:
For t := Time Do (
Index Level := ['L', 'M', 'H'] Do X_Base*Array(Level, [0.1, 0.5, 0.9])
)
This loop ends up creating a separate local index named Level at each iteration. Even though they are all named Level and have the same index values, Analytica considers them all to be distinct dimensions. When Time:=1..16, the result has 16 indexes named Level plus the Time index, thus exceeding the maximum number of dimensions.
Enable comment auto-refresher