> For the complete documentation index, see [llms.txt](https://docs.inforiver.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.inforiver.com/working-with-inforiver/4.-adding-business-logic-and-formulae/data-validation-rules/distribution-rules.md).

# Distribution rules

Set up rules to allocate metrics like budgets, headcounts, or marketing spends in your Power BI reports with Inforiver.

### Why are distribution rules important in reports?

{% hint style="success" %}
Distribution rules determine how totals are split between regions, time periods, departments, or products.

When distribution rules are defined:

* The same logic is applied every time, ensuring consistency
* Different reports reconcile to the same totals
* Resources are utlized optimally
  {% endhint %}

### Step-by-step guide to allocating values

#### 1. Equally allocate

Let's create a rule to allocate budgets equally across all product lines and quarters.

**STEP 1:** Select **Equally** as the **Distribution Method**.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FjvtzdC1rN5avGMQpEEyq%2Fimage.png?alt=media&amp;token=11eacde0-2137-4757-bb1d-e90555f98b25" alt=""><figcaption><p>Select the distribution method</p></figcaption></figure>

**STEP 2:** Enter the budget in the grand total cell. Notice how the budget is allocated equally across row and column dimension categories.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2Fwa3aXFRYeMcQnYzelGrz%2Fimage.png?alt=media&amp;token=34f03ec8-5884-4752-afee-012fd2d26ecf" alt=""><figcaption><p>The values entered are allocated equally across the report</p></figcaption></figure>

#### 2. Allocating values by weighted measures

Let's consider a real-world example where we need to allocate discounts based on sales. The higher the sales, the higher the discounts should be.&#x20;

**STEP 1:** Select **By Weight** as the **Distribution Method**.

**STEP 2:** Select the measure to drive the weights. In this case, sales.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FtiHbqzl9fAatS4Ukl4y3%2Fimage.png?alt=media&amp;token=674dae52-20a6-4c0e-ac12-8824ac14a26f" alt=""><figcaption></figcaption></figure>

**STEP 3:** Select the column dimension to drive the weights. For demonstration purposes, we'll choose **Single Column** and select the Qtr1 > January option. Click Create.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FFEylx2Kb4z1LdtoqAuUR%2Fimage.png?alt=media&amp;token=b206e39a-5976-48d3-8250-f4fc4fdc100e" alt=""><figcaption><p>Select the column dimension to drive the weights</p></figcaption></figure>

**STEP 4:** Let's enable the column subtotals and enter a value of 48k as the discount. You'll see that Inforiver automatically distributes the 48k based on the January Sales, i.e., the product categories with higher sales get higher discounts and vice versa.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FaFYdIHJXAMgHsacxwnKT%2Fimage.png?alt=media&amp;token=f8c9d359-d13b-41f9-8cfe-13c46575a7ba" alt=""><figcaption><p>Data input value is ditributed based on the configured dimension and measure</p></figcaption></figure>

### Configuration options for allocating data

#### 1. Column range

In the example we looked at earlier, we distributed the discounts based on a single dimension value -  the sales in January. We can also distribute based on a range of column dimensions.

Let's allocate discounts based on the sales in Q2. Select **Column Range** and 'Q2' in the **Weights from Column** section.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2F4F34K19TaZMzsvKrFoss%2Fimage.png?alt=media&amp;token=736e3847-6596-417f-ad67-57b584fac459" alt=""><figcaption><p>Allocating values based on a column range</p></figcaption></figure>

The discounts are allocated based on the sales for quarter 2, as shown in the image.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2Ffu0JPXwcYV9KdWCcqmMg%2Fimage.png?alt=media&amp;token=7799badb-9b75-4e53-a95c-72c1c81e8dc2" alt=""><figcaption><p>Values are allocated based on a range of columns</p></figcaption></figure>

#### 2. Disable other distribution options

You can configure distribution from the context menu as well. These will override any distribution rules that have been set up.&#x20;

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2Fs51NazKHFiWveqFsWTQl%2Fimage.png?alt=media&amp;token=823f906e-9169-41a0-837c-6c03e8083260" alt=""><figcaption><p>Distributing values from the context menu</p></figcaption></figure>

To give precedence to distribution rules, select the **Disable other distribution options** checkbo&#x78;**.** The allocation options will be removed from the context menu.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FXbrQ8g4ZjpXEMQT04q1B%2Fimage.png?alt=media&amp;token=4e2de52c-e6b4-4ba9-80ef-3e12fa48fca2" alt=""><figcaption><p>Disabling distribution from the context menu</p></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.inforiver.com/working-with-inforiver/4.-adding-business-logic-and-formulae/data-validation-rules/distribution-rules.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
