Important things to note

Important information to take note of when using Zen on your spreadsheet

Supported Spreadsheet Functions

Zen supports the popularly used spreadsheet functions.

We are adding more functions every day. We intend to support the vast majority of spreadsheet functions available in Excel, LibreOffice, OpenOffice, and Google Sheets.

If there is a function you would like to use that we do not currently support, please contact technical support.

Spreadsheet Errors

The Pebble Stream runtime will immediately stop the execution of a worksheet if any formula cell returns any of Excel’s standard error codes, such as:

#N/A   #DIV/0   #NAME?   #NULL!   #NUM!   #REF!   #VALUE! #SPILL!

This ensures that unexpected errors do not cascade throughout the spreadsheet.

Use the IFERROR function to catch expected errors. This will allow Zen to continue processing.

Unsupported Spreadsheet Features

Zen does not support the compilation or execution of the following Google Sheet spreadsheet functionality:

  • Array formulas
  • @ symbol
  • VBA
  • Goal seek and subtotal functions
  • Pivot tables, images, and charts
  • Worksheet cycles
  • Spillable functions
  • linked spreadsheets

The choice not to support these Microsoft Excel features was deliberate. Consider creating a new worksheet, spreadsheet, or workflow instead in all of these cases.

Worksheet Dependencies

Zen does not allow worksheets to reference worksheets that are not yet computed. If worksheet cycles are detected during spreadsheet compilation, a time-travel error will be reported.

Spreadsheets with cyclical worksheet dependencies are not allowed. We call this time traveling.

Instead, designers should strive to create spreadsheets with worksheets that do not have cyclical dependencies.

A spreadsheet with no cyclical worksheet dependencies.

Cyclical worksheet dependencies may not be as evident as in the first example. Time travel issues can sneak in if the Pebbler is not careful. Here is a more complicated example. Note that isolated worksheets are OK.

Cycles may span more than 1 worksheet. Pebblers avoid cycles in order to have a successful spreadsheet compilation.

Here is a more complicated spreadsheet design that does not contain a worksheet dependency cycle. Pebblers often create spreadsheets with worksheet dependencies as complicated as this illustration. Pebble Stream can efficiently compute spreadsheets with similar worksheet dependencies.

Even with the time-traveling constraint in place, Pebblers can still create sophisticated spreadsheets

Pebble Stream Directives

Pebble Stream introduces the powerful concept of computing directives to spreadsheet computing.

Analysts use directives to control how the runtime performs drag downs, detects failures, ensures correct inputs, and produces outputs. Analysts can also use directives to generate new worksheet models from existing worksheets.

There are three categories of directives: Transformative, Annotative, and Generative

Designers declare directives using the general form “pebblestream:[directive name]". Directives may also take parameters.

Analysts use Microsoft Excel’s commenting feature to embed directives in the columns' headers (row 1).

You may embed multiple directives in a single comment.

Analysts may also add additional comments along with a Pebble Stream directive.