Download Reportworq
⬇ Guide PDF

Workday Adaptive functions#

The Workday Adaptive family reads data from, and writes data back to, Workday Adaptive Planning. Each function has a canonical RW.Adaptive.* name and a legacy AI* alias.

Function Alias What it does
RW.Adaptive.Extract AIEXTRACT Builds and imports a custom Adaptive report from tier and option formulas
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

The AI* alias is not artificial intelligence#

The aliases in this family begin with AI: AIEXTRACT, AITIER, AIOPTION, AIFILTER, AIINPUT, AIMODELEDINPUT, AIMODELEDEXPORT. That AI is short for Adaptive Insights, the former name of Workday Adaptive Planning. These functions have nothing to do with generative AI or large language models. They are a data connector.

The only generative worksheet function is RW.Tools.AIInsight. See The AI insight function. Do not confuse the two.

Before you use these functions#

RW.Adaptive.Extract#

Generates an Adaptive report into a worksheet range by combining the tier formulas that define its axes with the option formulas that control its output.

Signature

=RW.Adaptive.Extract(targetRange, tiersRange, optionsRange)
# Argument Type Meaning
1 targetRange Range Top-left output range for the report.
2 tiersRange Range or multi-range The cells holding the RW.Adaptive.Tier formulas for rows, columns and filters.
3 optionsRange Range or multi-range The cells holding the RW.Adaptive.Option formulas.

All three are required.

Behavior

Keep the tier and option formulas in small, clearly labeled setup ranges and pass those ranges in. Control formatting and suppression through RW.Adaptive.Option rather than hard-coding it into the template.

Example

=RW.Adaptive.Extract(A1, Setup!B2:B6, Setup!D2:D4)

RW.Adaptive.Tier#

Defines one Adaptive tier for the row axis, column axis, or filter axis of an Extract.

Signature

=RW.Adaptive.Tier(axis, dimensionName, selections, [expansionType], [order])
# Argument Type Default Meaning
1 axis String required row or rows; col, cols, column or columns; filter or filters.
2 dimensionName String required The Adaptive dimension, resolved by name in Adaptive metadata.
3 selections Range or string required The members for this tier. A single text value containing ; is split into multiple members.
4 expansionType String "none" none, children, descendants, or leaf.
5 order Integer 0 Sequences multiple tiers that share an axis.

Behavior

Examples

=RW.Adaptive.Tier("rows", "Period", A1:A5)
=RW.Adaptive.Tier("columns", "Region", B1:B2, "children", 1)
=RW.Adaptive.Tier("filters", "Version", "Actual;Budget")

When an argument is wrong

Situation Result
Invalid axis name The tier is not assigned to rows, columns or filters correctly.
expansionType="none" with no selections Formula error.
A member name does not exist in the dimension Report generation fails when the tier is expanded.

RW.Adaptive.Option#

Defines an option that Extract reads when building the report.

Signature

=RW.Adaptive.Option(optionName, optionValue)
# Argument Type Meaning
1 optionName String An option name such as "AutoFormat", "SuppressZeros" or "SuppressRollups".
2 optionValue String, Boolean or integer The value stored with the option.

Reportworq stores the value as text and also tries to parse it as a Boolean and as an integer. The formula cell displays optionName=optionValue.

Use SuppressRollups and SuppressZeros to shape the Adaptive request itself, rather than post-processing the result in Excel.

Examples

=RW.Adaptive.Option("AutoFormat", TRUE)
=RW.Adaptive.Option("SuppressZeros", 2)
=RW.Adaptive.Option("SuppressRollups", FALSE)

When an argument is wrong. A misspelled option name is silently unused by Extract, so an option that appears to have no effect is most often a typo. A numeric option whose value is text that cannot be parsed as an integer also fails quietly.

RW.Adaptive.Filter#

Stores a reusable Adaptive dimension filter: a dimension name and one or more member names.

Signature

=RW.Adaptive.Filter(dimensionName, memberNames)
# Argument Type Meaning
1 dimensionName String The dimension to filter, such as "Version" or "Region".
2 memberNames Range, array or literal list The members to keep.

Literal lists and cell-based lists are both supported. The formula cell displays a dimension.members summary.

