Download Reportworq
⬇ Guide PDF

Contribution functions#

A contribution form's behavior is authored in Excel. A workbook designer places RW.Contribution.* formulas in the source worksheet; when the campaign generates forms, Reportworq reads the formula metadata and renders the matching editable cells, validation markers, and controls in the contributor's browser form. This page is the reference for those five functions and the placement rules that govern them.

There are five functions, each with a short alias:

Function Alias Renders as
RW.Contribution.Input RW.INPUT Editable input cells
RW.Contribution.Check RW.CHECK Validation marker (red or blue)
RW.Contribution.Checkbox RW.CHECKBOX Interactive checkbox
RW.Contribution.List RW.LIST Dropdown of allowed values
RW.Contribution.Filter RW.FILTER Filter control

Write-back formulas belong in hidden rows#

Before the RW.Contribution functions, note the separate family that actually posts values to the target system when a workbook is processed through data collection. The formula depends on the target:

Target system Write-back formulas
IBM Planning Analytics / TM1 DBS, DBSW, DBSS
SQL RWSQLUPDATE, RWSQLUPSERT
Workday Adaptive AIINPUT, AIMODELEDINPUT
Anaplan ANAPLANINPUT

Keep these write-back formulas in hidden rows or columns. They render as #NAME in the contributor's form, so their rows and columns are hidden by design. Un-hiding them exposes broken-looking cells to the contributor. This is a deliberate layout rule, not a defect.

A contribution campaign does not need these formulas. A campaign's collected values reach the target through its own export, which maps the data model declared in RW.Contribution.Input to the destination. These formulas are what a returned workbook uses when data collection processes it. See Data collection processing.

DBS, DBSW, and DBSS (Planning Analytics)#

The three Planning Analytics write-back functions share one signature and differ only in what they may write.

Signature

DBS(value, "server:cube", element1, element2, …)
DBSW(value, "server:cube", element1, element2, …)
DBSS(value, "server:cube", element1, element2, …)
Argument Meaning
value The value to post. A numeric value for DBS and DBSW; a string for DBSS.
"server:cube" The Planning Analytics server and cube, as one colon-separated string.
element1, element2, … One element per cube dimension, in the cube's dimension order. A single range covering the elements is also accepted in place of the individual arguments.

The three names differ in the cell type each may update.

Function Writes Notes
DBS Numeric cube cells Rejects a string cell: "DBS does not support updating string cube values."
DBSW Numeric cube cells Subject to the same consolidated-cell rule as DBS.
DBSS String cube cells Rejects a numeric cell: "DBSS does not support updating numeric cube values." Use it for comments, justifications, and any other text a plan stores as a string measure.

Behavior

RW.Contribution.Input#

Declares the editable range and its dimensional context. Input cells are created only where every referenced field resolves to a non-blank value, and the formula cell is cleared after evaluation.

Signature

RW.Contribution.Input(inputRange, formName, [allowEditing=TRUE], fieldName, fieldRefOrValue, …)
Argument Meaning
inputRange The editable cell range. Accepts a multi-block form for non-contiguous regions, for example (D4:D6,D9:D11,F4:G6,F9:G11).
formName The logical form (data model) name. This is the Data Model an export selects, so it is not just a label.
allowEditing Optional, default TRUE.
fieldName, fieldRefOrValue Repeating pairs that supply the dimensional context. Each fieldName becomes a Fields.* token an export can map to a cube dimension or a table column.

Reportworq classifies each field reference by its shape: a single-row range is a row axis, a single-column range is a column axis, a single cell or rectangular range is a filter, and a literal is a static value.

Limits

RW.Contribution.Check#

Adds a validation rule for a target cell. The formula cell evaluates to the Boolean result.

Signature

RW.Contribution.Check(targetCell, validationPassed, validationMessage, [validationRequired=FALSE])
Argument Meaning
targetCell The cell the rule validates.
validationPassed A Boolean expression; TRUE means the value is valid.
validationMessage The message shown when the rule fails.
validationRequired Optional, default FALSE. A required rule (TRUE) is a hard stop.

Behavior

RW.Contribution.Checkbox#

Creates a checkbox bound to a target cell that stores the checked value.

Signature

RW.Contribution.Checkbox(targetCell, label)

The formula cell shows a [] label placeholder in Excel; the rendered form turns it into an interactive checkbox. The targetCell must be a real cell reference, not a literal.

RW.Contribution.List#

Creates a dropdown bound to a target cell.

Signature

RW.Contribution.List(targetCell, listValuesRange, includesHeader)

Reportworq reads the range, removes duplicates, and stores the option list. With includesHeader=TRUE, the first value is treated as a header, not a choice. The formula cell evaluates to a Picklist: … summary. The targetCell must be a real cell reference.

RW.Contribution.Filter#

Defines a filter control and its value list. The formula cell evaluates to the label text.

Signature

RW.Contribution.Filter([label], [filterValuesRange])
Arguments given Behavior
0 Reads values from the cells directly below the formula, stopping at the first blank.
1 (label) Sets an explicit label and still auto-detects values below.
2 (label, filterValuesRange) Takes an explicit value range, which must be a single column.

The rendered control has a search box; applying criteria relabels Select All to Select All Selected, multiple criteria can be selected, and the filter applies to input-form rows only.

Signatures at a glance#

Function (alias) Key arguments Notes
RW.Contribution.Input (RW.INPUT) inputRange, formName, [allowEditing=TRUE], fieldName, fieldRefOrValue, … Axis inferred from each reference shape; blank-resolving cells skipped; formula cell cleared; multi-block range allowed; no control cells inside the range.
RW.Contribution.Check (RW.CHECK) targetCell, validationPassed, validationMessage, [validationRequired=FALSE] Required = red/blocking; non-required = blue/advisory; runs on every change; multiple per cell.
RW.Contribution.Checkbox (RW.CHECKBOX) targetCell, label Value stored in target cell; shows [] label placeholder.
RW.Contribution.List (RW.LIST) targetCell, listValuesRange, includesHeader Duplicates collapsed; first value is a header when includesHeader=TRUE.
RW.Contribution.Filter (RW.FILTER) [label], [filterValuesRange] 0/1 arg auto-detects values below (stops at first blank); explicit range must be single-column.

Adjacent input function: ANAPLANINPUT#

Beyond the RW.Contribution family, ANAPLANINPUT(inputCell, [tuplePart…]) also marks a cell as a contribution write-back input, flagging its value to post to the matching Anaplan module cell during processing. It is Anaplan-connector-specific and lives in the broader Excel-functions catalog, not the RW.Contribution family.

Workbook design rules#

The function signatures are only half the job. These placement and layout rules are where forms actually break:

Availability#

Every function on this page is available in the current release of Reportworq. The RW.Contribution family was completed over a series of Reportworq 5 updates, RW.Contribution.Filter last, so a workbook authored against an older Reportworq 5 build may not support the full set. If you are targeting an older installation, confirm the version before relying on the newer controls.

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.