MULTIPLY

MULTIPLY('Node1', 'Node2' [, "Validation"])

In Math & numeric

The MULTIPLY function extends the * operator with optional validation for missing rows. It produces the same result as 'Node1' * 'Node2' when validation passes. When validation fails, it produces an error with a detailed explanation of which rows are missing.

Use this function when you want standard multiplication but need to detect mismatches between the two input nodes: MULTIPLY('Volume', 'Price', "FailOnMissing").

Parameters

Node1Node referenceRequired
First factor node, specified using the node name in single quotes (e.g.'Volume')
Node2Node referenceRequired
Second factor node, specified using the node name in single quotes (e.g.'Price')
ValidationKeywordOptional
Controls how mismatches between the two input nodes are handled. Default: "NoValidation".
  • "NoValidation": No mismatch check. Behaves exactly as the * operator. This is the default.
  • "FailOnMissingFirst": Fails if any row in Node1 has no matching row in Node2.
  • "FailOnMissingSecond": Fails if any row in Node2 has no matching row in Node1.
  • "FailOnMissing": Fails if either node has rows not matched by the other (combines both checks).

Output shape

Dimensionality
Union of all dimensions from both inputs (same as *). Per shared dimension, the finest level is used.
Level values
Matched on shared dimensions. Non-shared dimensions are applied across all matching rows.
Row count
Equal or expanded. Where one input has no matching value, the result is 0 (not N/A).

Watch out

  • Using validation has a performance impact. Only use it when you need to detect mismatches.
  • Without validation (or with NoValidation), MULTIPLY is identical to *. Where one input has no matching value for a row, the result is 0.

Example

Validation behavior

This example shows the default multiplication result and how the different validation modes behave when the two input nodes do not fully overlap. The missing years at the start and end of the time range trigger the validation errors.

Input node: 'Node1'

YearValue
20266
20274
202810

Input node: 'Node2'

YearValue
20252
20263
20271

Formula: MULTIPLY('Node1', 'Node2')

Equivalent to: MULTIPLY('Node1', 'Node2', "NoValidation")

YearCalculationResult
2025N/A × 20
20266 × 318
20274 × 14
202810 × N/A0

Formula: MULTIPLY('Node1', 'Node2', "FailOnMissingFirst")

Error: The calculation fails because year 2028 from Node1 has no matching value in Node2.

Formula: MULTIPLY('Node1', 'Node2', "FailOnMissing")

Error: The calculation fails because year 2028 from Node1 has no matching value in Node2 and year 2025 from Node2 has no matching value in Node1.

Formula: MULTIPLY('Node1', 'Node2', "FailOnMissingSecond")

Error: The calculation fails because year 2025 from Node2 has no matching value in Node1.

See also

MULTIPLICATION (*)
When you want standard multiplication across shared levels without additional validation handling.
DIVIDE
When you need the same kind of validated arithmetic behavior but want to divide values instead of multiplying them.
Was this page helpful?