> For the complete documentation index, see [llms.txt](https://docs.fabricplan.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fabricplan.com/planning-tutorials/1-introduction-to-fabric-planning.md).

# 0 - Introduction to Fabric planning

In this tutorial series, you build a complete enterprise planning solution in Microsoft Fabric. Starting from scratch, you connect to a semantic model, set revenue targets, generate statistical forecasts, build P\&L hierarchies, and create a multi-dimensional profitability view using planning sheets.

You then move your IT asset data out of spreadsheets into PowerTable, a governed data app in Fabric planning. Here, you create the database, build a sheet for each table, format and connect the columns, and keep the data relevant through appropriate insertions and updates.

Finally, using intelligence sheets, you turn a live semantic model into an interactive enterprise dashboard, building variance and trend charts, KPI cards, and filters, and adding comments to collaborate with your team.

### Prerequisites

Before starting this tutorial series, verify that:

1. You have access to a Microsoft Fabric capacity (F2 or higher) or a [Fabric trial](https://learn.microsoft.com/en-us/fabric/fundamentals/fabric-trial).
2. Your workspace role is Member or Admin. Contributor access isn't sufficient—planning requires Member or Admin to create connections and generate embed tokens.
3. The following tenant settings are enabled in the Fabric admin portal:

* **Integration settings** > **Allow XMLA Endpoints & Analyze in Excel with on-premises semantic models**.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FiYNGudSnOIqlx1I6dLlM%2F01-integration-settings-allow-xmla-endpoints.png?alt=media&amp;token=343bd62d-b694-42a9-87dd-04272a7e3ab8" alt="" width="563"><figcaption></figcaption></figure>

* **Developer settings** > **Embed content in apps**

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FsNBAEFXXepwUomPuo6Ew%2F02-developer-settings-embed-content.png?alt=media&amp;token=9fc535da-e299-45db-9afb-48a399ed7c24" alt="" width="563"><figcaption></figcaption></figure>

* **Developer settings** > **Service principals can call Fabric public APIs**

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FRxPY0RlL83YwxadFmPS5%2F3-developer-settings-service-principal.png?alt=media&amp;token=d26c331a-db69-429e-b7ae-d0e0f4ff4348" alt=""><figcaption></figcaption></figure>

4\. Under **Capacity Settings**, ensure the **XMLA Endpoint** setting is set to **Read Only** or **Read Write**.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FeqFq0tiGl60mKFm81LD2%2F4-xmla-endpoint-setting.png?alt=media&amp;token=8b2916a5-904e-47ee-a299-606b67a61280" alt="" width="188"><figcaption></figcaption></figure>

5. Install Microsoft Edge or Google Chrome. Safari isn't supported for planning.
6. Download the *Northwind\_FMCG.pbix* sample file from the tutorial resource repository.

{% hint style="info" %}
Plan doesn’t support Microsoft Entra B2B guest accounts. Workspaces that use private links aren't supported either.
{% endhint %}

### Business context

In this tutorial series, you build a complete planning environment, set and optimize a revenue target, generate a rolling forecast, build a row-based and measure-based P\&L model, and connect plans across two planning teams into a single profitability view.

Follow the tutorials in order:

1. Set up, plan, and optimize: Connect the *Northwind\_FMCG.pbix* semantic model, create a Fabric SQL database, and build the Plan app. Set a $30m revenue target, build a bottom-up sales plan, and run the Optimizer to achieve a $12.5m gross profit target.
2. Create a rolling forecast: Build a rolling 2026 forecast, generate a statistical forecast using 24 months of actuals, close January as actuals arrive, extend the horizon to January 2027, and commit the finalized forecast to the Fabric SQL database.
3. Build a P\&L hierarchy with Measure Model: Organize a few semantic model measures into a structured P\&L hierarchy. Create a *Best-Case* scenario and a *Cost Restructuring* scenario, then compare both side by side.
4. Build a row-based P\&L model: Use Row Model builder to construct a P\&L hierarchy from scratch, starting from *Net Profit* and layering in *Gross Profit*, *Net Revenue*, *COGS*, and *Operating Expenses* as connected nodes.
5. Create a multi-dimensional plan: Build a *Regional Plan*, a *Product Plan*, and a *Profitability* sheet. Use Cube measures to allocate values across dimensions automatically and keep all three sheets in sync.

### Sample dataset

The planning sheet tutorial uses the *Northwind\_FMCG.pbix* dataset. The dataset includes three fact tables that share a common date dimension:

* *Sales Transactions -* revenue and cost actuals at geography and product level.
* *P\&L Measures -* driver-level measures for key financial metrics, including sales volume, Avg selling price, COGS components, and operating expenses.
* *P\&L Rows -* P\&L line items structured as rows, with cost data at the individual line-item level

### Set up the planning environment

In this section, you import the sample dataset, create a Fabric SQL database, build the Plan app, and connect both the semantic model and the database, so the planning sheet is ready for input and collaboration.

#### Import the dataset

In this step, you import the *Northwind\_FMCG* semantic model into your Fabric workspace. You will use this semantic model throughout the planning sheet tutorial.

1. Go to [app.fabric.microsoft.com](https://app.fabric.microsoft.com) and sign in.
2. Navigate to your training workspace. Select **New folder**, enter the folder name, and select **Create**.
3. Open the folder. Select **Import** > **Report, Paginated Report or Workbook** > **From this computer**.
4. Select *Northwind\_FMCG.pbix* and select **Open**. The report and semantic model appear in your folder.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2F7loW4VtTq69wOAlKaQam%2Fimage.png?alt=media&amp;token=4c4f1a40-1827-4619-ae5a-c32a10f4e72e" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
A warning stating "Refresh failed due to missing data source credentials" might appear. Ignore this warning—the data is fully available, and the planning sheet connects correctly.
{% endhint %}

#### Create the SQL database

In this step, you create a Fabric SQL database in your workspace. This database becomes the writeback destination for your forecast and plan data.

1. Select **New item**, search for **SQL database**, and select it.
2. Enter *Northwind\_FMCG* followed by your name as a suffix - for example, *Northwind\_FMCG\_Lisa Taylor* and select **Create**. The database is created in your folder.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FB1dZsY5TUxMzbrxrJ58j%2Fimage.png?alt=media&amp;token=698b0b1f-334c-498a-a8bb-950d7f289cba" alt=""><figcaption></figcaption></figure>

#### Create the Plan app

In this step, you create the Plan app that hosts your planning sheets. This app is where you configure connections, build sheets, and collaborate on the plan.

1. Select **New item**, search for **Plan**, and select it.
2. Enter *Northwind\_FMCG\_Plan* in the **Name** field and select **Create**. The Plan app opens, and you see the launch screen.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FnypOqs0b1yvVEhitOUQo%2Fimage7.png?alt=media&amp;token=75f79bb0-0454-42f1-8f61-3af1bfa11d46" alt=""><figcaption></figcaption></figure>

#### Connect to the semantic model

In this step, you connect the Northwind FMCG semantic model to the Plan app through a semantic model connection. This connection makes the model's dimensions, measures, and date table available for planning.

1. On the launch screen, select **Semantic Model**.
2. In the semantic model connection window, select **Create Connection**.
3. In the connection list, select **Create a new connection**.
4. Enter *Northwind\_FMCG* as the connection name. Your account identifier is added automatically. Select **Sign in**, authenticate, and select **Create**.
5. Confirm the new connection is selected. In the Semantic model field, select *Northwind FMCG* and select **Add**.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FufDUTpcRY6COG0jvECBM%2Fimage8.png?alt=media&amp;token=86d40933-7980-48fe-a1f1-a86f5b4a88d4" alt="" width="375"><figcaption></figcaption></figure>

6. Select **Connect**. The *Northwind FMCG* tables appear in the **Data** tab—dimensions, measures, and the date table are ready for planning.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FPgW1fmkzx2RxXHCcm7fA%2Fimage9.png?alt=media&amp;token=e6528d43-0845-4e5b-ad3b-41b96dba97e0" alt=""><figcaption></figcaption></figure>

#### Create a planning sheet

In this step, you create your first planning sheet and assign rows, columns, and values from the semantic model. This sheet is the foundation where you build the revenue target and plan on.

1. In the **Home** ribbon, select **New Planning Sheet**. Enter *Plan Intro* as the name and select **Create**.
2. Configure the field assignments as follows:

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Field</td><td valign="top">Value</td></tr><tr><td valign="top">Rows</td><td valign="top"><em>Region</em> → <em>Category</em> → <em>Sub-Category</em></td></tr><tr><td valign="top">Columns</td><td valign="top">Date hierarchy—<em>Year</em>, <em>Quarter</em>, <em>Month Short</em></td></tr><tr><td valign="top">Values</td><td valign="top"><em>2025 Gross Revenue</em> (From Measures table)</td></tr></tbody></table>

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FySVtGuwWImO8cmFk3SCB%2Fimage10.png?alt=media&amp;token=3c46a9cc-f3ae-4609-8981-ada5c368f328" alt=""><figcaption></figcaption></figure>

#### Connect to the SQL database

In this step, you create a Fabric SQL connection and connect the plan app. This connection enables collaboration — it's what allows the plan to be saved and shared, and it is set up after the planning sheet is built.

1. In the top-right corner, select **Set up connection**.
2. In Fabric SQL connection, select **Create connection**.
3. In the connection list, select **Create new connection**. Enter *Northwind\_FMCG* as the connection name and select **Create**.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FyjWCGr7LqqGXtoC6IZp0%2Fimage11.png?alt=media&amp;token=e2ad1237-3153-4c86-a3e2-7d5aff3b7e8a" alt="" width="563"><figcaption></figcaption></figure>

4. Confirm the connection is selected and select **Connect**. The Plan app is ready for collaboration.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2F0KF55AgIrDdHsQ6ExcF3%2Fimage12.png?alt=media&amp;token=ddc161e5-c25d-418f-8464-d46d89c4d7e0" alt=""><figcaption></figcaption></figure>

### Explore the planning interface

Before entering plan data, take a few minutes to orient yourself to the ribbons, panels, and controls you'll use throughout this tutorial series.

1. Select the down arrow in the top right to expand the full ribbon view. Review what each ribbon contains:

* **Home:** Add new planning, PowerTable, or intelligence sheets
* **Planning:** Layout options, formatting, bulk edit, pivot, filters, audit log
* **Model:** Forecasts, scenarios, driver-based models, cube
* **Format:** Conditional and semantic formatting
* **Writeback:** Write back data to destinations, manage settings, view logs

2. In the header, select each icon to review the available controls: **Security**, **Comments**, **Editing/Reading View**, and **Save**.
3. Select the arrow on the left to expand the **Explorer** pane. Use it to add sheets, manage sheets, and navigate between them.
4. In the sidebar on the right, select each icon to open the panels: **Data**, **Fields**, **Filter**, **Comments**, and **Bookmarks**.
5. In the footer, select the **Rows and Columns** count to view dimension and measure statistics. Use the zoom slider to adjust the canvas, and select the **Settings** icon to configure rows per page.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FMMgTyL0hAilcIZcmSxu6%2Fimage13.png?alt=media&amp;token=55772fe8-30a8-465e-b737-56b53a88b1c9" alt=""><figcaption></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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.fabricplan.com/planning-tutorials/1-introduction-to-fabric-planning.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
