Analytica 4.0 beta Release Notes/

Changes in

The notes here are for the next beta build that is expected to be released. For the current beta build, see Analytica 4.0 beta Release Notes/

(straight bug fixes and minor textual changes not listed)



  • External values from variables having an explicit domain (list, list-of-labels or index domain) can be shown in Symbol and Color roles (as categorical).
  • Pivot controls use Blank, rather than "No Index", when no option selected.
  • XYbutton.jpg is hidden in browse mode.
  • For J:=X Do expr, now iterates over IndexValue(X), not over the value of X which occurred previously. These differ when X has a self-index. The new functionality means you can use A[X=J] from within the body expr.
  • For a:=X Do expr now allows X to be a general expression, not just an index as was previously required. When an array, a iterates over all elements of X. When X is an identifier, For a:=X Do ...' and For a[ ]:=X Do ... are the same unless X has a self-index, in which case For a:=X Do ... iterates over IndexValue(X), while For a[]:=X Do... iterates over the main value of X, computed in context.
  • In pivot controls and graphing role pulldowns, the option formerly labeled "No Index" or "No Dimension" now displays as a blank label. Select the blank option for "None".


  • It is possible to specify a default value, specific to a table, to be used as the default value when new rows are added to the table. The table-specific value can be an array, with a different default for each column. This must be set via typescript. See Table Splicing
  • You can control the global atomic default used as the default for table cells when new cells are added (and a table-specific default does not exist). Default now is 0.0. Can use blank -- new cells show up blank. See Table Splicing
  • A table definition accepts blank cells. For example: Table(Time)( 1, ,2) -- in this example, the second cell is blank. When this evaluates, a warning is issued, and if ignored, the blank cell evaluates to Null.
  • Legacy tables having no commas are now parsed, and re-written to have commas. For example: Table(Time)(1 2 3) is rewritten as Table(Time)(1,2,3), so that legacy models that omitted commas are accepted.
  • Bug fix to often seen problem in which non-functional scroll bars appear on tables when window is maximized.
  • In a pivot control, the option formerly labeled "No Index" is now displayed as a blank label.


  • The profiling library has been reworked to use VarTerms rather than string identifiers. This has the benefit that you can double click on the row header when looking at a report and hyperlink to the object named.


  • Access to hidden definitions via the ADE API has been restricted. There is now a new error code, CAEngine::ErrorCode == 70, indicating that the requested definition is hidden, which may be returned by CAObject::DefTable or CAObject::GetAttribute.

You are not allowed to post comments.