The Publisher's Edition which includes the Visual Builder comes with a document called System Limits that you should see in your Start menu. If you get an error about "Too Many Items" consult this document. This error often occurs when you exceed the maximum number of dimensions in a table, the maximum number of data points in a table, the maximum number of items in a dimension, or the maximum number of items in a time series dimension. The System Limits document contains this information which can help you identify the problem:

General Limits

 

Element

Maximum

Notes

Dimensions in a table

10

If there are 10 dimensions in a table, you cannot generate distributions because it would create another dimension.

Data points in a table

231 (About two billion)

Although this is the theoretical limit, there are many constraints. See Calculating Maximum Data Points for more information on how to calculate the maximum for any specific table.


Dimensions

Element

Maximum

Notes

Dimension name

15 characters

-

Description

50 characters

-

Dimension notes

64,000 characters

Notes over 32,000 characters may cause problems with Beyond 20/20 products prior to version 6.0.

Items in a dimension

219, or about 500,000 (actually 524,288).

-

Items in a time series dimension

1999 potential items

For example: In a monthly timeseries dimension, there are 2000 potential months (items) between the month Jan1800 and the month Aug1966. Therefore if you inserted the item Jan1800, you could not then insert the second item Aug1966, because the second item would exceed the limit of 1999 potential items.


Items

Element
Maximum
Notes
Item name
16 characters
-
Item label
254 characters
-
Item notes
64,000 characters
-

Calculating Maximum Data Points





To speed retrieval and to minimize the time it takes to insert new items, each dimension allocates space for items based on the next highest power of two that is greater than or equal to the number of items. For example, if there are 14 items in a dimension, the next highest power of two is 16 (24). With this scheme, space already exists if you want to add a 15th or 16th item, so the insertion is immediate. If you want to add a 17th item, however, the file will need to be reblocked to make room. In this case, the system reallocates the dimension to 32 items - the next highest power of two (25). Once reblocked, the file will contain room for an additional 16 items without reincurring the overhead of a reblock operation.

The stated limit of two billion cells per table is based on this allocated item limit so, in order to calculate the maximum table size, you must convert the number of items in each dimension to the next highest power of two. To do this, use the following table to determine the actual allocation for each dimension.

Dimension sizes based on the next highest power of two

If number of items >

And number of items <= 

Power of 2 (2x)

Actual Allocation

0

1

0

1

1

2

1

2

2

4

2

4

4

8

3

8

8

16

4

16

16

32

5

32

32

64

6

64

64

128

7

128

128

256

8

256

256

512

9

512

512

1024

10

1024

1025

2048

11

2048

2049

4096

12

4096

4097

8196

13

8196

8197

16384

14

16384

16385

32768

15

32768

32769

64000

16

64000

64001

131072

17

131072

131073

262144

18

262144

262145

524288

19

524288

Now take the actual allocation numbers for each dimension and multiply them together. This number should not exceed 231. A simpler way to do the calculation is to add the exponents (the values in the Power of 2 column) associated with the dimension actual allocations. The sum of the exponents should not exceed 31.

One potential problem may arise. If a dimension is over-allocated (an allocation greater than the next highest power of two), Beyond 20/20 will not free the over-allocated space in memory until the table is saved (or resaved). For example, if a dimension has 32 items and you add a 33rd, the actual allocation will go to 64 items. If you subsequently delete the 33rd item, the actual allocation will remain at 64 until the file is saved. Theoretically, then, it is possible to have a one-item dimension sized to contain 64,000 items, but this is unlikely to occur under normal circumstances.

Example

A table has four dimensions containing 23 items, 2 items, 3,000 items, and 94 items, respectively. According to the table above, the actual allocations for each dimension are 32; 2; 4,096; and 128. When multiplied together, these numbers equal 33,554,432, which is well within our limit for the table.

Alternatively, we can take the appropriate Power of 2 exponents (5, 1, 12, and 7) and add them together. This sum is 25, which is well within our limits.