# Data validation rules

### Why are data validation rules important?

{% hint style="success" %}
In a shared environment where multiple users edit data within the same Power BI reports, data validation is essential for preserving data integrity. Validation rules help prevent manual data entry errors and ensure consistent reporting.
{% endhint %}

You can set up 3 types of data validation rules in Inforiver:

* **Locking rule**: Locks the selected measure or column for editing. [Learn more about locking Rules.](https://docs.inforiver.com/working-with-inforiver/4.-adding-business-logic-and-formulae/data-validation-rules/locking-rule)
* **Distribution rule:** Select how to distribute entered values among child rows in a hierarchy. [Learn more about distribution rules.](https://docs.inforiver.com/working-with-inforiver/4.-adding-business-logic-and-formulae/data-validation-rules/distribution-rules)
* &#x20;**Min/Max rule**: Set the minimum and maximum values to define a range that can be entered. [Learn more about min/max rules.](https://docs.inforiver.com/working-with-inforiver/4.-adding-business-logic-and-formulae/data-validation-rules/min-max-rule)

{% hint style="info" %}

* Data validation rules are supported only in Writeback Matrix.
* Data input rules can be applied only to numeric data input measures and columns.
  {% endhint %}

### General configuration options for rules

You can select the data input measures and columns to apply the rules to. You can also apply rules to specific rows or column dimension categories.

To demonstrate these options, we've chosen locking rules. The functionality is the same for distribution and min/max rules.&#x20;

#### 1. Apply to

Select the measures or data input columns to apply the rule.&#x20;

* **All Measures:** Locks all the data input measures in the report.
* **Selected Measures:** Choose the measures that should be locked for editing. Select the measures from the **Choose Measures** dropdown.
* **All Visual Columns:** Locks all the data input columns in the report.
* **Selected Visual Columns:** Choose the data input columns that should be locked. Select the columns from the **Choose Measures** dropdown.

<div><figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FqWd43KTlC2WOKlR6OqEO%2Fimage.png?alt=media&#x26;token=38e6a113-7937-491d-8ce3-724402bb7afc" alt=""><figcaption><p>Locking all data input measures</p></figcaption></figure> <figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FSN91Ux9MwPY0EQYLELXj%2FScreenshot%202026-01-12%20181432.png?alt=media&#x26;token=bad6fc04-0c6f-4963-b444-7643adeaaeef" alt=""><figcaption><p>Lock all visual columns</p></figcaption></figure></div>

#### 2. Choose Measures

Select specific data input measures or columns that should be made read-only fields.

<div><figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2Fsa9SpdbEXFebeLg5Ux01%2Fimage.png?alt=media&#x26;token=8246a87e-d468-4eef-8368-307c4fc2a5ab" alt=""><figcaption><p>Only the interest measure is  locked</p></figcaption></figure> <figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2Ft4DiPLCDXlL7Z8LDwWOR%2FScreenshot%202026-01-13%20120131.png?alt=media&#x26;token=2ffcdb20-3053-4fa4-8a30-18196be734bd" alt=""><figcaption><p>Only the ESG fund visual column is locked </p></figcaption></figure></div>

#### 3. Target rows

In typical business reporting, it’s often necessary to apply data input rules to specific row categories. The rule can be applied to all the rows, or you also have the flexibility to select specific row categories that should be made read-only.

Select the **All Rows** radio button to lock the entire field.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FKwv2JhhQbfo2FV6LOHSy%2Fimage.png?alt=media&#x26;token=abcda018-2983-4b0d-9fd3-0aabdeb34a11" alt=""><figcaption><p>By default, all row categories are locked</p></figcaption></figure>

To lock specific row categories, select the **Custom** radio button and click **Configure.** Select the categories to lock in the **Configure Custom Row Filter** windo&#x77;**.**

<div><figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FOrD5jtI5wy6OGNs8dK2V%2Fimage.png?alt=media&#x26;token=bcc828e0-870f-41da-8e29-c238c759b801" alt=""><figcaption><p>Select row categories to lock</p></figcaption></figure> <figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2Fmfrb8R95nCl1IBH1oMZY%2FScreenshot%202026-01-13%20122604.png?alt=media&#x26;token=ad7e787e-f0a1-477e-9d2e-c522748e8f11" alt=""><figcaption><p>Only selected row categories are locked</p></figcaption></figure></div>

You can also use the **Filter** option to apply conditions based on which rows will be locked for editing.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FRNwEyCRc3WiXFWj4SiCb%2Fimage.png?alt=media&#x26;token=62a09433-3b13-4e2f-9993-e79ad2a817b4" alt=""><figcaption><p>Applying filters to lock rows</p></figcaption></figure>

#### 2.4. Target columns

* **Apply rules to specific columns**

Data validation rules are applied to all columns by default. However, an actual business report may require that rules be applied only to certain columns. For example, locking rules need to be enabled on columns that are audited or approved.

Select the **Custom** option and click on **Configure** to select the column dimension categories to lock. Based on our selection, the Interest field is locked for the APAC and East regions, but the Central region is open for editing.

<div><figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2F23j9hODrNk8NodmtxiID%2Fimage.png?alt=media&#x26;token=e8d61404-756f-46af-b2c3-01763cfa9359" alt=""><figcaption><p>Select column dimension catgories to lock</p></figcaption></figure> <figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2F7wysxf5L3JfjFsasmySf%2FScreenshot%202026-01-13%20125844.png?alt=media&#x26;token=eed785e9-6a6e-4736-8a66-d7255984bc50" alt=""><figcaption><p>Interest field locked for APAC and East</p></figcaption></figure></div>

* **Apply rules for a specific time period**

When you have a date dimension in your columns, you can choose to apply rules for a defined time range. For example, in a planning use case, approved historical budgets will be locked for editing; however, budgets for future time periods will be editable.

In this example, we've locked the budget for the previous year (2024) and the first quarter of the current year (Q1 2025). Users can edit the budget for the rest of 2025.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FB3yxRawsVqJ2UJQKvcUX%2Fimage.png?alt=media&#x26;token=3590ea6f-e60d-4723-8024-c8b8d990a79e" alt=""><figcaption><p>Data input fields are locked for the defined time range</p></figcaption></figure>

#### 2.5. Apply to children

Apply rules automatically to child rows when the parent row is selected.

{% hint style="info" %}
This option should be used with the Custom option, where specific row categories are selected for locking.
{% endhint %}

To demonstrate this for row hierarchies, we've selected the 'Discounts' and 'Sales Allowances' categories and selected the **Custom** option in the **Target Rows** section.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2Fr7w94KevZpFjx5dhRyOF%2Fimage.png?alt=media&#x26;token=b7986a9e-7982-46b8-a355-15b21e00156e" alt=""><figcaption><p>Row category selection for locking rules</p></figcaption></figure>

Notice how all the child categories under the Discounts hierarchy level are locked, although we only selected the 'Sales Allowances' and 'Discounts' rows.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FaYnTfuMpANK4oKO5LBY2%2Fimage.png?alt=media&#x26;token=522e1a9a-84f1-4f6b-8cb1-a145d018f149" alt=""><figcaption><p>Lock all child categories when the parent row is selected for locking</p></figcaption></figure>

Similarly, for a date hierarchy in the columns, we've selected Qtr 1 2026 and February 2026 in the column selection window.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FXxyWBpKTqqYS98Ltvk3O%2Fimage.png?alt=media&#x26;token=27fad2f3-2e23-4c27-b0b4-c5a915e7f954" alt=""><figcaption><p>Only Q1 and February are selected for locking</p></figcaption></figure>

The entire forecast for Qtr 1, including January and March, is closed as the **Apply to children** option is selected.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2Fdbd4oA9rjEtrt8s77t83%2Fimage.png?alt=media&#x26;token=b1c51520-ab22-4ecb-905b-2457b44070f5" alt=""><figcaption><p>Forecasts are closed for months as well when the quarter is selected</p></figcaption></figure>

### Managing data input rules

You can define multiple rules within the same Inforiver report and manage them by navigating to Data Input > Input Rules > Manage Rules. You can also edit the configuration of the rules that you created.

When you hover over a rule, you'll see options to

* <img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FkSOWJcUZuefnfTKjNIEq%2Fimage.png?alt=media&#x26;token=7d33d683-4ef5-4ca1-a2e7-b0a5d2408ffb" alt="" data-size="original">  Edit rules
* ![](https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2F0a8xBTIGZBRTy760Zkqa%2Fimage.png?alt=media\&token=55980e90-70bf-47a1-9a24-d8d920faaac0) Copy rules
* ![](https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FgrX0IO9aL332bpuX9s8Y%2Fimage.png?alt=media\&token=8f70cb06-4480-4056-8b8e-7879a0cce190) Delete rules
* ![](https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2F11iIMdzNHaqnitYgpLID%2Fimage.png?alt=media\&token=946c3604-37ba-4594-87bf-af038e096032)Enable/disable rules

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FWeWkliXGnfGCkWk3X5Hg%2Fimage.png?alt=media&#x26;token=ea6dd6f6-22c2-4e39-b71b-35435abe3397" alt=""><figcaption><p>Managing data input rules</p></figcaption></figure>
