Download Reportworq

This is the archived documentation for Reportworq 5. It is kept for reference and is no longer updated.

Go to the Reportworq 6 documentation

Data Collection#

Reportworq supports several functions (RW.ADAPTIVE.INPUT and RW.ADAPTIVE.MODELEDINPUT) that are used to "writeback" data into Workday (specifically Standard Sheets, Modeled Sheets, and Adaptive Cube Sheets). These formulas are only available and executed when Reportworq receives a file for processing using a Reportworq Data Collection license.

Tap or click the image to view it full screen

The functions described in this section are specific to Workday Adaptive Planning datasources.

RW.Adaptive.Extract#

RW.Adaptive.Extract aka AIExtract Generates an Adaptive report into a worksheet range by combining RW.Adaptive.Tier helper formulas with RW.Adaptive.Option settings. If you are on a version earlier than 5.0.0.91 please use AIExtract.


Syntax#

=RW.Adaptive.Extract(targetRange, tiersRange, optionsRange)

Arguments#

#NameTypeDefaultDescription
1targetRangeRange(required)Top-left output range for the report.
2tiersRangeRange / multi-range(required)Cells that contain the RW.Adaptive.Tier formulas for rows, columns, and filters.
3optionsRangeRange / multi-range(required)Cells that contain the RW.Adaptive.Option formulas used to control the report output.

Behavior#


Usage notes#


Examples#

=RW.Adaptive.Extract(A1, TierSetup!A1:C10, OptionSetup!E1:E5)
=RW.Adaptive.Extract(B5, {Rows!A1:A5, Cols!C1:C3, Filters!E1:E2}, Options!G1:G3)

Common mistakes#

SituationResult
No row RW.Adaptive.Tier formulas in tiersRangeFormula errors because the report has no rows
No column RW.Adaptive.Tier formulas in tiersRangeFormula errors because the report has no columns
targetRange is invalidFormula errors before the report is run

RW.Adaptive.Tier#

RW.Adpative.Tier aka AITier Defines one Adaptive tier for the row axis, column axis, or filter axis of an RW.Adaptive.Extract report. If you are on a version earlier than 5.0.0.91 please use AITier.


Syntax#

=RW.Adaptive.Tier(axis, dimensionName, selections, [expansionType], [order])

Arguments#

#NameTypeDefaultDescription
1axisString(required)row/rows, col/cols/column/columns, or filter/filters.
2dimensionNameString(required)Adaptive dimension to use.
3selectionsRange / string(required)Members for the tier. A single text value containing ; is split into multiple members.
4expansionTypeString"none"none, children, descendants, or leaf.
5orderInteger0Order used when multiple tiers share the same axis.

Behavior#


Usage notes#


Examples#

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

Common mistakes#

SituationResult
Invalid axis nameThe tier is not assigned to rows, columns, or filters correctly
expansionType="none" with no selectionsFormula errors
Member name does not exist in the dimensionReport generation fails when the tier is expanded

RW.Adaptive.Option#

RW.Adaptive.Option aka AIOption Defines an option that RW.Adaptive.Extract reads when building an Adaptive report. If you are on a version earlier than 5.0.0.91 please use AIOption.


Syntax#

=RW.Adaptive.Option(optionName, optionValue)

Arguments#

#NameTypeDefaultDescription
1optionNameString(required for practical use)Option name such as "AutoFormat", "SuppressZeros", or "SuppressRollups".
2optionValueString / Boolean / Integer(required for practical use)Value stored with the option.

Behavior#


Usage notes#


Examples#

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

Common mistakes#


RW.Adaptive.Filter#

RW.Adpative.Filter aka AIFilter Stores a reusable Adaptive dimension filter made up of a dimension name and one or more member names. If you are on a version earlier than 5.0.0.91 please use AIFilter.


Syntax#

=RW.Adaptive.Filter(dimensionName, memberNames)

Arguments#

#NameTypeDefaultDescription
1dimensionNameString(required)Adaptive dimension to filter, such as "Version" or "Region".
2memberNamesRange / array / literal list(required)Members to keep for that dimension.

Behavior#


Usage notes#


Examples#

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

Common mistakes#


RW.Adaptive.ModeledExport#

RW.Adaptive.ModeledExport aka AIModeledExport exports modeled Adaptive data into a worksheet range or named table.If you are on a version earlier than 5.0.0.91 please use AIModeledExport.


Syntax#

=RW.Adaptive.ModeledExport(targetRange, version, [adaptiveSheetName], [startPeriod], [endPeriod], [levels], [includeDescendent], [isGlobal])

Arguments#

#NameTypeDefaultDescription
1targetRangeRange / table(required)Output location for the exported data.
2versionString(required)Adaptive version to export.
3adaptiveSheetNameString(none)Optional modeled sheet name.
4startPeriodString(none)Optional start period filter.
5endPeriodString(none)Optional end period filter.
6levelsString(none)Pipe-delimited level list such as "Level1|Level2".
7includeDescendentBooleanFALSEWhen TRUE, descendant members are included.
8isGlobalBooleanFALSEWhen TRUE, requests a global export.

Behavior#


Usage notes#


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)

Common mistakes#


RW.Adaptive.Input#

RW.Adpative.Input aka AIInput marks a cell as an Adaptive input and prepares it for upload during contribution processing.If you are on a version earlier than 5.0.0.91 please use AIInput.


Syntax#

=RW.Adaptive.Input(inputCell, [adaptiveSheetName], [tuplePart1], [tuplePart2], ...)

Each optional tuplePart is a text value in the form Dimension|Member.


Arguments#

#NameTypeDefaultDescription
1inputCellCell reference(required)Cell whose value should be uploaded.
2adaptiveSheetNameString(none)When supplied, ReportWorq treats the upload as a cube account upload for that Adaptive sheet.
3+tuplePartString(optional)Explicit tuple coordinates such as "Version|Plan" or "Period|Jan".

Behavior#


Usage notes#


Examples#

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

Common mistakes#

SituationResult
inputCell is not a real cell referenceFormula errors during parsing
A tuple part is not in Dimension|Member formThat tuple part is ignored when the explicit vector is built
The referenced tuple cannot be found in workbook metadataSubmission fails for that input

RW.Adaptive.ModeledInput#

RW.Adpative.ModeledInput aka AIModeledInput updates a modeled Adaptive sheet by matching one key value and writing one modeled field value. If you are on a version earlier than 5.0.0.91 please use AIModeledInput.


Syntax#

=RW.Adaptive.ModeledInput(version, adaptiveSheetName, importKeyName, importKeyValue, inputValueName, inputValue)

Arguments#

#NameTypeDefaultDescription
1versionString(required)Adaptive version to update.
2adaptiveSheetNameString(required)Modeled Adaptive sheet to update.
3importKeyNameString(required)Key column used to find the row to update.
4importKeyValueText / value(required)Key value to match.
5inputValueNameString(required)Modeled field/column to update.
6inputValueText / value(required)New value to write.

Behavior#


Usage notes#


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()))

Common mistakes#

SituationResult
Any required argument is blankFormula errors before submission
adaptiveSheetName does not match a modeled sheetSubmission fails
Using RW.Adaptive.ModeledInput for normal tuple-based input cellsUse RW.Adaptive.Input instead

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.