Analytica 5.2 beta Release Notes/Changes in 5.2.4

This page lists fixes/changes in Analytica & ADE beta build 5.2.4 since the previous 5.2.3 beta build.

For what's new since 5.1, see What's new in Analytica 5.2?


Build 5.2.4 exposes the OnGraphDraw attribute. It was present in Analytica 5.1 as an experimental and somewhat hidden feature, enhancements in this build make it much easier to use and hence, ready to be moved out of experimental status. These enhancements include:

  • New function GraphToCanvasCoord, which makes it much easier to map a data value to a pixel coordinate for drawing.
  • The OnGraphDrawFlags appear in the Object Window as checkboxes with the OnGraphDraw attribute. So you can configure these from the GUI without having to do it from Typescript.
  • OnGraphDraw appears in the Attributes dialog, so you make the attribute show up by checking it there.
  • Exposed several new items of information in the info and roles local variables, which you may want in some circumstances when drawing info. For example, these were added to the info (i.e., these are new items in the OnGraphDrawItem index:
    • Result
    • ChartType
    • ViewMode
    • SwapXY
    • BarOverlap
    • BarWidth, BarWidthPix, CategoryGap, CategoryGapPix (these are only available after data rendering and are for bar charts only)

Each role in the roles local variable has these new items in its GraphFillerInfo index

    • Reversed (boolean -- is the axis reversed?)
    • Labels (the categorical labels and their rendered order)
    • Value (the actual data values for the main result along this axis)
    • Note: Two items, "Log abs min" and "Rounding unit" are missing (a bug), to be fixed in next beta build.
  • Can use Self from OnGraphDraw. Note -- this is the Mid or Sample value, not the view data showing. For the view data, use roles[GraphFillerInfo='Value'].
  • The OnGraphDraw local variables now appear in Expression Assist when editing OnGraphDraw.

Editing Expressions

When editing an expression attribute, such as a Definition, OnClick, OnChange, OnGraphDraw, Check, Domain expression, etc, we added two options to the right-mouse context menu -- remove quotes and add quotes. These are particularly useful when you paste data in from an external source and have quotes when you don't want them, or vise versa. They unescape or escape internal quotes, and both operate on the selected text.

Local declarations and repeated parameters

  • Added the following iteration construct:
Local xi := repeated x;
This construct uses the keyword repeated to iterate over each value passed into repeated parameter of a User-Defined Function. This is the preferred method for iterating over repeated parameters.

Expression assist

  • Added the syntax for capturing multiple return values with locals to expression assist's grammar, so that it can continue to provide syntax information in this case. This is the case where the local names and dimensions appear in parens, such as
Local (u[I,J], w[I,J], v[J, J2]) := ...
In addition, the grammar extension etables it to track the lexical context of these local identifiers.


  • Sped up one slow redraw case involving cell-level formats in a large table.


  • A question will now pop-up in certain cases when you have selected data in one table that includes row or column headers, and paste it into another table, where it may be ambiguous whether you want to change the row or column header labels or leave them the same.
  • Spurious error message about data being wrong size when pasting.
  • Better handling of malformed XML Spreadsheet clipboard data.


  • Fixed crash when drawing 3-D cylinder bars without border lines.
  • Fixed a case where all labels vanished in a log-scaled graph because the first two labels overlapped (involves a very short, cramped graph scale). By omitting the first non-zero label, it can obtain a reasonable log-scale labeling.
  • When there is a value (one coordinate of a data point) that renders as very long text, the balloon now truncates that text at 500 characters.


  • Fixed a case where a result did not invalidate when it should have. The dependency path passed from a variable to the SampleWeighting system variable, to a statistical function such as Pdf where the dependency on SampleWeighting existed implicitly due to fact that the «w» parameter wasn't specified to Pdf, and hence it used the values from SampleWeighting.
  • When images are used as index values, subscript and @[I=image] did not work correctly -- the associative lookup didn't find the image in the index.


  • Fixed a case where the cell selection was incorrect. After changing a totals checkbox, cells appears to be unselected when they actually were.
  • Fixed a bug where the Number Format dialog didn't default to showing the Date format, despite the fact that the only datum in the table was a date.

You are not allowed to post comments.