Basic Overview

Description

Extends the MULTIPLICATION (*) function with additional validation options.

It produces the same result as using 'NodeLeft' * 'NodeRight' if the validation passes.
In case the validation fails it produces an error with detailed explanation.

Signature

MULTIPLY(Node1, Node2 , [Validation])

Parameters

  • Node1: First factor node, specified using the node name in single quotes (e.g. 'Volume')

  • Node2: Node2: Second factor node, specified using the node name in single quotes (e.g. 'Price')

  • Validation: additional validations

Validation options

  • NoValidation: behaves exactly as MULTIPLICATION (*). The default option if no validation is specified.

  • FailOnMissingFirst: The calculation fails if any row in Node1 is not matched with any row in Node2.

  • FailOnMissingSecond: The calculation fails if any row in Node2 is not matched with any row in Node1.

  • FailOnMissing: Combines FailOnMissingFirst and FailOnMissingFirst validation options.

Warning: Using validation has performance impact.


Example

Node1 = 

Year

Measure

2018

6

2019

4

2020

10


Node2 = 

Year

Measure

2017

2

2018

3

2019

1




Node1 * Node2 = MULTIPLY(Node1, Node2) = MULTIPLY(Node1, Node2, "NoValidation")

Year

Measure

2017

NaN * 2 = 0

2018

6 * 3 = 18

2019

4 * 1 = 4

2020

10 * NaN = 0


MULTIPLY(Node1, Node2, "FailOnMissingFirst") = 

Error, because year 2020 from Node1 has no matching value in Node2.


MULTIPLY(Node1, Node2, "FailOnMissing") = 

Error, because year 2020 from Node1 has no matching value in Node2 and year 2017 from Node2 has no matching value in Node1.

MULTIPLY(Node1, Node2, "FailOnMissingSecond") = 

Error, because year 2017 from Node2 has no matching value in Node1.