Functions overview: which one do I use#
Reportworq extends Excel with a set of custom worksheet functions you place in a source workbook. They are inert in desktop Excel and are evaluated by the Reportworq engine when a job runs, or, for write-back functions, when a contribution form is submitted. Rather than returning a value to the cell the way a native Excel function does, most of them perform an action, import a query result, reshape the layout, set a worksheet property, or write data back to a source, and then clear or replace the formula cell.
Every function has two names that resolve to the same thing:
- a canonical dotted name, for example
RW.Tools.SortorRW.Relational.Export, and - a legacy short alias, for example
RWSORTorRWSQL.
New workbooks should use the canonical form; the aliases are kept for compatibility with older templates. The one exception is ANAPLANINPUT, which has no dotted name.
The AI* functions are Workday Adaptive, not generative AI#
This is the single most common misreading of the function surface, so read it before you go further.
The worksheet functions whose aliases begin with AI (AIINPUT, AIEXTRACT, AIFILTER, AIOPTION, AITIER, AIMODELEDINPUT, AIMODELEDEXPORT) are the Workday Adaptive Planning connector functions, canonically RW.Adaptive.*. Here "AI" is short for Adaptive Insights, the former name of Workday Adaptive Planning. They have nothing to do with artificial intelligence or large language models.
The only generative worksheet function is RW.Tools.AIInsight (RWAIINSIGHT). See The AI insight function.
Two ways to put source data on a sheet#
Worksheet functions are not the only way to get data into a workbook. The Reportworq add-in does it too. The two routes reach the same destination and differ mainly in how you work.
The add-in is the visual route. You build a report in the companion pane, and the pane is where you craft and manipulate both the data being imported and how it renders: which fields come across, how they are grouped, sorted, aggregated, and filtered, how the columns are formatted, and where on the sheet the block lands. The report keeps a spec inside the workbook, so you can reopen it and reconfigure it without rewriting anything. See Excel: build and refresh reports.
A worksheet function is the plain route. You drop a query straight into a cell. There is no interface and no stored report spec. The formula is the whole definition, and at run time the result lands where the formula sat. That plainness is the appeal: what sits in the cell is what produced the data, and the layout around it is entirely yours to design.
Neither one is the advanced option. Both accept the same {{parameter}} tokens, so a query that varies by region, entity, or period can be expressed either way, and both produce a live report that refreshes on every run. Some people prefer the keyboard, and some prefer the mouse.
Two practical points usually settle the choice:
- When the output is naturally a table that grows and shrinks with the data, the add-in's list report carries the grouping, sorting, aggregates, and formatting for you.
- When the output is a designed page with numbers in specific places, a formatted financial statement or a board pack, functions bring the data to your layout instead of an imported block dictating it.
Plenty of real workbooks use both: a formatted statement built from functions, with a supporting detail tab imported through the add-in.
Complete function index#
Every function, with a direct link to its full reference entry.
General report and layout: RW.Tools.*#
Reference page: General report and layout functions
| Function | Alias | What it does |
|---|---|---|
| RW.Tools.Sort | RWSORT |
Sorts a range or table by up to three keys, optionally keeping only the top or bottom N rows |
| RW.Tools.Suppress | RWSUPPRESS, RWZERO |
Hides or deletes rows or columns when a condition is true. Defaults to delete |
| RW.Tools.Group | RWGROUP |
Builds Excel outline groups from repeated row or column identifiers |
| RW.Tools.BlankRow | RWBLANKROW |
Inserts blank rows above or below the formula row |
| RW.Tools.PageBreak | RWPAGEBREAK |
Inserts a horizontal or vertical page break |
| RW.Tools.Resize | RWRESIZE |
Auto-fits a row height or column width, merged cells included |
| RW.Tools.RemoveFormula | RWREMOVEFORMULA |
Replaces formulas with their values |
| RW.Tools.SheetName | RWSHEETNAME |
Sets the worksheet output name from a formula |
| RW.Tools.SheetColor | RWSHEETCOLOR |
Sets the worksheet tab color from a formula |
| RW.Tools.SheetSuppress | RWSHEETSUPPRESS |
Suppresses a worksheet from a formula |
IBM Planning Analytics#
Reference page: IBM Planning Analytics functions
| Function | Alias | What it does |
|---|---|---|
| RW.PlanningAnalytics.MDX | RWMDX |
Runs a TM1 MDX query and writes the cellset into a range |
| Native TM1 functions | DBRW, DBS, SUBNM, VIEW, TM1RPT*, DIMIX and the element and dimension helpers |
Relational database#
Reference page: Relational database functions
| Function | Alias | What it does |
|---|---|---|
| RW.Relational.Export | RWSQL, RWRELATIONALEXPORT |
Runs a SQL query and imports the result into a range or named table |
| RW.Relational.Update | RWSQLUPDATE |
Updates the row matching a key column and value |
| RW.Relational.Upsert | RWSQLUPSERT |
Same as Update, but inserts when the key is missing |
Workday Adaptive Planning#
Reference page: Workday Adaptive functions
| Function | Alias | What it does |
|---|---|---|
| RW.Adaptive.Extract | AIEXTRACT |
Builds and imports a custom Adaptive report |
| RW.Adaptive.Tier | AITIER |
Defines one row, column or filter axis for an Extract |
| RW.Adaptive.Option | AIOPTION |
Sets a named report option that Extract reads |
| RW.Adaptive.Filter | AIFILTER |
Stores a reusable dimension filter |
| RW.Adaptive.Input | AIINPUT |
Marks a cell for upload to Adaptive on submit |
| RW.Adaptive.ModeledInput | AIMODELEDINPUT |
Updates one field on a modeled Adaptive sheet |
| RW.Adaptive.ModeledExport | AIMODELEDEXPORT |
Exports modeled Adaptive data into a range or table |
Anaplan#
Reference page: Anaplan functions
| Function | Alias | What it does |
|---|---|---|
| ANAPLANINPUT | (no dotted name) | Marks a cell as an Anaplan write-back input |
AI#
Reference page: The AI insight function
| Function | Alias | What it does |
|---|---|---|
| RW.Tools.AIInsight | RWAIINSIGHT |
Calls a configured AI provider and writes the response into a TextBox or cell |
Contribution: RW.Contribution.*#
Reference page: Contribution functions
| Function | Alias | What it does |
|---|---|---|
| RW.Contribution.Input | RW.INPUT |
Declares the editable range and its dimensional context |
| RW.Contribution.Check | RW.CHECK |
Adds a validation rule, blocking or advisory |
| RW.Contribution.Checkbox | RW.CHECKBOX |
Adds a checkbox bound to a target cell |
| RW.Contribution.List | RW.LIST |
Adds a dropdown of allowed values |
| RW.Contribution.Filter | RW.FILTER |
Adds a filter control and its value list |
Which function do I use#
| Goal | Function |
|---|---|
| Bring TM1 or Planning Analytics data into a sheet with MDX | RW.PlanningAnalytics.MDX |
| Read a single TM1 cell or slice with the classic functions | DBRW, DBR, SUBNM, VIEW, TM1RPT* |
| Write a value back to a TM1 cube cell | DBS, DBSW, DBSS |
| Bring SQL data into a sheet or named table | RW.Relational.Export |
| Write back to SQL where the row already exists | RW.Relational.Update |
| Write back to SQL, creating the row if missing | RW.Relational.Upsert |
| Build a custom Workday Adaptive report | RW.Adaptive.Extract with Tier and Option |
| Write back to Workday Adaptive | RW.Adaptive.Input or ModeledInput |
| Write back to Anaplan | ANAPLANINPUT |
| Sort a data block, optionally keeping top or bottom N | RW.Tools.Sort |
| Hide or delete rows and columns on a condition | RW.Tools.Suppress |
| Group repeated rows or columns into an outline | RW.Tools.Group |
| Add spacing rows in a report that grows at run time | RW.Tools.BlankRow |
| Control print pagination | RW.Tools.PageBreak |
| Auto-fit a row or column around runtime content | RW.Tools.Resize |
| Freeze calculated results before distribution | RW.Tools.RemoveFormula |
| Set a sheet's name, tab color or suppression from a formula | SheetName, SheetColor, SheetSuppress |
| Build an interactive contribution input form | RW.Contribution.* |
| Embed an AI-generated summary or commentary | RW.Tools.AIInsight |
How the functions run#
- Evaluated by Reportworq, not Excel. The formulas do nothing in desktop Excel. They are recognized and executed by the Reportworq engine at the right phase.
- Action, not value. After a successful run, most functions clear the formula cell. The data importers instead set the cell text to the query that produced the data.
- A fixed layout pipeline. During report generation the data importers run first, then the layout functions in a set order:
RW.Tools.Sort, thenRW.Tools.BlankRow, thenRW.Tools.Group, thenRW.Tools.Suppress, thenRW.Tools.PageBreakandRW.Tools.RemoveFormula.RW.Tools.AIInsightruns after import, sort and suppression. Ordering matters when functions interact: a top-N sort must run before rows are suppressed. - Phase separation. Reporting, layout and data-read functions run during report output. Write-back functions (
RW.Relational.UpdateandUpsert, theRW.Adaptive.*inputs,ANAPLANINPUT, and theRW.Contribution.*inputs) are processed during input submission, not the output pass.
The quiet failures worth knowing#
Most function mistakes do not produce a formula error. These are the ones that fail silently, each covered on its reference page:
RW.Tools.Suppressdeletes by default when you probably meant hide.RW.Tools.Grouptreats the first matching row as the header and leaves it outside the group.RW.Relational.UpdateandUpsertignore an odd trailing argument, so a mistyped column pair writes nothing.RW.Adaptive.Optionignores an unknown option name, so a typo looks like the option had no effect.RW.Adaptive.ModeledExportsplitslevelson|, not commas.RW.Tools.AIInsightsilently dropsdataRangewhen its worksheet cannot be found, and only warns when the destination TextBox does not exist.ANAPLANINPUTtrailing tuple arguments suppress the breadcrumb that the write-back actually depends on.- The three sheet functions apply nothing at all if two of the same kind appear on one worksheet.
Related pages#
- General report and layout functions
- IBM Planning Analytics functions
- Relational database functions
- Workday Adaptive functions
- Anaplan functions
- The AI insight function
- Contribution functions
Feedback on this page
Comments, questions, requests, or something missing or unclear? Email us - the page you are on is filled in for you.
Email feedback on this pageOr write to support@reportworq.com directly.