Reference Updated April 2, 2026

MULTIPLY

Category: Math & numeric

Overview

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.

Syntax

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

Example usage: MULTIPLY('Volume', 'Price', "FailOnMissing")

Parameters

ParameterDescriptionTypeRequiredDefault
Node1First factor node, specified using the node name in single quotes (e.g.'Volume')Node referenceYes
Node2Second factor node, specified using the node name in single quotes (e.g.'Price')Node referenceYes
ValidationControls how mismatches between the two input nodes are handled.KeywordNoNoValidation

Validation options:

  • "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

AspectBehavior
DimensionalityUnion of all dimensions from both inputs (same as *). Per shared dimension, the finest level is used.
Level valuesMatched on shared dimensions. Non-shared dimensions are applied across all matching rows.
Row countEqual 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.

Examples

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') = MULTIPLY('Node1', 'Node2', "NoValidation")

Year→ MULTIPLY Result
2025NaN * 2 = 0
20266 * 3 = 18
20274 * 1 = 4
202810 * NaN = 0

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.


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