# FALSE
URL: https://docs.valsight.ai/false/
Description: The FALSE function returns 0 for every defined value in the input node. Undefined intersections remain undefined in the result.
**Category:** [Logical functions](/logical-functions/)

## Overview

The **FALSE** function **returns 0 for every defined value in the input node**. Undefined intersections remain undefined in the result.

Use this function when you need a node of all zeros that matches the dimensionality of an existing node, for example as a baseline or reset value.

## Syntax

`FALSE('Node')`

**Example usage:** `FALSE('Revenue')`

## Parameters

| Parameter | Description                                                                  | Type           | Required |
| --------- | ---------------------------------------------------------------------------- | -------------- | -------- |
| **Node**  | Input node, specified using the node name in single quotes (e.g.`'Revenue'`) | Node reference | Yes      |

## Output shape

| Aspect         | Behavior                                                                              |
| -------------- | ------------------------------------------------------------------------------------- |
| Dimensionality | Same as input.                                                                        |
| Values         | **0** for every defined intersection. Undefined intersections remain undefined (N/A). |
| Row count      | Same as input. Only defined rows produce output.                                      |

## Watch out

* FALSE only covers **defined rows**. It does not create values where the input is undefined. If you need a 0 for each **undefined** row, look at the [IS\_NA](/is-na/) function, and invert its result with FALSE.
* The input value itself does not matter. FALSE returns 0 regardless of whether the value is positive, negative, or zero. Only whether the value is defined matters.
* Because 0 is interpreted as false in IF conditions, `FALSE('Node')` can be used as a condition that is always false for defined rows.
* FALSE accepts expressions as input (e.g. `FALSE('A' + 'B')`). The result reflects the dimensionality and defined intersections of the combined expression.

## Examples

### Returns 0 for all defined rows

This example shows FALSE returning 0 for every row that has a defined value in the input node.

**Input node:** `'Revenue'`

| Year | Value |
| ---- | ----- |
| 2025 | -24.5 |
| 2026 | 95    |
| 2027 | 110   |

**Formula:** `FALSE('Revenue')`

| Year | FALSE Result |
| ---- | ------------ |
| 2025 | 0            |
| 2026 | 0            |
| 2027 | 0            |

### FALSE applied to a combined expression

When FALSE is applied to a sum of two nodes, it returns 0 for every row where the combined expression produces a defined value.

**Input node:** `'Products'`

| Year | Product | Value |
| ---- | ------- | ----- |
| 2025 | A       | 67    |
| 2026 | B       | 85    |
| 2027 | A       | 954   |
| 2027 | B       | -54   |

**Formula:** `FALSE('Revenue'+'Products')`

| Year | FALSE Result |
| ---- | ------------ |
| 2025 | 0            |
| 2026 | 0            |
| 2027 | 0            |

### Undefined values are preserved

FALSE only produces 0 for defined values. Rows where the input is undefined remain undefined in the result.

**Input node:** `'A'`

| Year | Value |
| ---- | ----- |
| 2025 | 95    |
| 2026 |       |
| 2027 | 236   |

**Formula:** `FALSE('A')`

| Year | FALSE Result |
| ---- | ------------ |
| 2025 | 0            |
| 2026 |              |
| 2027 | 0            |

## Related

| Function          | When to use instead                                                                    |
| ----------------- | -------------------------------------------------------------------------------------- |
| [TRUE](/true/)    | When you need 1 (true) for every defined value instead of 0.                           |
| [IS\_NA](/is-na/) | When you need to detect undefined values (returns 1 where undefined, 0 where defined). |