It defines filter values only. It does not render a report grid on its own; for the full row, column and filter layout use RW.Adaptive.Tier and RW.Adaptive.Extract.

Examples

=RW.Adaptive.Filter("Region", A1:A5)
=RW.Adaptive.Filter("Version", {"Actual","Plan"})

RW.Adaptive.Input#

Marks a cell as an Adaptive input and prepares it for upload during contribution processing.

Signature

=RW.Adaptive.Input(inputCell, [adaptiveSheetName], [tuplePart1], [tuplePart2], ...)
# Argument Type Default Meaning
1 inputCell Cell reference required The cell whose value is uploaded.
2 adaptiveSheetName String none When supplied, the upload is treated as a cube account upload for that Adaptive sheet. When omitted, it is a standard account upload.
3 and up tuplePart String optional Explicit tuple coordinates in `Dimension

Behavior

Examples

=RW.Adaptive.Input(B5)
=RW.Adaptive.Input(B5, "CommissionSheet")
=RW.Adaptive.Input(B5, "CommissionSheet", "Version|Plan", "Period|2026-01", "Region|East")

When an argument is wrong

Situation Result
inputCell is not a real cell reference Formula error during parsing.
A tuple part is not in `Dimension Member` form
The referenced tuple cannot be found in workbook metadata Submission fails for that input.

RW.Adaptive.ModeledInput#

Updates a modeled Adaptive sheet by matching one key value and writing one modeled field value.

Signature

=RW.Adaptive.ModeledInput(version, adaptiveSheetName, importKeyName, importKeyValue, inputValueName, inputValue)
# Argument Type Meaning
1 version String The Adaptive version to update.
2 adaptiveSheetName String The modeled sheet to update.
3 importKeyName String The key column used to find the row.
4 importKeyValue Value The key value to match.
5 inputValueName String The modeled field or column to update.
6 inputValue Value The new value to write.

All six arguments are required. The formula builds a small two-column modeled-data update request and sends it during input processing. The formula cell is cleared on success.

Use INDIRECT(...) when you copy the formula down repeated worksheet rows, so the references track the row rather than drifting.

Use RW.Adaptive.Input instead for standard or cube-account uploads that rely on tuple metadata.

Examples

=RW.Adaptive.ModeledInput($C$2, "CommissionSheet", "Employee_ID", A2, "Target_Commission", B2)
=RW.Adaptive.ModeledInput("2026_Plan", "Targets", "Region", INDIRECT("A" & ROW()), "Headcount", INDIRECT("B" & ROW()))

When an argument is wrong

Situation Result
Any required argument is blank Formula error before submission.
adaptiveSheetName does not match a modeled sheet Submission fails.
Used for normal tuple-based input cells Use RW.Adaptive.Input instead.

RW.Adaptive.ModeledExport#

Exports modeled Adaptive data into a worksheet range or named table.

Signature

=RW.Adaptive.ModeledExport(targetRange, version, [adaptiveSheetName], [startPeriod], [endPeriod], [levels], [includeDescendent], [isGlobal])
# Argument Type Default Meaning
1 targetRange Range or table required Output location.
2 version String required The Adaptive version to export.
3 adaptiveSheetName String none Optional modeled sheet name.
4 startPeriod String none Optional start-period filter.
5 endPeriod String none Optional end-period filter.
6 levels String none A pipe-delimited level list such as `"Level1
7 includeDescendent Boolean FALSE Include descendant members.
8 isGlobal Boolean FALSE Request a global export.

Behavior

Examples

=RW.Adaptive.ModeledExport(A1, "ActualData")
=RW.Adaptive.ModeledExport(SalesTable, "PlanModel", "CommissionSheet", "2026-01", "2026-12")
=RW.Adaptive.ModeledExport(B5, "ForecastData", , , , "Level1|Level2", TRUE, FALSE)

When an argument is wrong

Situation Result
Invalid target range or table name Formula error.
levels separated by commas Not recognized. The implementation splits on `
Omitting placeholder commas for skipped optional arguments The later arguments are read into the wrong positions. See the third example.

Use cases#

Notes and limits#

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 page

Or write to support@reportworq.com directly.