> This is part 1 of 2 of the full documentation (pages 1–100 of 127).
> The content is paginated: fetch every part to see all of it.
> Next part: https://docs.xviz.com/llms-full.txt/1
> Page index: https://docs.xviz.com/llms.txt

# Welcome to xViz Docs!

[xViz ](https://xviz.com/)is a leading provider of advanced enterprise-grade visuals for Microsoft Power BI.&#x20;

### What our visuals have to offer?

* **Secure** - Microsoft certified custom visuals
* **Advanced analytical capabilities** for uncovering insights from your data
* **Runtime options** for report end-users to interact with the data per their needs
* Various **configuration options** allowing you to tailor your visualizations to your specific requirements &#x20;

### Why choose us?

* Trusted by 2000+ customers, including most Fortune 500 companies
* Over 2M+ downloads across 40+ countries
* [Lumel](https://lumel.com/), as the organization, is the **#1** Power BI Visuals ecosystem leader with 20+ visuals (with [Inforiver](https://inforiver.com/) and [ValQ](https://valq.com/)) spanning all use cases making us the one-stop shop for all your Power BI use cases for features/functionality gaps unmet by native Power BI.

### xViz Visuals in the Docs:

<table data-card-size="large" data-view="cards" data-full-width="true"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td></td><td>xViz Gantt Chart</td><td></td><td><a href="https://docs.xviz.com/project-management/">https://docs.xviz.com/project-management/</a></td><td><a href="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fc2BumIc1g60KiMqCQszG%2Fxviz-gantt-chart.svg?alt=media&amp;token=4c969212-693e-481f-8429-c5dc71a2272c">xviz-gantt-chart.svg</a></td></tr><tr><td></td><td>xViz Performance Flow</td><td></td><td><a href="https://docs.xviz.com/performance-management/">https://docs.xviz.com/performance-management/</a></td><td><a href="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FbPgMq0lx8gONcVXA3sLO%2Fxviz-performance-flow-hero-image.svg?alt=media&amp;token=32bc168e-e497-4b25-831a-aba33804027e">xviz-performance-flow-hero-image.svg</a></td></tr></tbody></table>


# Project Management - xViz Gantt Chart | Introduction

Explore the capabilities and configurations of #1 Gantt Chart for Power BI - the xViz Gantt Chart, Microsoft Certified for Power BI.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F9lGVM6mQB0MYRrh65cC7%2FOverview.png?alt=media&amp;token=c303fea4-0fa2-4a4d-b2d0-cc8e963cbf7b" alt=""><figcaption><p><em>xViz Gantt Chart</em></p></figcaption></figure>

### Overview

**Project management chart to monitor tasks, roadmaps, milestones, dependencies, resources and more!**

Visualize enterprise project data with ease! Use advanced enterprise level capabilities to show how project breaks down into tasks, subtasks, and track project milestones and more.

[xViz Gantt Chart](https://appsource.microsoft.com/en-gb/product/power-bi-visuals/WA200000891?tab=Overview\&exp=ubp8) is a modern project planning tool for Power BI which helps to articulate, communicate, and monitor the progress of projects. Business users leverage the unique enterprise features such as alerting, milestone configuration, task dependencies, creating connector lines, and live editing on the fly to empower project reporting in their organization with Power BI.

### **Key Features:**

* **2 Modes** - Regular Gantt for project management and Gantt Resource for tailored view of resource planning, allocation, and review.
  * **Expand/Collapse** - Quickly expand/ collapse hierarchy data with a single click
  * **Extra Columns** - Add multiple categories and columns, format visual title, and customize column width. Read more - [Hierarchy and Additional Columns](/project-management/hierarchy-and-additional-columns#additional-columns)
* **Milestone Configuration** - Specify important points along the progress of task in Gantt using milestones with customizable icon shape/color. Read more here - [Milestones](/project-management/milestones)
* **Display Connector Lines** - Define customizable connector lines to visualize dependencies. Read more here - [Connectors](/project-management/connectors)
* **Progress** - Display progress for the tasks in the chart as bar fill. Read more - [Tracking the progress](/project-management/progress/tracking-the-progress)
* **Embed External URL** - single click action navigation to external webpages from your dashboards/reports. Read more - [Configure External URLs](/project-management/other-features/configure-external-urls)
* **Advanced Alerting techniques -**
  * Data Grid: Conditionally formatted data grids to draw attention to priority tasks
  * Status Flag: Add customized status flag to determine the status of the task
  * Progress Bar: Color code the bar to notify the task progress and to drive attention\
    \
    Read more here - [Alerting Techniques](/project-management/alerting-techniques)
* **Advanced Analytics** - Display reference lines, reference bands highlighting key project metrics in the visual. Read more here - [Reference Lines and Reference Range](/project-management/reference-lines-and-reference-range)
* **Runtime Zoom** - Interactive zoom in and out of timeline view, customize default zoom range. Read more here - [Timeline Configurations](/project-management/timeline-configurations)
* **Display Overall Totals** - Add an overall total row on the provided data. Read more here - [Display Totals](/project-management/other-features/display-totals)
* **Summary Table** - gain a tabular overview to slice and filter your data

### Additional Configurations:

* **Coloring Options** - Color various elements on the Gantt Chart plot area. Read more here - [Data Colors](/project-management/other-features/data-colors)
* **Bullet/ Bar View** - Progress Bars can be toggled between bullet and bar views for advanced insights. Read more here - [Progress Bar Display](/project-management/progress/progress-bar-display)
* **Ragged Hierarchy** - View unbalanced hierarchy with ease by hiding blank categories. Read more here - [Hide Blanks](/project-management/other-features/hide-blanks)
* **Date Formats** - Customize the date format for tooltips as per your choice. Read more - [Date Formats](/project-management/other-features/date-formats)
* **Fiscal Year Support** - customize your timeline based on your company's fiscal year. Read more here - [Fiscal Year Support](/project-management/timeline-configurations/fiscal-year-support)

### How to try the xViz Gantt Chart?

Download the sample report file (.pbix) or install the visual in your reports from&#x20;

[Microsoft AppSource | xViz Gantt Chart](https://appsource.microsoft.com/en-gb/product/power-bi-visuals/WA200000891?tab=Overview\&exp=ubp8) (Microsoft Certified)


# Hierarchy and Additional Columns

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F9k9Zinhlx2vk8PqVVrIL%2Fimage.png?alt=media&amp;token=6d22731f-baf4-4daf-9c9d-5e92b2aa1e1d" alt=""><figcaption><p><em>Image 1: xViz Gantt Chart with hierarchical structure and additional columns/measures</em></p></figcaption></figure>

### **Building the Hierarchy**

* The xViz Gantt Chart provides a hierarchy view of the projects/tasks/sub-tasks (or any other such hierarchy)
* Such hierarchies can be expanded/collapsed by report end-users as well
* To build the hierarchy, drag the columns in the '**Task Name**' data field in the required order

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F6MZvkSwvRQxcp5ukwkE0%2Fimage.png?alt=media&amp;token=3b870c23-e424-4b14-a8e5-cf864bf3a12a" alt=""><figcaption><p><em>Image 2: Populate Task Name field</em></p></figcaption></figure>

### Additional Columns

* Other than the hierarchy building columns, additional columns can be added in the data section of the Gantt Chart
* Add categorical columns in the '**Display Categorie**s' data field
* Add numeric columns/measures in the '**Display Measures**' data field

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FZaUwTskIV84QQgIk5k5p%2Fimage.png?alt=media&amp;token=161a61b7-f6ce-4f8e-8221-9d69ed8679c8" alt=""><figcaption><p><em>Image 3: Populate Display Categories and Display Measures field</em></p></figcaption></figure>

{% hint style="warning" %}
Display categories field is limited to a maximum of 5 columns
{% endhint %}

{% hint style="info" %}
Values like Measures for Parent bars are internally calculated in the visual using the information of the child bars. Refer the documentation link for understanding the calculations - [Parent Level Calculation](/project-management/parent-level-calculations)
{% endhint %}


# Milestones

Milestones in the Gantt time that help to establish mark the specific key points within the timeline.&#x20;

![Image 1: Milestones in Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FU7L8a9Iwosins0AGwnS0%2F0.png?alt=media)

Milestones serve multiple purposes, including tracking and monitoring progress, establishing goals and objectives, identifying potential delays, and communicating progress to stakeholders.

### **Steps to Configure the Milestones:**

![GIF 1: Setting up Milestones](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F3PMyHo94d8i9VGtoCjOU%2F1.gif?alt=media)

#### Type 1 – Multiple Milestone Date columns

1. Here's an example of a data with 3 columns for Milestone dates

![Image 2: Data Structure for Milestone](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F8AI0mbHjWX5FDJwMZFSp%2F2.png?alt=media)

2. Add the date columns to the **Milestone** **data field**

![Image 3: Data field to configure Milestones.](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQNOAqFdQblpw9gQTRDut%2F3.png?alt=media)

3. As a result, the three milestones are plotted for every site (leaf level bars)

![Image 4: Multiple Milestones on a bar](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FOqqKIF7TbMJzIJOTHKYD%2F4.png?alt=media)

#### Type 2 - Date and Milestone Name columns

1. Here's an example of a data with a column for milestone dates and another for the milestone names.

![Image 5: Data Structure with Milestone and Milestone Name](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FiXM4xiV35RDJes4OnvH4%2F5.png?alt=media)

2. Add the data to the **Milestone** and **Milestone Name data fields**

![Image 6: Data field to configure Milestones
and Milestone Name](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FkDJ8F7gf1s0n0yeD0mzU%2F6.png?alt=media)

3. As a result, the different types of milestones are plotted on the Sites/bars

![Image 7: The output of Milestone Name](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FxaqQTKR334RLchQQ1y77%2F7.png?alt=media)

{% hint style="success" %}
Please refer to the documentation link below for details on milestone formatting, which allows you to customize the shape, color, and image of each milestone - [Milestone Formatting](/project-management/milestones/milestone-formatting)
{% endhint %}

#### Type 3 - Milestones from Data

1. A Milestone from Data is created when the start date and end date are the same.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FSTYL4LQWsV1q5l9VHarW%2Fimage.png?alt=media&amp;token=febd1f7e-3192-4fbd-b575-fc0fb3def121" alt=""><figcaption><p><em>Image 8: Data Structure from Milestones from Data</em></p></figcaption></figure>

2. To Display Milestone from Data, navigate to the Milestone tab of the Advanced Editor, turn on “Allow Milestone from Data.”

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FwfQR5oGFxVkZ3Kce8VtB%2Fimage.png?alt=media&amp;token=e69fc736-ae32-4d19-b2e5-6dcf84b82e4b" alt=""><figcaption><p><em>Image 9: Allow Milestone from Data</em></p></figcaption></figure>

{% hint style="warning" %}
"Allow Milestone from Data" is visible only when the milestone field is populated with a milestone column
{% endhint %}

As a result, Milestones from data will appear in the Gantt chart as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FX5jrotCm6SD70ZUdRSNY%2Fimage.png?alt=media&amp;token=a83b61a8-288c-4f32-b248-5eb8f43fcb6c" alt=""><figcaption><p><em>Image 10: Milestone from Data in the Gantt Chart</em></p></figcaption></figure>

{% hint style="warning" %}
If the "Allow Milestone from Data" toggle is off, tasks where start = end date will be hidden.
{% endhint %}


# Milestone Formatting

The xViz Gantt Chart allows you to customize the milestones in the Gantt timeline, making it easier to visually identify and understand specific milestones.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fh3fN99qJyO6WCBPzxWbe%2Fimage.png?alt=media&amp;token=03ce02c8-56e3-4fbc-b9cb-a7879ed3ec18" alt=""><figcaption><p>Image 1: Milestone configuration in xViz Gantt Chart</p></figcaption></figure>

In the xViz Gantt Chart, the Milestones feature provides the following formatting options for customizing milestones:

* Milestone Shape
* Milestone Image

### Option 1: Steps to Configure Shape and color of Milestones:

1. Go to the Advanced Editor

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FRGkTuqiBlOyIRELDGRr4%2Fimage.png?alt=media&amp;token=71bdb1d3-ae31-400c-b135-8ef0e5f5510a" alt="" width="73"><figcaption><p>Image 2: Advance Editor icon</p></figcaption></figure>

2. In Advance Editor, navigate to the Milestones Tab.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FNX4HZ5uO7WnZEzVxD7hL%2Fimage.png?alt=media&amp;token=173de4c8-2650-4279-91dd-1e0b476f03ee" alt="" width="349"><figcaption><p>Image 3: Milestones Tab in Advance Editor</p></figcaption></figure>

3. Configure the shape and color of the milestones based on Milestone columns or the Milestone names, as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F6guyMX2qjGaaB89Yvyw7%2Fimage.png?alt=media&amp;token=b02587f5-a302-47e8-9a71-0eb66c70149f" alt="" width="265"><figcaption><p>Image 4: Milestone Configuration in Advance Editor</p></figcaption></figure>

The final result, visual showcasing various milestone shapes, is displayed in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FA44yoNfUBe50mFtz5XRe%2Fimage.png?alt=media&amp;token=1ba32942-4e6e-4350-8653-8d46d1bcc7a6" alt=""><figcaption><p>Image 5: Milestone Shape and color configuration in xViz Gantt Chart</p></figcaption></figure>

### Option 2: Steps to Configure Custom Images of Milestones:

1. Go to the Advanced Editor

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FRGkTuqiBlOyIRELDGRr4%2Fimage.png?alt=media&amp;token=71bdb1d3-ae31-400c-b135-8ef0e5f5510a" alt="" width="73"><figcaption><p>Image 6: Advance Editor icon</p></figcaption></figure>

2. In Advance Editor, navigate to the Milestones Tab

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FNX4HZ5uO7WnZEzVxD7hL%2Fimage.png?alt=media&amp;token=173de4c8-2650-4279-91dd-1e0b476f03ee" alt="" width="349"><figcaption><p>Image 6: Milestones Tab in Advance Editor</p></figcaption></figure>

3. Next, click on "custom image for milestone" and upload the milestone images from your device.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F3lQjDMZuSXPvMNG51m1G%2Fimage.png?alt=media&amp;token=96ebf227-b7f4-4162-a1c0-66493e0ffa75" alt="" width="360"><figcaption><p>Image 7: Upload Custom Images for Milestone</p></figcaption></figure>

{% hint style="success" %}
Milestone images support JPG, PNG and SVG formats.
{% endhint %}

The final result, the visual shows the Custom Images for Milestones, is displayed in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fh3fN99qJyO6WCBPzxWbe%2Fimage.png?alt=media&amp;token=03ce02c8-56e3-4fbc-b9cb-a7879ed3ec18" alt=""><figcaption><p>Image 8: Milestone Image configuration in xViz Gantt Chart</p></figcaption></figure>


# Planned Bars

### What is Planned/Baseline Bars?

In a Gantt chart, planned or baseline bars represent the original schedule for tasks, providing a visual baseline for comparing against actual progress. These bars help in visualizing the project's intended timeline and monitoring any deviations from the plan. Planned bars are typically distinguished by a unique color or style for clarity.

### Planned Bars in xViz Gantt Chart

The xViz Gantt Chart offers an intuitive way to display planned bars alongside actual bars, allowing for easy comparison. It also includes parent planned bars or phase planned bars, providing a comprehensive view of both individual tasks and overarching project phases.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FzQD0X9jvh4SyuZPHkV9g%2Fimage.png?alt=media&amp;token=ca85d96a-b026-483b-87d5-0fec98a89d17" alt=""><figcaption><p><em>Image 1: Planned Bars in xViz Gantt Chart</em></p></figcaption></figure>

### Steps to Display Planned Bars:

1. The dataset includes the Planned Start and Planned End columns, which are used to display planned bars in the visual as shown image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FvP7SoKWDIKAoEODihD6I%2Fimage.png?alt=media&amp;token=9abc25fb-4ac6-4eb1-b04a-5a55affc7b82" alt=""><figcaption><p><em>Image 2: Planned Start &#x26; End Columns</em></p></figcaption></figure>

2. Populate planned start and end dates in the data fields which is necessary to display planned bars.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FtakoJkjKj6YYYWt2bMSH%2F0.png?alt=media" alt="Image 3: Populating the Planned Start and Planned End Dates" width="183">

You'll then see the planned bars for each task alongside the actual bars, as display in the image below.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FGzbd5ipELiGeQfJFnZmn%2Fimage.png?alt=media&amp;token=dce7fd32-f30d-414c-a1ac-7821fa4d7446" alt=""><figcaption><p><em>Image 4: Planned Bars with xViz Gantt Chart</em></p></figcaption></figure>

### Steps to Display Planned Bars on Parent level:

1. Now, go to the Format Pane and navigate to the Chart Options.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F8PPZTiqVsGHJkxIlkwI2%2F2.png?alt=media" alt="Image 5: Chart Options in the Format Pane" width="181">

2. In Chart Options Category, you will find the “Show Planned Tasks” option and enable it.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FSbF4ejSktLOZrKPo9y8u%2F3.png?alt=media" alt="Image 6: Enabled Show Planned Tasks" width="183">

The final result, showcasing the planned bars for the parent level too, is displayed in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F6FSPC4GFWIvDd0vBtYxi%2Fimage.png?alt=media&amp;token=df0fad33-b53d-422f-896f-ae576f962962" alt=""><figcaption><p><em>Image 7: Parent Planned Bars with xViz Gantt Chart</em></p></figcaption></figure>

{% hint style="success" %}
The xViz Gantt Chart allows you to customize the Planned Bars - [Planned Bars Formatting](/project-management/planned-bars/planned-bars-formatting)
{% endhint %}


# Planned Bars Formatting

The xViz Gantt Chart allows you to below customization options for Planned Bars:

* [Planned Border Color](#steps-to-configure-planned-border-color)
* [Planned Bar Color](#steps-to-configure-planned-bar-color)

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F0fpAOp0BmSbDFk3pEcyb%2Fimage.png?alt=media&amp;token=5d34619b-043e-4860-845d-7343d7916bfa" alt=""><figcaption><p><em>Image 1: Customization of Planned Bars</em></p></figcaption></figure>

## Steps to Configure Planned Border Color

1. Go to the Format Pane and select the option for Data Colors

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fjw1YoIgNUtPXh8W0YGJ4%2Fimage.png?alt=media&amp;token=bd531d4e-3664-440f-93b7-5b1d2c98580c" alt="" width="182"><figcaption><p><em>Image 2: Data Colors options in Format Pane</em></p></figcaption></figure>

2. Select the "Border Color" option from Interaction State dropdown and you can then customize the Border color of the Planned Bars to match your preferences.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FP0Bi3GEv4XOWqXtkgsMJ%2Fimage.png?alt=media&amp;token=6083846e-aa1a-45da-abf2-650870a15f46" alt="" width="181"><figcaption><p><em>Image 3: Planned Border Color</em></p></figcaption></figure>

### Steps to Configure Planned Bar Color:

1. Go to the Format Pane and select the option for Data Colors

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fjw1YoIgNUtPXh8W0YGJ4%2Fimage.png?alt=media&amp;token=bd531d4e-3664-440f-93b7-5b1d2c98580c" alt="" width="182"><figcaption><p><em>Image 4: Data Colors options in Format Pane</em></p></figcaption></figure>

2. Select the "Border Color" option from Interaction State dropdown and you can then customize the Border color of the Planned Bars to match your preferences.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F1kIg2w9vNLTrnDTFQLfR%2Fimage.png?alt=media&amp;token=36b3bec3-fbbf-453b-b1d1-735141625d64" alt="" width="164"><figcaption><p><em>Image 5: Planned Fill Color</em></p></figcaption></figure>


# Connectors

Connectors in the Gantt chart help to visualize the dependencies in the elements of a timeline, like to visualize the dependencies in tasks of a project.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fxd3TSt3Y74h9ubDjXc9Y%2Fimage.png?alt=media&amp;token=97513533-59f7-48f7-ac63-03b52bf62440" alt=""><figcaption><p><em>Image 1: Connectors in xViz Gantt Chart</em></p></figcaption></figure>

In this document:

{% stepper %}
{% step %}
[Primary and Secondary Connectors](/project-management/connectors/primary-and-secondary-connectors)
{% endstep %}

{% step %}
[Multiple Connectors](/project-management/connectors/multiple-connectors)
{% endstep %}

{% step %}
[Connectors Formatting](/project-management/connectors/connectors-formatting)
{% endstep %}
{% endstepper %}

To plot more than two connectors, check out our detailed blog:&#x20;

{% embed url="<https://xviz.com/blogs/visualise-task-dependencies-in-xviz-gantt-chart-for-power-bi/>" fullWidth="false" %}


# Primary & Secondary Connectors

The xViz Gantt Chart can display both primary and secondary connectors.

### **Steps to Configure Connectors:**

![Configuring Connectors](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FSYW205koC5QW3Hwi2aEL%2F1.gif?alt=media)

1. Data components required to plot Connectors in the Gantt Chart: **Connect To, Connector Type**

![Image 1: Data structure for connectors](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FZweFsJkQpB7tzVqHzHgE%2F2.png?alt=media)

2. The visual offers two sets of data fields to accept the connector’s data: **Primary Connector** and **Secondary Connector**

![Image 2: Data fields for secondary connectors&#x20;
along with primary connectors](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FK1R0XigoEmmeb4znop8g%2F3.png?alt=media)

{% hint style="info" %}

* **"Connect To"** - specifies the task that the current task must be connected to represent the dependency between the two tasks.
* **"Connector Type" -** specifies the direction of the dependency between the tasks.
  {% endhint %}

#### **Primary Connectors**

![Image 3: The output of connectors in the xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Ff8ND3B1nGJCwh047QFKz%2F4.png?alt=media)

#### Secondary Connectors

1. The secondary connector fields are used to visualize multiple connectors. Two additional columns have been added to create multiple connectors in the dataset, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FWHsKVc00gDjtnToG4baO%2F9cfl5bde.png?alt=media&amp;token=94cba3e9-315a-4b56-b1a9-7ad249999204" alt=""><figcaption><p><em>Image 4: Secondary connectors column</em></p></figcaption></figure>

2. Resultant view with secondary connectors

![Image 5: Resultant view with secondary connectors](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FmLSo0UKhUHUKg8HGQq04%2F5.png?alt=media)

{% hint style="success" %}
Need more connectors? We have a solution! You can add even more connectors by entering comma-separated task IDs in the ‘Connect To’ field, allowing you to create multiple connectors from a single task - [Multiple Connectors](/project-management/connectors/multiple-connectors)
{% endhint %}


# Multiple Connectors

The xViz Gantt Chart allows you to add multiple connectors by entering comma-separated task IDs in the 'Connect To' field, to create multiple connectors from single task.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FgC7rzZ5IO6OoAn3QvnOW%2Fimage.png?alt=media&amp;token=47a2c1d1-b3b1-403c-aa00-5cef4f7bc76f" alt=""><figcaption><p><em>Image 1: Multiple Connectors in xViz Gantt Chart</em></p></figcaption></figure>

### Steps to configure Multiple Connectors

1. Add comma separated values to the 'Connect To' column to establish multiple connections with other tasks.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FdlrHXp8kYEf9TgutS9et%2Fimage.png?alt=media&amp;token=2f102c0f-aa7c-4d3c-a3b6-3f94d6f2e207" alt=""><figcaption><p><em>Image 2: Add Comma Separated Value</em></p></figcaption></figure>

{% hint style="info" %}
Comma-separated values specify the tasks to which the current task must be connected, representing the dependency between the two tasks.
{% endhint %}

2. Populate the data to "Connect To" and "Connectors Type" data field.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fg8JahqUC8viksWaC5vcZ%2Fimage.png?alt=media&amp;token=2540ebe4-085e-4087-9f28-fa7e775fc8b0" alt="" width="181"><figcaption><p><em>Image 3: Populate "Connect To"</em> <br><em>&#x26; "Connectors Type" data field</em></p></figcaption></figure>

3. &#x20;Then populate the "Index" column to the "Task ID" data field

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FXHEPnXANMysrdG36nYf0%2Fimage.png?alt=media&amp;token=82eb019c-743a-4b5d-b163-008bf368d777" alt="" width="181"><figcaption><p><em>Image 4: Populate the</em> <br><em>Task ID data field</em></p></figcaption></figure>

The final result, the visual shows the multiple connectors, is displayed in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FgC7rzZ5IO6OoAn3QvnOW%2Fimage.png?alt=media&amp;token=47a2c1d1-b3b1-403c-aa00-5cef4f7bc76f" alt=""><figcaption><p><em>Image 5: Multiple Connectors in xViz Gantt Chart</em></p></figcaption></figure>

{% hint style="success" %}
The xViz Gantt Chart allows you to customize the Connectors - [Connectors Formatting](/project-management/connectors/connectors-formatting)
{% endhint %}


# Connectors Formatting

&#x20;The xViz Gantt Chart allows you to configure the colors and types of connectors

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FI5Fx8mhz2fqwWKWRonoT%2Fimage.png?alt=media&amp;token=2b22195a-79a7-4e70-a94c-b3e1f492d999" alt=""><figcaption><p><em>Image 1: Connectors Formatting</em></p></figcaption></figure>

### Steps to Formatting Connectors:

1. Go to the Format Pane and select the option for Data Colors

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fjw1YoIgNUtPXh8W0YGJ4%2Fimage.png?alt=media&amp;token=bd531d4e-3664-440f-93b7-5b1d2c98580c" alt="" width="182"><figcaption><p><em>Image 2: Data Colors options in Format Pane</em></p></figcaption></figure>

2. Select the "Connectors" option from Interaction State dropdown.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FffTQ7T6jSWzYgU4NoXtO%2Fimage.png?alt=media&amp;token=5827bae1-8ad6-4385-9dd9-bec2cdfa786f" alt="" width="180"><figcaption><p><em>Image 3: Select Connectors option from dropdown</em></p></figcaption></figure>

3. You can then customize the line and arrow colors of the connectors to match your preferences.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FWmVPNTYeKb5Hjlod00H8%2Fimage.png?alt=media&amp;token=d46dd5d0-d7ba-4e1f-8d72-151ce8d02b85" alt="" width="180"><figcaption><p><em>Image 4: Customize the Connetors color</em></p></figcaption></figure>

4. Then you can display the Connector Line Type in different styles such as

* Solid
* Dotted
* Dashed
* Dashed-Dotted

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fa7bEPg6y9rhkZW3Fjyq1%2Fimage.png?alt=media&amp;token=8997d101-8f0d-44b1-b320-c2a644a706cf" alt="" width="179"><figcaption><p><em>Image 5: Connectors Line Type</em></p></figcaption></figure>

5. Adjust the connectors line stroke you would like to customize.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FTUUHv8QFTlpuIdS4Vomw%2Fimage.png?alt=media&amp;token=85ce7853-c02d-42e7-8122-a4e0cf0e5adf" alt="" width="181"><figcaption><p><em>Image 6: Connector Line Stroke</em></p></figcaption></figure>


# Progress

The Progress feature in the xViz Gantt Chart enables you to track the status of each task or subtask within the visual, with options to customize the timeline bars for enhanced clarity.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fsp8cfBNCqLMa7E5TiAVy%2Fimage.png?alt=media&amp;token=4dad6c55-8ba9-4ea3-8f2b-85f666cc30f9" alt=""><figcaption><p><em>Image 1: Progress</em></p></figcaption></figure>

In this document:

{% stepper %}
{% step %}
[Tracking the Progress](/project-management/progress/tracking-the-progress)
{% endstep %}

{% step %}
[Progress Base](/project-management/progress/progress-base)
{% endstep %}

{% step %}
[Bar Formatting](/project-management/progress/bar-formatting)
{% endstep %}
{% endstepper %}


# Tracking the progress

Checkout the fill of the bars that can indicate the progress of the tasks/subtasks that the bar represents.&#x20;

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F0B137dtYb3xk396Rh6r2%2Fimage.png?alt=media&amp;token=fb2dd68e-fe97-4cf6-b045-a1242a8689f8" alt=""><figcaption><p><em>Image 1: Bar fill indicates the progress in the xViz Gantt Chart</em></p></figcaption></figure>

### **Steps to showcase Progress:**

Simply add a column of Progress value (range 0 - 100) in the **'Progress' data field**. <br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FWh2PjvbkvD2ohml8ty3X%2Fimage.png?alt=media&amp;token=d8695091-ce59-4462-a8a9-c1ca8a5ad762" alt=""><figcaption><p><em>Image 2: Populate Progress field</em></p></figcaption></figure>

{% hint style="success" %}
Values like Progress for Parent bars are internally calculated in the visual using the information of the child bars. Refer the attached document link for understanding the calculations - [Parent Level Calculation](/project-management/parent-level-calculations)
{% endhint %}


# Progress Bar Display

When Progress is provided in the **Progress** data field then we have the option to customize the appearance of the fill of the bars that represent the progress.

![GIF 1: Progress Bar Customization](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FK1XlvVT2Zfm8lXS7pHEy%2F1.gif?alt=media)

We have an option to customize the **Progress Bar** Display with any of the following options:

* Bar
* Bullet

{% hint style="warning" %}
This option is available only when the “**Progress**” data field is populated.
{% endhint %}

Go to the **Format Pane-> Chart Options -> Progress Bar Display**

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FA8YcpRqrTbrq2yasCxjj%2Fimage.png?alt=media&amp;token=ede7225c-000b-464f-ab9c-d60906c68fbc" alt="" width="272"><figcaption><p><em>Image 3: Progress Bar Display Customization</em></p></figcaption></figure>

* **Bar** Vie&#x77;**:** All the Parent and the Child nodes are in the **Bar view** display, where the fill occupies the full height of the bar.

![Image 4: Bar view in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FlAK0dpKyZFxxYmn9phmc%2F4.png?alt=media)

* **Bullet** view: All the Parent and the Child nodes are in the **Bullet view** display, where the progress fill does not occupy the full height but appears as a bullet chart highlighting the progress.

![Figure 5: Bullet view in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FLywN4skm95Up5Ppm8qoR%2F5.png?alt=media)

{% hint style="success" %}
Values like Progress for Parent bars are internally calculated in the visual using the information of the child bars. Refer the attached document link for understanding the calculations - [Parent Level Calculation](/project-management/parent-level-calculations)
{% endhint %}

***

Try the [xViz Gantt Chart](https://xviz.com/visuals/gantt-chart/) (Microsoft certified) for Power BI from Microsoft AppSource [here.](https://appsource.microsoft.com/en-sg/product/power-bi-visuals/WA200000891?tab=Overview)


# Progress Base

In xViz Gantt Chart, the Progress Base data field is used to calculate the Progress% using the Progress data field.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FZM6DpQJzsX1UunSA94d4%2Fimage.png?alt=media&amp;token=8bd0d532-65f3-47cc-bbf1-a4753815e9ef" alt=""><figcaption><p>Image 1: Calculate Progress using Progress data field &#x26; Progress Base data field</p></figcaption></figure>

Let's understand how the Progress Base data field works with an example.

In the xViz Gantt Chart, the Progress % is calculated by dividing the "Progress" data field by the "Progress Base" data field.

In the image below, you can see the DAX calculation, which divides the "Progress" column by the "Progress Base" column.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fv1hPjifiSXXVLlti7ejM%2Fimage.png?alt=media&amp;token=aa477f11-d854-4f3c-aedc-eb6648b3c62a" alt=""><figcaption><p>Image 2: DAX measure</p></figcaption></figure>

As a result, the DAX measure provides the Progress % for each task. The image below shows that the Progress % for each task is same in the xViz Gantt Chart and the Table visual.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FISVt6Egh5OYONGGaImko%2Fimage.png?alt=media&amp;token=267ff242-98c7-45b6-aa31-8893a9f7b944" alt=""><figcaption><p>Image 2: Example to understand Progress Base data field</p></figcaption></figure>

{% hint style="info" %}
The DAX measure and Table visual shown above are provided only for reference to understand the calculation
{% endhint %}


# Bar Formatting

The xViz Gantt Chart allows you to easily customize bar formatting to match your preferences using below option:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F3RdYbic8ec6ZEcOglkxN%2Fimage.png?alt=media&amp;token=bed34861-cb47-4386-aa59-eac348544d8e" alt=""><figcaption><p><em>Image 1: Bar Formatting</em></p></figcaption></figure>

{% stepper %}
{% step %}
[Bar Border Color](/project-management/other-features/data-colors/bar-border-color)
{% endstep %}

{% step %}
[Bar Selection Color](/project-management/other-features/data-colors/bar-selection-color)
{% endstep %}

{% step %}
[Bar Fill Color](/project-management/other-features/data-colors/bar-fill-color)
{% endstep %}
{% endstepper %}


# Timeline Configurations

Timelines are one of the most important features in the xViz Gantt Chart, offering crucial project context. Customize and enhance your planning in the Gantt Chart with Multi-Level Timelines.

In addition, provide users with the ability to see deeper levels & more.

![Image 1: Multi-Level Timeline in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F9IolINFwJ6GcUDGXxJml%2F0.png?alt=media)

**Configuration to visualize Timelines:**

{% stepper %}
{% step %}
[Header Levels](/project-management/timeline-configurations/header-levels)
{% endstep %}

{% step %}
[Timeline Header Format](/project-management/timeline-configurations/timeline-header-format)
{% endstep %}

{% step %}
[Zoom Levels](/project-management/timeline-configurations/zoom-levels)
{% endstep %}

{% step %}
[Zoom Range Options](/project-management/timeline-configurations/timeline-range)
{% endstep %}

{% step %}
[Zoom Options](/project-management/timeline-configurations/zoom-options)
{% endstep %}

{% step %}
[Timeline Range](/project-management/timeline-configurations/timeline-start-end)
{% endstep %}

{% step %}
[Fiscal Year Support](/project-management/timeline-configurations/fiscal-year-support)
{% endstep %}

{% step %}
[Language Support for Timeline](/project-management/timeline-configurations/language-support-for-timeline)
{% endstep %}
{% endstepper %}

To learn more about the timeline feature, check out our detailed blog:

{% embed url="<https://xviz.com/blogs/multi-level-timeline-xviz-gantt-chart-power-bi/>" %}

***

Try the [xViz Gantt Chart](https://xviz.com/visuals/gantt-chart/) (Microsoft certified) for Power BI from Microsoft AppSource [here.](https://appsource.microsoft.com/en-sg/product/power-bi-visuals/WA200000891?tab=Overview)&#x20;


# Timeline Start/End

xViz Gantt Chart offers flexibility to use **Default, Static** or **Dynamic** dates in the Timeline.

1. **Default** - The timeline range is defined by the earliest start date and the latest end date from the data provided in the date fields. When any filter is applied, this range adjusts dynamically based on the filtered date values.
2. **Static** - Define static dates for the timeline start and end. Irrespective of any filtering or dates of the tasks or today's date, the timeline range will remain static.
3. **Dynamic** - Provide DAX measures to determine the timeline start and end dates. The best use case is for Rolling timelines where the context of today's date is essential. \
   For example: If it starts today (Nov 7, 2024) and shows the next 2 years, in one month, it will be dynamically adjusted to show from Dec 7, 2024, to Dec 7, 2026, keeping the 2-year view as time moves on.&#x20;

<details>

<summary>Step to Configure Static Dates</summary>

1. Open the Advanced Editor Icon<br>

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F0ymrs4ACtG9wgtnMUT0F%2F0.png?alt=media" alt=""><figcaption><p><em>Image 1: Advanced Editor option</em></p></figcaption></figure>

2. Open the Timeline section.<br>

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FWidlXssSjuHxiVZQJEvB%2F1.png?alt=media" alt=""><figcaption><p><em>Image 2: Timeline Tab in Advanced Editor</em></p></figcaption></figure>

3. Options of Start Date and End Date will be shown:<br>

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F4xudtkdxq3SajO5hhoXw%2F2.png?alt=media" alt=""><figcaption><p><em>Image 3: Start Date and End Date options to define the Range</em></p></figcaption></figure>

4. Select the drop drown option for Start Date/End Date and select the "Static Date" option:<br>

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FH4g6VjfIeOW9iloWBeex%2F3.png?alt=media" alt=""><figcaption><p><em>Image 4: "Static Date" option for Start Date and End Date to define the static Range</em></p></figcaption></figure>

5. Select the Date from the Calendar:<br>

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FpeguInm1oFYEoUFM6NFn%2F4.png?alt=media" alt=""><figcaption><p><em>Image 5: Static Dates set for both Start Date and End Date</em></p></figcaption></figure>

6. Click on the Save button to save the changes:<br>

   ![Image 6: Start Date and End Date applied to Timeline Range](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FWJpgYhjVqX4f90Y4Kvgl%2F5.png?alt=media)

**Benefit!** This enables to keep the Timeline static despite applying filters/slicers.

</details>

<details>

<summary>Steps to add Dynamic Dates</summary>

The Rolling timeline in a Gantt chart dynamically shifts the displayed time range.

**Example**: If it starts today (Nov 7, 2024) and shows the next 2 years, in one month, it will be dynamically adjusted to show from Dec 7, 2024, to Dec 7, 2026, keeping the 2-year view as time moves on.

Let's see the steps to set it up:

1. Create the DAX measures for Dynamic Start Date and Dynamic End Date ad below:

<pre class="language-dax"><code class="lang-dax"><strong>Rolling Timeline Start = TODAY()
</strong></code></pre>

```dax
Rolling Timeline End = EDATE(TODAY(), 24)
```

**Note:** DAX Measures for Dynamic Start Date and Dynamic End Date may vary based on different use cases and business requirements

2. Populate the 'Timeline Start/End' Date field with the above DAX measures.<br>

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FNh85Bfolo6mqoOfj7tMA%2Fimage.png?alt=media&amp;token=309473c2-9115-4ed1-a118-90f7a31fa5ab" alt=""><figcaption><p><em>Image 7: Populate Timeline Start/End field</em></p></figcaption></figure>
3. In the Timeline section, select 'Data' for Start Date/End Date and choose the respective measures as shown image below:<br>

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FmG28VqCzirSQkTmHcmnv%2Fimage.png?alt=media&amp;token=9b720cdc-416d-4dd9-97a8-367da0c32e76" alt="" width="294"><figcaption><p><em>Image 8: Choose respective measures in Timeline tab</em></p></figcaption></figure>

</details>

<details>

<summary>Combination of Dates</summary>

1. In the Timeline section we can use a combination of dates.
2. Can show the Start date as a Static date and End date as Data.<br>

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FKbYb9YawYU1e9mimUo5l%2F10.png?alt=media" alt=""><figcaption><p><em>Image 9: Start and End Dates can have different types of values to define the Timeline Range</em></p></figcaption></figure>

</details>


# Timeline Range

Use the **Zoom Range Options** to configure the time range to be visible by default at any point of time on the visualization. End users can navigate across the rest of the timeline with the horizontal scroll.&#x20;

Enabling the Zoom Range Options gives us the capability to set the **Zoom units, Range** and **Anchor** the date as per needs.

Go the **Format Pane** -> **Timeline** -> **Zoom Range Enable** (Toggle On/Off)

1. **Zoom Units**: This option defines the unit to be used to define the visible range in the timeline. There are **eight** options in the **Zoom units** as seen below:

![Image 1: Zoom Unit options in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F2m8bYZldZs6ILVNkIBhN%2F10.png?alt=media)

2. **Zoom Range**: This option defines the visible ranges to fit in the timeline while using the buttons or wheels for zooming.

![Image 2: Zoom Range in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FooascYGPdV5veb5HTcYF%2F11.png?alt=media)

3. **Zoom Anchor**: The horizontal scroll is enabled if the Timeline spans beyond the visible range on the chart. With this option, you can define the default position of the scroll.\
   There are **six** options in Zoom Anchor as seen below:

![Image 3: Zoom Anchor options in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FnFg7XRYUeOzfIeDXhCaN%2F12.png?alt=media)

4. **Scroll Bar Color Option**: Set the color of the scroll bar using color palette.

In the below example, the Timeline is set to display 3-day period. The scroll position is set to the first date of the data. And scroll bar color is set to blue

![Image 4: Zoom Range in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fm4FVMxhXAU8l2Xk6FBkV%2F13.png?alt=media)

The result can be seen in the image below:

![Image 5: Timeline Zoom Range visualization in the xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F1wpNoriuhBUUEKb8LMmn%2F14.png?alt=media)


# Header Levels

### Header Levels

Timeline has three Header levels:

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FcQ4p8LDTyL3j1NWprFPS%2F1.png?alt=media" alt="Image 1: Timeline level Settings" width="257">

* Top Level
* Middle Level
* Low Level

Toggle on/off to enable the zoom levels.

{% hint style="warning" %}
We do not provide an option for adjusting the low-level header height because it is automatically calculated within the visual as follows:

Low Level Header Height = Chart Options Header Height - Top Level Header Height - Mid Level Height
{% endhint %}


# Timeline Header Format

### Timeline Header Format

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F4Qv5CbiFisZgR5AATLCO%2F2.png?alt=media" alt=""><figcaption><p><em>Image 1: Timeline Header Format</em></p></figcaption></figure>

The xViz Gantt chart provides different Date Header formats for your timeline which are as follows:

* **Normal** – e.g., Q1, Q2

![Image 2: Normal- Header Format](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fq0tZb7s1ZZW3a1LFhO4H%2F3.png?alt=media)

* **Combined** – Displays combined time ranges together e.g., Q1-Q2, Q2-Q3

![Image 3: Combined-Header Format](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fp4AolDXdL5MOpfhMCqjc%2F4.png?alt=media)

* **Days** – Displays the number of days in each time range e.g., Q1: 90days, Q2:91 days.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FikeM3JhJEPNxxYCzHyQ5%2F5.png?alt=media" alt=""><figcaption><p><em>Image 4: Days-Header Format</em></p></figcaption></figure>


# Zoom Levels

The **Zoom Levels** tab under the **Advanced Editor** provides the option to define the timeline levels you see while zoom in and zoom out the operation.

![Image 1: Zoom Levels-Advance Editor](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fyvng3BrOLPNBqlsF2J6Q%2F6.png?alt=media)

You can set **8 different zoom levels** and define different **Top, middle and bottom** levels based on user preference.

![Image 2: Diverse levels in zoom levels](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FgNUziaqmqj2t8YtU2Cot%2F7.png?alt=media)

You can also **skip levels**; Month level is skipped, and the bottom-most level appears as a week.

![Image 3: Set Zoom Levels](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FcpfbT45uAsfi1wqdXEUA%2F8.png?alt=media)

!\[

Image 4: Skip level configuration in Zoom Levels Description automatically generated]\(/files/02dl9nEujPFB4S1QdaS8)


# Zoom Options

Enable report end-users to zoom the timeline easily by using **Button** or the **Wheel** options provided. It allows you to visualize the timeline at various levels of granularity.

To enable it: Go to the **Format Pane** -> **Chart Options** -> **Zoom Options.**

Set the Zoom options to either Button or Wheel for zooming.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FjEGHQ1oERizjWWARImQJ%2Fimage.png?alt=media&amp;token=73bbff82-e31c-4dce-8daf-23cbb3fbb341" alt="" width="191"><figcaption><p><em>Image 1: Zoom Options</em></p></figcaption></figure>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FZzwHLPDyHOiQFFMCHb3m%2F16.gif?alt=media" alt="" width="563"><figcaption><p><em>GIF 1: Zooming through the timeline using button option in xViz Gantt Chart</em></p></figcaption></figure>

To define which levels should appear on zooming in, set the “Zoom Leves” configuration explained in the earlier section of this document.


# Fiscal Year Support

In the xViz Gantt Chart, we can configure the starting month of the Fiscal year as needed.

In different countries the Fiscal year cycle is different.

![Image 1: Fiscal year configuration](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fc4i0sSoFrRymzFqh7WP0%2F0.gif?alt=media)

**Steps to configure:**

1. Go to the **Format Pane** -> **Fiscal Year Type** and select **Fiscal** option to configure.
2. Go to the **Format Pane** -> **Fiscal Year - Starting Month** and select the month which is the starting month of the desired Fiscal Year.

![Image 2: Data Fields to configure Fiscal Year](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FTPqMlRWJambeIi3oBEq9%2F1.png?alt=media)

In the below example, both the charts have different Fiscal years, one starts in the April month, and one starts in the May month.

![Image 3: Fiscal year configuration for April and May month](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FS72WlBzVM5HeidXcEffE%2F2.png?alt=media)

***

Try the [xViz Gantt Chart](https://xviz.com/visuals/gantt-chart/) (Microsoft certified) for Power BI from Microsoft AppSource [here.](https://appsource.microsoft.com/en-sg/product/power-bi-visuals/WA200000891?tab=Overview)


# Timeline Format

The xViz Gantt Chart offers formatting options for dates in the timeline header.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FmKaeruJz0sXCxaCOisUI%2Fimage.png?alt=media&amp;token=3bd5107e-f3f3-4d24-b3a5-ecd6d279ece1" alt=""><figcaption><p>Image 1: Timeline formatting with xViz Gantt Chart</p></figcaption></figure>

### Steps to format dates for Timeline:

1. Go to the Advance Editor

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FtgpwcL8FG8CfS4IJ0gcr%2Fimage.png?alt=media&amp;token=9d21584a-a702-44ea-8abb-c08b54ccb6b1" alt="" width="73"><figcaption><p>Image 2: Advance Editor icon</p></figcaption></figure>

2. Then, navigate to the Timeline tab, where you will find the Format text box located below the Interval text box.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FJzJK9RjApUDEUMyHgltT%2Fimage.png?alt=media&amp;token=8f40a225-dd36-4cb1-bea6-8c96053c68cd" alt="" width="375"><figcaption><p>Image 3: Format text box in Timeline tab</p></figcaption></figure>

3. Afterwards, you can format the date to determine how dates are displayed on the timeline header.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FR4o1SHIKDuuDIHp9b9yh%2Fimage.png?alt=media&amp;token=45bbab50-530f-47dd-b73a-f1efbd2ceec1" alt="" width="309"><figcaption><p>Image 4: Format Timeline</p></figcaption></figure>

The final result, the timeline header is formatted, is displayed in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FmKaeruJz0sXCxaCOisUI%2Fimage.png?alt=media&amp;token=3bd5107e-f3f3-4d24-b3a5-ecd6d279ece1" alt=""><figcaption><p>Image 5: Timeline formatting with xViz Gantt Chart</p></figcaption></figure>

### Format Keywords:

Below are the format keywords for customizing the timeline, along with an example. In this example, the date is August 6, 2024, 3:05:02 AM, and week start is set to Monday. Note that the format keywords are case sensitive.

<table data-header-hidden><thead><tr><th></th><th width="327"></th><th></th></tr></thead><tbody><tr><td><strong>Format</strong></td><td><strong>Notes</strong></td><td><strong>Result</strong></td></tr><tr><td>YYYY</td><td>4-digit year</td><td>2024</td></tr><tr><td>YY</td><td>Last 2 digits of the year</td><td>24</td></tr><tr><td>MMMM</td><td>Full month name</td><td>August</td></tr><tr><td>MMM</td><td>3-letter month abbreviation</td><td>Aug</td></tr><tr><td>MM</td><td>Month number with leading zeros</td><td>08</td></tr><tr><td>M</td><td>Month number without leading zeros</td><td>8</td></tr><tr><td>Q</td><td>Quarter number</td><td>3</td></tr><tr><td>w</td><td>Week number of the year without leading zeros</td><td>32</td></tr><tr><td>ww</td><td>Week number of the year with leading zeros</td><td>32</td></tr><tr><td>D</td><td>Day of the month without leading zeros</td><td>6</td></tr><tr><td>DD</td><td>Day of the month with leading zeros</td><td>06</td></tr><tr><td>ddd</td><td>3-letter weekday abbreviation</td><td>Tue</td></tr><tr><td>dddd</td><td>Full weekday name</td><td>Tuesday</td></tr><tr><td>h</td><td>12-hour clock without leading zeros</td><td>3 AM</td></tr><tr><td>hh</td><td>12-hour clock with leading zeros</td><td>03 AM</td></tr><tr><td>H</td><td>24-hour clock without leading zeros</td><td>3</td></tr><tr><td>HH</td><td>24-hour clock with leading zeros</td><td>03</td></tr><tr><td>m</td><td>Minutes without leading zeros</td><td>5</td></tr><tr><td>mm</td><td>Minutes with leading zeros</td><td>05</td></tr><tr><td>s</td><td>Seconds without leading zeros</td><td>2</td></tr><tr><td>ss</td><td>Seconds with leading zeros</td><td>02</td></tr></tbody></table>

### Template to format Timeline Header:

Combine keywords with additional words encapsulated in double quotes.

<table data-header-hidden><thead><tr><th width="239"></th><th width="182"></th><th></th></tr></thead><tbody><tr><td><strong>Format</strong> </td><td><strong>Result in Timeline</strong></td><td><strong>Notes</strong></td></tr><tr><td>"Q"Q</td><td>Q3</td><td>The Q between double quotes is extra text</td></tr><tr><td>YYYY</td><td>2024</td><td></td></tr><tr><td>MMM</td><td>Aug</td><td></td></tr><tr><td>MMM" "DD", "YYYY  </td><td>Aug 06, 2024</td><td>Comma is added here, similarly any other text or symbols can be added in between double quotes</td></tr></tbody></table>

**Note:** If the header format is set to 'Combined' or 'Days' in the Timeline options of the Format pane, then the Format text boxes will not appear in the Timeline tab.


# Language Support for Timeline

The xViz Gantt Chart offers timeline support across up to three levels, with the capability to provide timelines granularity up to the day level.

The xViz Gantt Chart automatically adopts the language settings of your web browser for its timeline display. To modify the language used in the xViz Gantt chart timeline, you must change your browser default language settings.

E.g.: Set the Timeline levels as Year, Quarter, and Month. In this case, months can be shown in different languages.

For instructions on how to change the browser language, please refer to the documentation of your browser. Here are the guides of a couple of browsers on the steps to change the language of your browser:\
1\. Google Chrome:[Change Chrome languages and translate webpages - Android - Google Chrome Help](https://support.google.com/chrome/answer/173424?hl=en\&co=GENIE.Platform%3DAndroid)

2\. Microsoft Edge: [Use Microsoft Edge in another language - Microsoft Support](https://support.microsoft.com/en-us/microsoft-edge/use-microsoft-edge-in-another-language-4da8b5e0-11ce-7ea4-81d7-4e332eec551f#:~:text=Go%20to%20Settings%20and%20more,Microsoft)

For example, we have set the browser language to French.\
Now, refresh the xViz Gantt chart file. After refreshing, we can observe that the timeline's month labels will be displayed in French.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FPP8gAQmXXeL9qPRlsUCs%2F0.png?alt=media" alt=""><figcaption><p><em>Image 1: Timeline Language changed to French</em></p></figcaption></figure>

In this way, the xViz Gantt Chart timeline automatically adopts the language settings of your web browser.


# Alerting Techniques

The use of alerting techniques leads to the identification of relevant information and effective decision-making.

Gantt chart can be beneficial to use alerting or visual highlighting techniques to draw attention to critical information. Three primary types of alerting techniques are commonly used in Gantt charts: critical path highlighting, milestones highlighting, and task highlighting.

There are 3 different types of alerting or visual highlighting in the Gantt chart which are as follows:

1. **Conditional Formatting on the Timeline -> Progress Bar**

Standard conditional formatting rules can be set up for Progress-based Alerts, which rely on a common project metric such as the completion percentage of tasks or the current progress.

![](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FSl5CdCQ7EHySkBXWsa0J%2F0.png?alt=media)

2. **Conditional Formatting on the Data Grid**

Tracking task durations is critical for ensuring the successful completion of a project within the designated timeline. Exceeding the planned duration for a task can impede the overall progress of the project and negatively impact its success. By setting up alerts based on duration, project managers and team members can remain informed of task progress and take remedial measures, as necessary. Such alerts enable users to re-prioritize their tasks or accelerate the task completion process to ensure the project stays on track.

![](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fed5oFdJySj7Hl30XLgvG%2F1.png?alt=media)

3. **Conditional Formatting on the Status Flag**

Alerts based on status flags can help project managers and team members stay informed of project progress and identify potential roadblocks or issues Using status-based alerts can help ensure that team members remain on top of their tasks and stay aligned with the project timeline.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FhPySmUlmjpgAvPmWEsK6%2F2.png?alt=media" alt=""><figcaption></figcaption></figure>

To understand more about the data alerting techniques in Gantt, refer to the blogs:

* [Alerting Techniques in xViz Gantt Chart for Power BI](https://xviz.com/blogs/alerting-techniques-in-xviz-gantt-chart-for-power-bi/)
* [Monitoring Projects in Power BI using Alerting functions in Gantt Chart (xviz.com)](https://xviz.com/blogs/monitoring-managing-projects-in-gantt-chart-using-alerting-configurations/)

xViz Gantt Chart offers various options for customizing conditional formatting and setting up alerts based on different scenarios or conditions:

[Conditional Formatting](/project-management/alerting-techniques/conditional-formatting)


# Steps to enable Conditional Formatting

If you see the below message in the Conditional Formatting section, then please refer to the steps given below to enable Conditional Formatting:&#x20;

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FidGquK8sinRUzKx5HHyx%2Fimage.png?alt=media&amp;token=f7f14846-9c98-4e5f-823b-ad4d551bde7f" alt=""><figcaption><p><em>Image 1: Conditional Formatting is disabled</em></p></figcaption></figure>

1. Navigate to Visualization Pane-> Display Measures data field:

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FGncwXYGh3VfRGMSuubtJ%2F0.png?alt=media" alt="Image 2: Display Measure from the visualization pane" width="160">

2. Insert/Add a numeric value in the Display Measures data field:

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FUUHyan0UtdMtTSD7QlmN%2F1.png?alt=media" alt="Image 3: Adding a column in the Display Measure data field" width="137">

3. Navigate to Format Pane-> Display Measures:

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FaMzAsfqCxsyv4WWZWXGM%2F2.png?alt=media" alt="Image 4: Display Measure from Format pane" width="136">

4. If you do not wish to see the measure value in the data grid, then disable the toggle option of the value added:

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fi8RPhi7Hhn5sd1LIIfBm%2F3.png?alt=media" alt="Image 5: Turning off Display Measure from the Format pane" width="140">

5. Navigate to Advanced Editor (yellow pencil icon) and click on it:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fv6yAFMcHSVZr96Qxvyae%2F4.png?alt=media" alt="" width="563"><figcaption><p><em>Image 6: Advanced Editor icon</em></p></figcaption></figure>

6. Click on the Conditional Formatting tab and now you can add new rules based on your preferences:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FDaLJt16qjI7byuVQVcI1%2F5.png?alt=media" alt=""><figcaption><p><em>Image 7: Conditional Formatting tab from Advanced Editor</em></p></figcaption></figure>

7. Click on Add a new rule and you can see as shown below:

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F7uSyU3adKvZVAbrZZpw5%2F6.png?alt=media" alt="Image 8: Configuring rules in the Conditional Formatting tab from Advanced Editor" width="279">


# Conditional Formatting

Conditional formatting is a technique where the color, font, text, and values of a data point are changed based on a data-driven condition. This technique can be used for performance metrics or to provide data-driven alerts.

Gantt Chart applies formatting based on certain criteria, such as completion percentage or project status, so users can easily track progress and identify potential issues. It allows users to customize the formatting rules and colors to better suit their individual needs.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F8cqzdhfJ5Iiy68w4089E%2F0.png?alt=media" alt="Image 1: Conditional Formatting" width="203">

### [Steps to enable Conditional Formatting](/project-management/alerting-techniques/steps-to-enable-conditional-formatting)

Conditions can be set either by Rule or Color Scheme

### Method 1 - Process for Format By -> Rule

1. To apply the formatting select the **Condition**.

!\[Graphical user interface, text, application, chat or text message

Description automatically generated]\(/files/uTQs4p2JjKeY4RInRlsl) !\[Graphical user interface, text, application, chat or text message

Description automatically generated]\(/files/3fALnUVvazHINeOrwHGz) !\[Graphical user interface, text, application

Description automatically generated]\(/files/5U9nLbtJ6E082F0niJp3)

### Method 2 - Process for Format By -> Color Schemes

1. Different **Color Schemes** are used for formatting:

![Image 2: Format with color scheme](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FbxxwgtEHHQMeEC6aOQHf%2F14.png?alt=media)

![Image 3: Number of ranges](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FJoYG8Wo4qkht3hhoMlgB%2F15.png?alt=media)

![Image 4: Color Blind Safe](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FHS9daZF0X5XJ5KV82mVP%2F16.png?alt=media)

![Image 6: Choose Color Scheme](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQenOPWqmkqdxWXRdU6Kl%2F17.png?alt=media)

![Image 7: Select Range](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FxLbN0CwXjVP8pUOO9luK%2F18.png?alt=media)

### Legend Configuration

To display legends for the Status flag and Timeline bars of the applied rule, enable the "Show in Legend" option.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FUpOePXSG9Zxz7PboDlCk%2Fimage.png?alt=media&amp;token=9d045795-aed2-4cd5-b002-1a3c88908a05" alt="" width="335"><figcaption><p><em>Image 8: Show in Legend</em></p></figcaption></figure>


# Reference Lines and Reference Range

The xViz Gantt Chart provides you with the option to display **Reference Lines** (based on dates) and **Reference Ranges** on the chart thereby giving an indication of where you are in the project and to assess the level of completeness.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FFfknPfNedjSU7YNfVx3A%2Fimage.png?alt=media&amp;token=c474fe7a-d709-4b45-8539-d0dcb89c4d3e" alt=""><figcaption><p><em>Image 1: Reference Lines &#x26; Reference Ranges</em></p></figcaption></figure>

In this document:

{% stepper %}
{% step %}
[Introduction to Reference Lines and Reference Ranges](/project-management/reference-lines-and-reference-range/introduction)
{% endstep %}

{% step %}
[Setting up using configurations](/project-management/reference-lines-and-reference-range/static-approach)
{% endstep %}

{% step %}
[Setting up using data-fields](/project-management/reference-lines-and-reference-range/data-driven-approach)
{% endstep %}
{% endstepper %}

***

Try the [xViz Gantt Chart](https://xviz.com/visuals/gantt-chart/) (Microsoft certified) for Power BI from Microsoft AppSource [here.](https://appsource.microsoft.com/en-sg/product/power-bi-visuals/WA200000891?tab=Overview)


# Introduction

The xViz Gantt Chart provides you with the option to display **Reference Lines** (based on dates) and **Reference Ranges** on the chart thereby giving an indication of where you are in the project and to assess the level of completeness.

**Reference Line** - A date line spanning across all the tasks. Configuration of one date will add the reference line on the Chart.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FeDcItFd1vt04jvr6UfTn%2F0.png?alt=media" alt="Image 1: Reference Line in the xViz Gantt Chart" width="563">

**Reference Band** - Range of continuous dates highlighted in the tasks. Configuring two dates ranges will be highlighted as a band in the chart.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FeGEHAsjVKEn9Z8cqyzki%2F1.png?alt=media" alt="Image 2: Reference Band in the xViz Gantt Chart" width="563">

{% hint style="success" %}
We can display the Reference line and Reference Range with Static Approach using the Reference tab which is located in Advance Editor - [Static Approach](/project-management/reference-lines-and-reference-range/static-approach)
{% endhint %}


# Static Approach

We can display the Reference line and Reference Range with Static Approach using the Reference tab which is located in Advance Editor.

### Setting up using configurations:

1. Go to the **Advanced Editor**&#x20;

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F9BUN9TlcBQui3ngfsMwX%2F2.png?alt=media" alt=""><figcaption><p><em>Image 1: Advance Editor Icon</em></p></figcaption></figure>

2. Navigate to the "Reference" Tab

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQNsYuGl9rQO5QxZQsTHa%2F3.png?alt=media" alt="Image 2: Advance Editor-References Tab in the xViz Gantt Chart" width="563">

#### **a. For Reference lines**&#x20;

The xViz Gantt provides users the option to set multiple reference lines based on different logic:

2. **Date configuration**

We need to configure one single date to add the Reference Line on the Chart:

* **First-of-date –** Displays Reference Line on the earliest start date from the data where the Timeline starts.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FwNmXT7XKGKjzSZadEbM2%2Fimage.png?alt=media&amp;token=2bbeb995-21f0-423c-91bf-295d6299eb61" alt="" width="563"><figcaption><p><em>Image 3: Reference Line option First-of-date in the xViz Gantt Chart</em></p></figcaption></figure>

* **Last-of-date-** Displays Reference Line on the latest start date from the data, where the Timeline ends.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FdwXCWjJpiw3QHOT5n5bP%2Fimage.png?alt=media&amp;token=7f6aefc3-7680-40ab-861a-54e1dd7b1046" alt="" width="563"><figcaption><p><em>Image 4: Reference Line option Last-of-date in the xViz Gantt Chart</em></p></figcaption></figure>

* **Today-** Displays Reference Line on the present day dynamically.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQEfzAlPqpeoXqUq7TGsD%2Fimage.png?alt=media&amp;token=72902ac2-61fc-4bd3-b545-bcf9e86fc2c5" alt="" width="563"><figcaption><p><em>Image 5: Reference Line option Today in the xViz Gantt Chart</em></p></figcaption></figure>

* **Custom Date-** Displays Reference Line for the static date provided in the configuration

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FaJOOXs3Sh9KpVx4FQNYb%2Fimage.png?alt=media&amp;token=47c43a84-5019-4b3c-8e1d-aa9612b09fe0" alt="" width="563"><figcaption><p><em>Image 6: Reference Line option Custom Date in the xViz Gantt Chart</em></p></figcaption></figure>

3. &#x20;**Formatting options for Reference Lines:**

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FffOP8CNMimS2DoE3cYP0%2F12.png?alt=media" alt="Image 7: Reference Line Formatting options in the xViz Gantt Chart" width="302">

* **Reference Color** - Choose from color palette and set the color as per needs.
* **Display Line Type and Stroke** - Apply Line type formatting from the options below:

1. Dotted
2. Dashed
3. Solid
4. Dashed-Dotted

Adjust the **Width** of the Line type using **Stroke** Option.

* **Text- Font Weight, Position and Background**-Format the text using Font size, Position, and background color options.

#### **b. Reference Band**

Use the reference range, **Custom Date Range** option to highlight a specific range on your Timeline.

2. **Date configuration**

We need to configure Custom Date from and Date to dates to highlight the specific Range in the Chart.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fnf7YQ4OP6yEbG7ipsNYD%2Fimage.png?alt=media&amp;token=69a7ba16-1066-49b5-8bf7-f5b3da57eef7" alt="" width="563"><figcaption><p><em>Image 8: Reference Band in the xViz Gantt Chart</em></p></figcaption></figure>

For the date range as well, the from and to dates can be set using the different date options shown in Reference Line section.&#x20;

3. **Formatting options for Reference Band:**

* **Band Pattern and Color:** Choose from various Patterns provided as per needs and set the color using color palette.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FyzxNdGvAkt9oLBYWxgrk%2Fimage.png?alt=media&amp;token=da67bdbd-96ad-49c0-9139-1c36343a65b3" alt=""><figcaption><p><em>Image 9: Formatting options for Reference Band</em></p></figcaption></figure>

* **Text- Font Weight, Position and Background**-Format the text using Font size, Position, and background color options.

{% hint style="info" %}
We can also display the Reference line and Reference Range using the Data Fields of Reference Start Date and Reference End Date - [Data Driven Approach](/project-management/reference-lines-and-reference-range/data-driven-approach)
{% endhint %}


# Data Driven Approach

We can also display the Reference line and Reference Range using the Data Fields of Reference Start Date and Reference End Date.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FkbSdqj7voeRbtxIFEDox%2F17.png?alt=media" alt="Image 1: Data fields to configure References" width="198">

In the above example, ‘Planned Start’ measure is added in Reference Start Date and ‘Planned End’ measure is added in Reference End Date. ‘Task’ measure is added to Reference Text which will display the text on the Reference Line.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQbdHkgHHZhArF1UHO2JA%2F18.png?alt=media" alt="Image 2: Resultant output view of the Reference Line and Range" width="563">

From the above example, the Reference Line is displayed using dotted lines, the Range pattern is displayed using checkerboard and the text is displayed on the lines.

### **Steps to configure:**

1. Go to the Format Pane->References.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FHrE8OThBkLjlrDdbIN6O%2Fimage.png?alt=media&amp;token=e3db1e99-c6b2-4e40-9c9a-2dc4a52ab77e" alt="" width="179"><figcaption><p><em>Image 3: References in Format Pane</em></p></figcaption></figure>

2. Format the lines and the range using the options as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FhDmB0SAOhSzbn9gVCc0V%2Fimage.png?alt=media&amp;token=9a9a6918-bf26-41d0-ba78-8270fb4b7257" alt="" width="544"><figcaption><p><em>Image 4: Reference Formatting options</em></p></figcaption></figure>

3. Line type has four options:

* Dotted
* Solid
* Dashed
* Dashed-dotted

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FtbbVtXQ8QxMpgzWfpTpf%2Fimage.png?alt=media&amp;token=530d5d30-0e9a-404c-b72a-ebc930b8b6a1" alt="" width="181"><figcaption><p><em>Image 5: Line type Reference Formatting option</em></p></figcaption></figure>

4. The width of the Line can be set using **Line Stroke** option and the color can be set using **Line Color** option.
5. There are fourteen options to set the Range Pattern:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FXR2KSJFvrHvNQsusbsHx%2Fimage.png?alt=media&amp;token=a38f931f-d550-448c-9a2b-425214c5ea1e" alt="" width="152"><figcaption><p><em>Image 6: Range patterns in Reference Formatting option</em></p></figcaption></figure>

**Text** can be formatted using the weight, color and text type options.


# Resource Gantt

In xViz Gantt Visualization, switch to Gantt Resource mode for a view tailored for resource planning and allocation.

![Image 1: Gantt Resource Mode in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FzqDR7Fz8VWrjrvezYdqG%2F1.png?alt=media)

The Gantt Resource Chart can also show the timeline of projects with multiple phases.

Consider having the following data of Task for projects, each with five stages and the start and end time execution in various phases.

![Image 2: Sample data for task and phase](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FjA34IwE3VNDVDo96mA5c%2F0.png?alt=media)

Below is an example of the Gantt resource displaying the task and its phases. The below view gives a clear representation of the start-to-end execution time of all the tasks between multiple phases. The timeline bars have been color-coded by the phases.

![Image 3: Gantt Resource Mode in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FzqDR7Fz8VWrjrvezYdqG%2F1.png?alt=media)

The above view gives a clear representation of the start-to-end execution time of all the tasks between multiple phases. The timeline bars have been color-coded by the phases.

**Steps to configure:**

1. Data fields set up:

Insert the following columns in the **‘Task Name’** data field:

Category defining the rows – in this case, ‘**Task**.’

Category defining the phases in the timeline – in this case, ‘**phase**.’

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FJ98WlQt52nqcy0D2hbFb%2F2.png?alt=media" alt="" width="309"><figcaption><p><em>Image 4: Data Field to configure Task Name</em></p></figcaption></figure>

2\. Configuration:

To plot the timeline bars related to one task in one line:

Go to the **Format Pane** -> **Chart Type** -> **GanttResource.**

![Image 5: Gantt Resource Chart Type option](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F7jzVPq1GgPxs7Dh6TqsP%2F3.png?alt=media)

3\. Formatting:

**Color coding of the timeline bars:**

Use the **Conditional** **formatting** feature from the **Advanced Editor**:

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FakSj0kOqk18d2uTkr2qj%2F4.png?alt=media" alt="Image 6: Conditional Formatting - Advanced Editor" width="250">

And define different rules for color-coding the timeline bars. You can set conditions for different chart elements like **Progress**, **Milestone**, **Timeline Bar** etc.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FdbdcPSGRwCce7DSVg0GM%2F5.png?alt=media" alt="Image 7: Conditional Formatting - Chart elements" width="258">

You can set conditions for different chart elements like **Progress**, **Milestone**, **Timeline Bar** etc. In the above example, phases of the same Task have been given the same color. You may choose to color code the bars based on Phases, instead of Tasks.

{% hint style="info" %}
Conditional Formatting feature requires inserting minimum **one numeric data** in the visual.
{% endhint %}

To enable Conditional Formatting, can insert the measures/numeric data in the **Display** **Measure** Data Field. Further, you can disable the Measure from showing in the visual using Formatting Pane.

![Image 8: Insert numeric data](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FaCfKKFokUuaxkWatWuBq%2F8.png?alt=media)

![Image 9: Data Fields to configure Display Measures](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FP64mimcwRnpQblMy5CSD%2F9.png?alt=media)

By using the toggle off/On options, we can disable the measure displaying from the visual using Formatting Pane.

To learn more about the Resource Gantt, check out our detailed blog:

{% embed url="<https://xviz.com/blogs/managing-projects-with-multiple-phases-in-power-bi-using-gantt-chart/>" %}

***

Try the [xViz Gantt Chart](https://xviz.com/visuals/gantt-chart/) (Microsoft certified) for Power BI from Microsoft AppSource [here.](https://appsource.microsoft.com/en-sg/product/power-bi-visuals/WA200000891?tab=Overview)&#x20;


# Other Features


# Data Colors

In xViz Gantt Chart we have the flexibility to change the color for the below elements:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fxy8qM6Xi38OxRtHUwGYq%2Fimage.png?alt=media&amp;token=9ef6065a-cddc-449e-a895-888542f336c4" alt=""><figcaption><p><em>Image 1: Color Formatting</em></p></figcaption></figure>

{% stepper %}
{% step %}
[Row Background Color](/project-management/other-features/data-colors/row-background-color)
{% endstep %}

{% step %}
[Bar Border Color](/project-management/other-features/data-colors/bar-border-color)
{% endstep %}

{% step %}
[Bar Selection Color](/project-management/other-features/data-colors/bar-selection-color)
{% endstep %}

{% step %}
[Bar Fill Color](/project-management/other-features/data-colors/bar-fill-color)
{% endstep %}

{% step %}
[Connector](/project-management/connectors/connectors-formatting)
{% endstep %}
{% endstepper %}

***

Try the [xViz Gantt Chart](https://xviz.com/visuals/gantt-chart/) (Microsoft certified) for Power BI from Microsoft AppSource [here.](https://appsource.microsoft.com/en-sg/product/power-bi-visuals/WA200000891?tab=Overview)


# Row Background Color

We can change the background color of the rows of the entire grid as per the required aesthetics.

The configurable options are:

* Row Color – Apply the colour to the rows.
* Alternate Row Color - Apply the colour to the alternating rows.
* Row Hover Color- Apply the colour only to hover rows.

![Figure 1: Data fields to configure Row color](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F9rLUYfeW6mKBsw2feQaH%2F0.png?alt=media)

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FgREylc0d8s9GwqF2YoOt%2F1.png?alt=media" alt=""><figcaption><p>Figure 2: Row Background Color in xViz Gantt Chart</p></figcaption></figure>


# Bar Border Color

The xViz Gantt Chart allows you to configure the Border Colors of the Timeline Bars. We can change the color of the borders of both the parent and child bars as needed.

The configurable options are:

* Parent Border Color - Apply color to the border of the Parent bar.
* Child Border Color - Apply color to the border of the Child bar.

![Image 1: Data Fields to configure Border Color](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQswle5Q8svULoJ2TUMyF%2F2.png?alt=media)

![Image 2: Bar Border color in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FjZnmX5auIZqElu0nEjDs%2F3.png?alt=media)

If the “Hide Border” toggle is turned on, this hides the border color of the Parent and the Child bar.

![Image 3: Data Fields to configure Hide Border](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FBgEqe6RHZHBqwuw9AEYw%2F4.png?alt=media)

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FvbTds5SQflxCN5PkcXft%2F5.png?alt=media" alt=""><figcaption><p><em>Image 4: Hiding Bar Border color in xViz Gantt Chart</em></p></figcaption></figure>


# Bar Selection Color

The xViz Gantt Chart allows you to configure the Selection Colors of the Timeline Bars. Selecting the “Selection” option from the dropdown list “Interaction State” and turning on the Enable Selected Color will display the color of the bar selected (clicked) in the report.

Set the color as per your needs:

![Image 1: Data Fields to configure Selected Fill Color](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F0lry9sh2l1R7wTmucvgu%2F6.png?alt=media)

![Image 2: Bar Selection Color in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FvyXRZlvo3Yyt2ABPfmqV%2F7.png?alt=media)


# Bar Fill Color

The xViz Gantt Chart allows you to change the color of the Parent bar or the Child bar or both using the diverse options from “Color By.”

The options are:

1. **All:**

When we select the option “All,” we can set the color for all Parent bars and all Child bars. These are the available options:

* Parent Fill Color
* Parent Track Color
* Child Fill Color
* Child Track Color

![Image 1: Data Fields to configure ColorBy Options](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FkgQ0BzmOIY3P7vzeDktt%2F10.png?alt=media)

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F2aLm4cTOCrplW1SYekd2%2F11.png?alt=media" alt=""><figcaption><p><em>Image 2: Bar Fill color in xViz Gantt Chart</em></p></figcaption></figure>

Example: All the parent bars “REQUIREMENTS’, “DESIGN”, “DEVELOPMENT" are set to the same color cyan green and all the child bars are set to the same color blue.

2. **Parent:**

We can set the bar colours by Parent grouping.

The Field options are:

* Parent Fill color
* Parent Track color

Choose one field parameter at a time to set the colors for each of the parameters.

![Image 3: Data Fields to configure Color by Options](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FFG3SapxAjph8JzFQbrDY%2F12.png?alt=media)

![Image 4: Bar Colors by parent grouping in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQBeIoG6kEJQv1BQntqP5%2F13.png?alt=media)

**Example:** The color of the “REQUIREMENTS” parent bar and all its child bars is set to Red as selected.

For “DESIGN” parent bar and all its child bar is set to Pink as selected.

For “DEVELOPMENT” parent bar and all its child bar is set to Yellow as selected.

3. **Parent-Child:**

We can define the bar colors for parent and child bars for every Parent-Child grouping.

The Field Options are:

* Child Fill Color
* Child Track Color
* Parent Fill Color
* Parent Track Color
* Planned Fill Color

Choose one field parameter at a time to set the colors for each of the parameters.

!\[A screenshot of a computer

Description automatically generated]\(/files/TKUzhSrbJ73Tz3RG0q7B) ![](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FteimD1O1SeCvMD4MwWKE%2F15.png?alt=media)

![Image 5: Bar colors by grouping parent-child in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F9UXBaaKvLzzBpFE0ReOW%2F16.png?alt=media)

**Example:** The bar fill color is grouped by Parent-child with the field option as Parent Fill Color.

* The color of the “REQUIREMENTS” parent bar (Parent Fill Color) set to Red as selected.
* For “DESIGN” parent bar (Parent Fill Color) is set to Pink as selected.
* For “DEVELOPMENT” parent bar (Parent Fill Color) is set to Yellow as selected.


# Connectors

The xViz Gantt Chart allows you to configure the colors and types of connectors.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FI5Fx8mhz2fqwWKWRonoT%2Fimage.png?alt=media&amp;token=2b22195a-79a7-4e70-a94c-b3e1f492d999" alt=""><figcaption><p><em>Image 1: Connectors Formatting</em></p></figcaption></figure>

Learn more: [Connectors Formatting](/project-management/connectors/connectors-formatting)


# Duration Data field

In a xViz Gantt Chart, it's possible to create Gantt Chart without an End Date column. Instead, we can use the project Duration to create the Gantt Chart.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fu9UFdFX6O5ZqTSLkcLhy%2Fimage.png?alt=media&amp;token=a3cc1d07-5e82-4480-aea8-1c8401db363e" alt=""><figcaption><p><em>Image 1: xViz Gantt Chart created with using Duration data field</em></p></figcaption></figure>

We have a dataset with an Actual Start Date and Duration column, but it does not include an Actual End Date column, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FKAZN1C46oOn9c1muA9WI%2Fimage.png?alt=media&amp;token=77188130-ff63-463a-b502-f0ea41077974" alt="" width="563"><figcaption><p><em>Image 2: Dataset</em></p></figcaption></figure>

Now, populate the Actual Start Date and Duration columns into the Start Date and Duration fields, respectively.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FuRk9JQKVfWL9hrY6NU67%2Fimage.png?alt=media&amp;token=0da37243-e9e1-469c-a3c3-aced85f7095b" alt="" width="180"><figcaption><p><em>Image 3: Populate Start Date and Duration field</em></p></figcaption></figure>

{% hint style="info" %}
The Duration field can only be populated if the End Date data field is empty.
{% endhint %}

In the final result, the Gantt Chart is created without using the End Date and is displayed in the image below.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fu9UFdFX6O5ZqTSLkcLhy%2Fimage.png?alt=media&amp;token=a3cc1d07-5e82-4480-aea8-1c8401db363e" alt=""><figcaption><p><em>Image 1: xViz Gantt Chart created with using Duration data field</em></p></figcaption></figure>


# Display Duration

## What is Duration?

The Task Duration is the difference between the Start and End Dates. The Duration indicates the time frame that is available for the task to be completed. The Duration Type of a task identifies the relationship between the number of resources assigned to a task, the total effort, and the total Duration of the task.

Typically, we would need to write a DAX measure to determine the difference between dates. However, in the xViz Gantt chart, there is no need to write a DAX measure. The visual calculates the duration for you.

## Duration in the xViz Gantt Chart

The xViz Gantt chart makes it easy to calculate duration using Actual dates and Planned dates, with the ability to show the duration in various units like days, weeks, months, etc. This visual provides flexibility and simplifies analysis by automatically adding additional columns to the chart showcasing the Duration, so you don't need to write any DAX measures.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FZWjz6OSCrPabi49PRZiB%2FDuration.gif?alt=media&amp;token=a56e879a-796f-41a2-863a-d3650a864b6d" alt=""><figcaption><p><em>GIF 1: Display Duration</em></p></figcaption></figure>

## Steps to Use Duration in Gantt Chart:

### 1. Add Dates to the Gantt Chart

Begin by inputting your actual dates into the Gantt chart

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fu7dP3dcY8OzmljF0B5wV%2Fimage.png?alt=media&amp;token=b338a464-2b10-450b-a59b-96bd89299654" alt="" width="217"><figcaption><p><em>Image 1: Populating the Actual Start and Actual End Dates</em></p></figcaption></figure>

### 2. Optional - Display Duration based on Planned Dates

To calculate the duration based on planned dates, add your planned start and end dates to the chart.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F15eYnoDNZ0s0grujSIkA%2Fimage.png?alt=media&amp;token=f01d1fe1-dfc6-46e1-b0e4-93c81eaf3b94" alt="" width="213"><figcaption><p><em>Image 2: Populating the Planned Start and Planned End Dates</em></p></figcaption></figure>

### 3.  Display Calculated Durations

Go to the Format Pane and select the option for Display Categories

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fa9dKrJtxA7rIPvAxhrXV%2Fimage.png?alt=media&amp;token=c89700e1-3d3e-48be-8091-b1d2827a163e" alt="" width="216"><figcaption><p><em>Image 3: Display Categories section in the Format pane</em></p></figcaption></figure>

### 4.  Select Duration Type

In the Display Categories, you will find the Duration Type option where you can choose between

* Actual Dates
* Planned Dates
* Or Both

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FCY6lgzzsHAiesKFmqgtU%2Fimage.png?alt=media&amp;token=1dd24da4-8ef9-4313-8b0a-7eaf69b10223" alt="" width="209"><figcaption><p><em>Image 4: Duration Type option in the xViz Gantt Chart</em></p></figcaption></figure>

### 5.     Choose Duration Units

You can display the duration in different units such as

* Months
* Weeks
* Days
* Hours
* Minutes
* Seconds

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FBwdCF8OGq2wIJAbiB2pn%2Fimage.png?alt=media&amp;token=b377461d-853a-4007-8aea-383921bb3f92" alt="" width="198"><figcaption><p><em>Image 5: Duration Unit option for the Duration column</em></p></figcaption></figure>

### 6.  Decimal places for Duration

There is an option to show durations with decimal places for more precise measurements.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FuVTQOGOu7R0G9Ch6FH6h%2Fimage.png?alt=media&amp;token=e33bc8bd-2873-44e9-8552-aa0231a150ee" alt="" width="116"><figcaption><p><em>Image 7: Decimal places option for the Duration column</em></p></figcaption></figure>

### 7.       Additional Formatting options

You can add suffixes to the duration values, change the title, and increase the width size of the column added.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FtPKDdb2GpHc082u0mpye%2Fimage.png?alt=media&amp;token=e9e19c5a-fb14-431c-a6fa-afd925cd1908" alt="" width="195"><figcaption><p><em>Image 7: Formatting options for the Duration column</em></p></figcaption></figure>

### New column for Duration added

When you select the duration option, a new column will be added to the chart showing the calculated duration values.

* Actual Duration<br>

  <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F64ix0N3AUFFGO34NS2uP%2Fimage.png?alt=media&amp;token=05914e87-154a-4beb-aef2-f855dd5be66e" alt=""><figcaption><p><em>Image 8: Actual Duration column in the xViz Gantt Chart</em></p></figcaption></figure>
* Planned Duration<br>

  <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FvuJI1y0crs0fJ3aqxLC3%2Fimage.png?alt=media&amp;token=81be5cab-e571-4a70-8aef-74597cca2a48" alt=""><figcaption><p><em>Image 9: Planned Duration column in the xViz Gantt Chart</em></p></figcaption></figure>
* Both Actual and Planned<br>

  <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FVm2yScZOZl0RZTLVWgzr%2Fimage.png?alt=media&amp;token=872b3d95-97b8-45e8-a8ab-bd17440a7307" alt=""><figcaption><p><em>Image 10: Both Actual Duration and Planned Duration columns in the xViz Gantt Chart</em></p></figcaption></figure>

{% hint style="warning" %}
To show Planned Duration at the Parent levels as well, ensure to enable the below option:\
Format pane -> Chart Options -> Show Planned Tasks. For more detail on Parent planned bars check out document - [Parent Planned Bars](/project-management/planned-bars#steps-to-display-planned-bars-on-parent-level)
{% endhint %}


# Display Totals

Display overall totals in the xViz Gantt Chart.

![GIF 1: Display overall totals in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F0qJmm9iqSABI2vIAheAt%2F0.gif?alt=media)

To show the overall total display in the Gantt chart go to the format pane and then select chart options-> Display totals (toggle on).

![Image 1: Data field to configure Display Totals](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FZRmwlYCfgbJeHLckfdsY%2F1.png?alt=media)

![Image 2: Overall Result in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F17VbULII2IU3gGrluhO6%2F2.png?alt=media)

We have the flexibility to modify the total display text as per our needs.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F07VdruP5qRNXhz7DHtnU%2F3.png?alt=media" alt=""><figcaption><p><em>Image 3: Data field to configure Totals Text</em></p></figcaption></figure>

**Steps to be configure:**

To show numeric information on the Gantt, go to format pane and then click display categories.

1. Select the Duration type you need to display on the visualization as shown below:

![Image 4: Data Fields to configure Duration Type](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FpSnWuC1qgWm3mGiNunkB%2F4.png?alt=media)

![Image 5: Resultant view of the Duration Type in xViz Gantt](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FkRN9JQqFiD1FNrQ2WTSV%2F6.png?alt=media)

2. Go to the chart options from the format pane and then turn on Display totals option.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FFd9rNjDnJ5KY9dHcu5ub%2F8.png?alt=media" alt=""><figcaption><p><em>Image 6: Turn on Display Totals</em></p></figcaption></figure>

And the overall result is displayed on the Gantt chart as shown below.

![Image 7: Resultant view of the overall result in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FYlVuGG8mv0rEMpunNk1Z%2F9.png?alt=media)

***

Try the [xViz Gantt Chart](https://xviz.com/visuals/gantt-chart/) (Microsoft certified) for Power BI from Microsoft AppSource [here](https://appsource.microsoft.com/en-sg/product/power-bi-visuals/WA200000891?tab=Overview).


# Hide Blanks

In the Gantt one of the most common scenarios is ragged or uneven hierarchies.

The xViz Gantt Chart provides the ability to **hide the blank nodes** which appear in case of ragged hierarchies.

![GIF 1: Hide blank nodes configuration in Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FFRGM5kSReT8HnedJ5owe%2F0.gif?alt=media)

### **Steps to configure:**

There are multiple options available to handle blank values. To use the available option from Hide Blanks. First, go to Format Pane, navigate to the Chart Options

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FA1jRnbolYTOZL00r24Wp%2Fimage.png?alt=media&amp;token=273c66da-5252-413c-86dd-96c848c5ccec" alt="" width="269"><figcaption><p><em>Image 1: Chart Options in Format Pane</em></p></figcaption></figure>

In Chart Options, you will find the Hide Blanks options as shown image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FRBEIgt4YrhiCg0ZQyUhH%2Fimage.png?alt=media&amp;token=05d399fe-a816-4677-bed8-19f7e02c4424" alt="" width="268"><figcaption><p><em>Image 2: Hide Blanks options</em></p></figcaption></figure>

### **Display All:**&#x20;

This option displays the complete ragged hierarchy, including the blank records, as seen below:

![Image 3: Display All](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FothrkFGC0WKDJF0LU18v%2F1.png?alt=media)

![Image 4: Display All Ragged hierarchies in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FuqcbBUQ3M3O0czTW9Ref%2F2.png?alt=media)

### **Hide Blanks:**&#x20;

With this option, the blank record along with its all-child values will be removed from the visual display.

![Image 5: Sample Data for Hide Blanks](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FKXQK9sjQpJ1DCiw30vS8%2F3.png?alt=media)

![Image 6: Data after Hide Blanks](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F2ggbvUMQCvdWz2KATTLw%2F4.png?alt=media)

{% hint style="info" %}
In the above example, ‘REQUIREMENTS’ is a parent node, and its direct child records are a blank record, ‘Kick Off meeting,’ ‘Project Plan,’ ‘Requirements Gathering ' in the left image, all the blank records are displayed. In the bottom image, you can see that the Hide Blanks option eliminates the blank record along with the child values like ‘Phase I’ from the visual display.
{% endhint %}

![Image 7: Hide Blanks](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fv99ySUh1pOixLBnfejhr%2F5.png?alt=media)

![Image 8: Hide Blanks configuration in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F7k0JQEBcBvPucelEhlDX%2F6.png?alt=media)

### **Hide Intermediate Blanks:**&#x20;

With this option, the blank records will get eliminated from the visual display, but its child records will be retained.

![Image 9: Sample data for Hide Intermediate Blanks](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fv5UPhqm9Xz0oYyRgHi3S%2F7.png?alt=media)

![Image 10: Data after Hide Intermediate Blanks](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fx85FG5vt2QkoDGcxWTsu%2F8.png?alt=media)

{% hint style="info" %}
In the above example, only the blank records from the parent and the child nodes will get eliminated from the visual display. ‘REQUIREMENTS’ is a parent node, and its direct child records are a blank record, ‘Kick Off meeting,’ ‘Project Plan,’ ‘Requirements Gathering ' in the left image, all the blank records are displayed. In the right-side image, you can see that the Hide Intermediate Blanks option eliminates the blank record and retain the child values like ‘Phase I’ from the visual display.
{% endhint %}

![Image 11: Hide Intermediate Blanks](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fhpkr7UO7UQOh6lXtaogw%2F9.png?alt=media)

![Image 12: Hide Intermediate Blanks Configuration](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FHrb0e6umuy7Zv8mi3b4e%2F10.png?alt=media)

***

Try the [xViz Gantt Chart](https://xviz.com/visuals/gantt-chart/) (Microsoft certified) for Power BI from Microsoft AppSource [here.](https://appsource.microsoft.com/en-sg/product/power-bi-visuals/WA200000891?tab=Overview)&#x20;


# Date Formats

In the xViz Gantt Chart unlike any other visual, we have multiple combinations of the date format.

Use these date combinations according to the reports needs to be shown in the tooltips in the visualization.

In the formal visual pane, go to Chart options

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FA1jRnbolYTOZL00r24Wp%2Fimage.png?alt=media&amp;token=273c66da-5252-413c-86dd-96c848c5ccec" alt="" width="269"><figcaption><p><em>Image 1: Chart Options in Format Pane</em></p></figcaption></figure>

&#x20;In Chart Options, you will find Date Format as shown below:

![Image 2: Data field for Date Format](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fdn2Jnc2gEetU57cBh723%2F0.png?alt=media)

Select the date format suitable for your report:

![Image 3: Date Format list](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FTivmcCoS4qz7l8nADuZP%2F1.png?alt=media)

The selected format will be used to display the dates in the visual tooltip:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F0neCApxVf69ZQ1XS0BLq%2F2.png?alt=media" alt=""><figcaption><p><em>Image 4: Tooltip View for the selected Date Format</em></p></figcaption></figure>

![Image 5: Tooltip View for the selected Date Format](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F25GLyrUec9lJP27KrfXD%2F3.png?alt=media)

### **Custom Date Format:**

You can also provide a custom date format:

Example: D/M/YYYY

![Image 6: Tooltip View for the selected Date Format](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FAvR2aO0U8AEBrzTJW7BR%2F4.png?alt=media)

Example: MMM DD, YYYY

![Image 7: Tooltip View for the selected Date Format](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FmkBtA8GKESYCLzYDMm3w%2F5.png?alt=media)

***

Try the [xViz Gantt Chart](https://xviz.com/visuals/gantt-chart/) (Microsoft certified) for Power BI from Microsoft AppSource [here](https://appsource.microsoft.com/en-sg/product/power-bi-visuals/WA200000891?tab=Overview).


# DaysOff

Utilize the DaysOff option to mark the non-working days. This feature allows for a clear and accurate representation of days when no activity occurs.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FADfOKS8qz4H1tYIDzgRx%2Fimage.png?alt=media&amp;token=a5113a1e-9a22-4540-88ed-cc72bc634e94" alt=""><figcaption><p><em>Image 1: DaysOff in xViz Gantt Chart</em></p></figcaption></figure>

In the xViz Gantt Chart, the DaysOff option is available in the following configurations:

{% stepper %}
{% step %}
[Weekday](/project-management/other-features/daysoff/weekday)
{% endstep %}

{% step %}
[Custom Date](/project-management/other-features/daysoff/custom-date)
{% endstep %}
{% endstepper %}


# Weekday

The xViz Gantt Chart provides the Weekday DaysOff option to mark non-working days in week.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FT29l62OREBwOorl0Uufr%2Fdayoff.gif?alt=media&amp;token=fca4219c-d85a-4c6e-9991-010822becf97" alt=""><figcaption><p><em>GIF 1: Weekday DaysOff type in xViz Gantt Chart</em></p></figcaption></figure>

### Steps to use Weekday DaysOff type in Gantt Chart:

1. Go to the Advanced Editor

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FhlmTD8hKJGwVbBRGiQPX%2F0.png?alt=media" alt="Image1: Advanced Editor option" width="75">

2. Navigate to the “DaysOff" section. Then click on the “Weekday” option

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F2BZvH55kBXC3Z033SezI%2F1.png?alt=media" alt="Image 2: DaysOff Option in the Advanced Editor" width="563">

3. Select the Days for DaysOff to Display in the Gantt Chart.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FYl2RWKCgltc4X8WXew4W%2F2.png?alt=media" alt="Image 3: Select the Days" width="278">

4. Now Choose the Pattern and Color for the Weekday.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FeNS5mWNUydxqkEFZSuNb%2F3.png?alt=media" alt="Image 4: Choose the Pattern and Color for Weekday" width="281">

The final result, the chart shows the shaded area for the applied Weekday, is displayed in the image below:

![Image 5: Weekday DaysOff type with xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FyZeSJTRDuPoCPaALgrB5%2F4.png?alt=media)

{% hint style="info" %}
Refer to the document link below for Custom Date DaysOff, which allows to display the DaysOff on custom dates - [Custom Date](/project-management/other-features/daysoff/custom-date)
{% endhint %}


# Custom Date

The xViz Gantt Chart provides the Custom Date DaysOff option to mark the non-working days based on dates.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FVrXRxRNo7CUFLMChnCpZ%2Fcustom%20date.gif?alt=media&amp;token=c4a7fc9f-4571-4bea-8f74-bb783ae1662c" alt=""><figcaption><p><em>GIF 1: Custom Date DaysOff type in xViz Gantt Chart</em></p></figcaption></figure>

### Steps to use Custom Date DaysOff type in Gantt Chart:

1. Go to the Advanced Editor

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FhhgGFVpa50uiJ7zD5keH%2F5.png?alt=media" alt="Image 1: Advanced Editor option" width="62">

2. Navigate to the “DaysOff” section. Then click on the “Custom Date” option.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F1Hwy9HA6fpOzIJtSszj2%2F6.png?alt=media" alt="Image 2: DaysOff Option in the Advanced Editor" width="563">

3. Choose the Custom Dates for DaysOff and click on non-working custom dates to Display in the Gantt Chart.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FIvPUlnALxfFHxpVprpvd%2F7.png?alt=media" alt="Image 3: Select Custom Dates" width="349">

4. Now Choose the Pattern and Color for the Custom Date.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FAgqywu4pAn3hNt2a9sZI%2F8.png?alt=media" alt="Image 4: Choose the Pattern and Color for Custom Date" width="185">

The final result, the chart shows the shaded area for the applied Custom Date, is displayed in the image below:

![Image 5: Custom Date DaysOff type with xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FFxzW8uPHKewgGojy9iDN%2F9.png?alt=media)


# Setting Up Drill-through

### How to Set Up Drill through in xViz Gantt Chart?

**Drill through** allows users to explore detailed information related to specific data points in your report. Follow these steps to set up drill through for the xViz Gantt Chart:

1. **Create a Target Report Page:**

* Begin by creating a new report page. This will serve as the target page for drill-through.
* Design this page with the visual elements you want to display when users drill down into specific data.

2. **Configure Drill through on the Target Page:**

* Open the target report page.
* In the Visualizations pane, locate the Build visual section.
* Drag and drop the field that you want to enable drill through for into the drill through well. This field will act as the trigger for drill-through actions.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FLSYyDzDetsa3ZwKYE3aS%2F0.png?alt=media" alt="Image 1: Drag and drop the drill-through field" width="138">

3. **Automatic Back Button Creation:**

* When you add a field to the drill through filters well, Power BI automatically generates a back button visual.
* This back button becomes a clickable element in published reports.
* Users who view your report in the Power BI service can use this button to return to the original source report page.

![Image 2: Clickable back button element is created](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FTYVGdeg6hrnkDK9CsyqW%2F1.png?alt=media)

4. **User Interaction:**

* On the source page of your report (where the xViz Gantt Chart is displayed), users can **double-click** a specific data point.
* This action opens a context menu that supports drill through.
* Users can choose to drill through to the target page associated with that data point.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FUludUUCy3gCmQ7MaOJ3c%2F2.png?alt=media" alt="Image 3: Double-click on the data point to open a context menu for drill-through option" width="283">

5. **Filtered Target Page:**

* When report readers select drill through, the target page is dynamically filtered.
* It displays relevant information related to the specific data point they double-clicked on.

Remember to test your drill-through setup thoroughly to ensure a seamless user experience. Happy reporting!


# Configure External URLs

External URL is used to provide the additional information or context about the data being presented.

![Image 1: External URLs in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FulBC3n8LzvUAq4LAsJLe%2F0.png?alt=media)

External URL in the chart is used for providing additional information related to the data, also to provide some related resource for reference and help to navigate to some websites or resources.

### **Steps to configure External URL:**

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FjiGmqG6UCAVdpD91bU4Z%2F1.gif?alt=media" alt=""><figcaption><p><em>GIF 1: Configuring External URLs in xViz Gantt Chart</em></p></figcaption></figure>

1. Add URL column to the **Display Categories** in the Format Pane

![Image 2: Add URL Column](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F1xjuo5IBuvUZK9K01Znx%2F2.png?alt=media)

2. To apply changes to the URL, open **Advanced Editor**

![Image 3: Navigate to Advance Editor](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FweVl6JVgm8YpHwRGzFVQ%2F3.png?alt=media)

3. In the Advance Editor pane, click on **Web URLs** to modify the Display settings and set the Icon

![Image 4: Set up URL](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FnzMMaPyWRS8ut5gSWVmS%2F4.png?alt=media)


# Splitter Position

In the xViz Gantt Chart, the separator dividing the data grid and timeline, or data bars is called the “Splitter”.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FnfLmzo2ro57huKcXNtu0%2Fsplitter.gif?alt=media&amp;token=5d886ba1-bd71-4fef-acc2-d7bd35340318" alt=""><figcaption><p><em>GIF 1: Splitter in xViz Gantt Chart</em></p></figcaption></figure>

### Steps to position the Splitter

1. Go to the Format Pane and navigate to the “Data Grid” section:<br>

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FJTvCI47d9LdlB790idab%2Fimage.png?alt=media&amp;token=4ee2fcab-957f-468b-9a80-35b7d100b5f0" alt="" width="183"><figcaption><p><em>Image 1: Data Grid Section in the Format Pane</em></p></figcaption></figure>

2. The Gantt Chart offers two options to adjust the Data Grid width:

* **Auto Splitter:** Turn on the "Auto Splitter Position" option.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F8R7bffOKAvN82Df4P20R%2Fimage.png?alt=media&amp;token=192ddeb9-9ca7-4bff-939c-f69afe10cac9" alt="" width="182"><figcaption><p><em>Image 2: Turn on Auto Splitter Position</em></p></figcaption></figure>

The final result, the Auto-Splitter dynamically adjusts the column widths, ensuring that all columns are fully visible in the Data Grid, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F1Tl9APe5a6fqyWNJOB9l%2Fimage.png?alt=media&amp;token=fbf12159-04a1-4754-8ed4-2e0b44bba3de" alt=""><figcaption><p><em>Image 3: Auto Splitter with xViz Gantt chart</em></p></figcaption></figure>

* **Splitter Position: F**irst, turn off the "Auto splitter position" toggle. Then, locate to the "Splitter position" option, which allows you to manually adjust the width of the Data Grid to your preference.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F6euCENC6A0wFouLg9C4r%2F4.png?alt=media" alt="Image 4: Adjust Splitter Position" width="183">

The final result, the chart shows all columns in the Data Grid, is displayed in the image below:

![Image 5: Splitter Position with xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fj5MXhPTnUigAC4gjwOeM%2F5.png?alt=media)


# Text Customization

The xViz Gantt Chart offers extensive customization options for text through the Font Style feature in the Data Grid section.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FutQeF7tzQDPQ0pC5V7xc%2Ftext.gif?alt=media&amp;token=a2d5730c-9667-4ab4-b6be-16606914e999" alt=""><figcaption><p><em>GIF 1: Text Customization in xViz Gantt Chart</em></p></figcaption></figure>

### Steps to Configure Text Customization:

1. Go to the Format Pane and navigate to the “Data Grid” section.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FsF5zlZSgWjb2cyuDkjo6%2F0.png?alt=media" alt="Image 1: Data Grid Section in the Format Pane" width="181">

2. You will find the “Node Customization” option to select the Node Type for which you would like to add the customization.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FM66oyZDT65tEykzPVn0a%2Fimage.png?alt=media&amp;token=abaf47d8-29cb-411b-9f49-e2b39ec23ce7" alt="" width="178"><figcaption><p><em>Image 2: Select node type</em></p></figcaption></figure>

{% hint style="info" %}

* Child node: Applied the text customization on Child node or Sub tasks
* Root node: Applied the text customization on Root node or Parent task
  {% endhint %}

3. Then you can display the Font Style in different styles such as:

* Bold
* Italic
* Underline
* Default

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FhpukJJwHoQPVHclCBiea%2F2.png?alt=media" alt="Image 3: Select the Data Grid Font Style" width="183">

4. Finally, select the Data Grid Font Color and adjust the Size of the text.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FaTpHlsNB4DOTZGz3J4YD%2F3.png?alt=media" alt="Image 4: Select the Color and Adjust size" width="182">

The final result, highlighting the customized text appearance, is displayed in the image below:

![Image 5: Text Customization in xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FrGxBekPhx3bjm5kIG3qi%2F4.png?alt=media)


# Row Numbering

The xViz Gantt Chart makes it easy to add row numbers along with each task using the Row Numbers feature. This helps in quickly identifying and referencing tasks within the chart.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FKPdWONehAdigM6uR4YuG%2Frow%20numbwr.gif?alt=media&amp;token=8991e139-6f6f-4406-a5a1-26ba3eac4317" alt=""><figcaption><p><em>GIF 1: Row Number in xViz Gantt Chart</em></p></figcaption></figure>

### Steps to Configure Row Numbering:

1. Go to the Format Pane and navigate to the Display Categories option.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FBikwBikE0XIZftJqtXps%2F0.png?alt=media" alt="" width="179"><figcaption><p><em>Image 1: Display Categories in the Format Pane</em></p></figcaption></figure>

2. In the Data Category, you will find the “Row Number” option where you can choose between the numbering styles:

* Simple
* Hierarchical

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F5qGkICvQ3wgwmXzW5Ij3%2F1.png?alt=media" alt="Image 2: Select the Row Number Type" width="184">

3. Add the name of the row number column and adjust the column's width for optimal display.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FDi26zgftxjUvMRYZa9ju%2F2.png?alt=media" alt="Image 3: Change Row Header Name and Adjust Width" width="181">

When you select the Row number option, a new column will be added to the chart showing the row numbering

* Simple

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F8yrCZhOxnLSYHf2Ewu4P%2Fimage.png?alt=media&amp;token=dfdcc305-f366-4b1e-8a0a-f6b76d20b7f8" alt=""><figcaption><p><em>Image 4: Simple Row Numbering in xViz Gantt Chart</em></p></figcaption></figure>

* Hierarchical

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FejQCQjrllMhBhge8DuDw%2Fimage.png?alt=media&amp;token=b3237ef8-8e8d-44e5-89a7-237d2622aaf0" alt=""><figcaption><p><em>Image 5: Hierarchical Row Numbering in xViz Gantt Chart</em></p></figcaption></figure>


# Indentation

The xViz Gantt chart helps you easily adjust the spacing before child nodes or sub-tasks using its Indentation feature, making visual organization simple and easy.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FEuhreqkQLzgjDhKNfawl%2Findentation.gif?alt=media&amp;token=edb65bb4-e182-4acf-ade8-d024111a48e7" alt=""><figcaption><p><em>GIF 1: Indentation in xViz Gantt Chart</em></p></figcaption></figure>

### Steps to Configure Indentation

1. Go to the Format Pane and navigate to the "Display Categories" section.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fccgvvv1xYcY6fbzoLTRj%2F0.png?alt=media" alt="" width="179"><figcaption><p><em>Image 1: Display Categories section in the Format pane</em></p></figcaption></figure>

2. Go to the “Indentation” option where you can customize the length of the indentation to be applied at every level, ensuring everything looks just right.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F7JCTdsMTzVO6vWfWPLhK%2F1.png?alt=media" alt="Image 2: Adjust Indentation" width="181">

The result, highlighting the space before the child node or sub-task, is displayed in the image below:

* Before Indentation:<br>

  <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FlbrHRvrB46kVlUJVvfb6%2Fimage.png?alt=media&amp;token=8c77d7d1-6a35-47ca-a56a-bf96df0b5865" alt=""><figcaption><p><em>Image 3: Gantt Chart without Indentation</em></p></figcaption></figure>
* After Indentation:<br>

  <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F1c6tL9SH1wjcLGaLlFSr%2Fimage.png?alt=media&amp;token=77678902-5d76-4cff-843d-2272ea70c239" alt=""><figcaption><p><em>Image 4: Gantt Chart with Indentation</em></p></figcaption></figure>


# Sorting

In the xViz Gantt Chart, sorting is now easier with the two new data fields that allow you to sort the bars in ascending or descending order.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FgBccH20rQ5LgdxESkLtW%2Fsorting.gif?alt=media&amp;token=0453ddde-6777-4a98-a193-78346560410d" alt=""><figcaption><p><em>GIF 1: Sorting in xViz Gantt Chart</em></p></figcaption></figure>

### Steps to Configure Sort in Gantt Chart

1. Populate the data to the “Sort Ascending” or “Sort Descending” data field to Sort the data.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FhtO1iMROq8zj9ZjdIPRY%2F1.png?alt=media" alt="Image 1: Populate the “Sort” data field" width="175">

The final result, which sorts the tasks in Ascending order based on the Start Date, is displayed in the image below:

![Image 2: Sort with xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F1YrvHY8KB6GaT6mXKc7m%2F2.png?alt=media)

{% hint style="info" %}
Guide for Power BI Sort by Column: [Sort one column by another column in Power BI](https://learn.microsoft.com/en-us/power-bi/create-reports/desktop-sort-by-column?tabs=powerbi-desktop)
{% endhint %}


# Parent Level Calculations

### How are the metrics of parent bar calculated:

1. **Start Date** - Earliest start date of all its child bars
2. **End Date** - Latest end date of all its child bars
3. **Progress** - Refer to the below explanation:

Parent bar progress is the sum of its every child bar's product of duration and progress, divided by the sum of all its child bars duration:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FR8zDf7NV54HuQUYMNkFD%2Fimage.png?alt=media&amp;token=426dad3d-65fd-474d-abf4-8649a46ee2a9" alt="" width="375"><figcaption><p><em>Image 1: Parent bat progress</em></p></figcaption></figure>

{% hint style="info" %}

* d is the duration of child bar
* p is the progress of the child bar
  {% endhint %}

Example:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FnMZHGnkT3LC8un26NTQh%2Fimage.png?alt=media&amp;token=405b1a86-111b-40f8-be76-0ea45f163e93" alt=""><figcaption><p><em>Image 2: Example</em></p></figcaption></figure>

4. **Data label (numeric) -** Select the aggregation in Number formatting -> Data\_label\_column\_name Aggregation Type option. It provides a dropdown to select the aggregation for numeric values in data labels.
   1. $$Sum= Σd$$
   2. $$Average= Σdl/n$$
   3. Parent bar data label of weighted average type is the sum of its every child bar's product of duration and data label value, divided by the sum of all its child bars duration.$$Weighted Average = (Σ(d x dl))/Σd$$

Where n is number of child bars, d is the duration of child bar, dl is the data label value of the child bar.

{% hint style="info" %}
Read about: [Aggregation Type](/project-management/parent-level-calculations/aggregation-types)
{% endhint %}


# Aggregation Types

In the xViz Gantt Chart, there are multiple aggregation types available.

For any measures inserted in the “Display Measures” data field, the aggregation is done at the parent level.

The aggregation is done at the parent level based on the child level durations and the data label value.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FElNWUkqg8RxEGQeEQieQ%2F0.gif?alt=media" alt=""><figcaption><p><em>GIF 1: Configuration of the Aggregation types</em></p></figcaption></figure>

**Steps to configure the aggregation type:**

1. Add the measure of your needs in the “Display Measures” data field.

In the above example, Planned Duration has been added in the data field.

2. In the format pane, turn on the toggle for the “Planned Duration” option from the display measure.

{% hint style="warning" %}
The option name depends on the name of the measure. In this example, “Planned Duration” is the measure.
{% endhint %}

![Image 2: Configuration of Display Measure Data Field](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FnpydWG6SIaPmIo6Y0Uxd%2F2.png?alt=media)

3. In the format pane, go to “Number Formatting” section and select the aggregation type as per the requirement. These are the available aggregation types - Sum, Average, Weighted Average.

### **Sum Aggregation type:**

![Image 3: Sum Aggregation Type](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FhPAUOI3J3uMEXjEaEQCL%2F3.png?alt=media)

![Image 4: Sum Aggregation on xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FdgWyOLccO3RMVIIM0957%2F4.png?alt=media)

You can see that the Planned Duration at the Parent level has been aggregated as an arithmetic sum.

> Measure value at parent: **Sum=Σd**
>
> *Where d is the measure value of the child bar.*

Consider the “REQUIREMENTS” parent in the above example: The duration is the sum of Planned Duration of all the child levels (0 + 7 + 6 + 2 = 15).

### **Average aggregation Type:**

![Image 5: Average Aggregation Type](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FInlf6czIw5PeqPoeSfDv%2F5.png?alt=media)

![Image 6: Average Aggregation on xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FtsD4h2bFV160CNBuVHcS%2F6.png?alt=media)

You can see that the Planned Duration at the Parent level has been aggregated as an arithmetic mean (Average).

> **Measure value at parent Average=Σdl/n**
>
> *where dl is the data label value of the child bar, n is the number of child bar.*

Consider the “DEVELOPMENT” parent in the above example – The Duration is the average of Planned Duration on all the child levels (0+19+7+6)/4=8

### **Weighted Average Aggregation Type:**

![Image 7: Weighted Average Aggregation Type](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FsdXkYsyrRYZSkg9ERj7K%2F7.png?alt=media)

![Image 8: Weighted Average Aggregation on xViz Gantt Chart](https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FOSgkAWN2LL2oB0S3vb59%2F8.png?alt=media)

You can see that the Planned Duration at the Parent level has been aggregated as weighted average.

Parent bar data label of weighted average type is the sum of its every child bar's product of duration and data label value, divided by the sum of all its child bars duration.

> **Measure value at parent Weighted Average=(Σ(dxdl))/Σd**
>
> *Where n is number of child bars, d is the duration of child bar, dl is the data label value of the child bar.*

Consider the “REQUIREMENTS” parent in the above example, Parent bar data label of weighted average type is the sum of its every child bar's product of duration and data label value, divided by the sum of all its child bars duration.

((8x7) +(4x6) +(2x2))/ (8+4+2) = (56+24+4)/14= (86/14) =6

**Weighted average = 6**

***

Try the [**xViz Gantt Chart**](https://xviz.com/visuals/gantt-chart/) (Microsoft certified) for Power BI from Microsoft AppSource [**here**](https://appsource.microsoft.com/en-sg/product/power-bi-visuals/WA200000891?tab=Overview)**.**


# Tooltip

The xViz Gantt Chart offers a variety of customizable tooltip options to enhance data interactivity and provide deeper insights at a glance.

It provides two types of tooltips:

1. [#customize-tooltip](#customize-tooltip "mention") - It allows you to rename columns and select which columns to display on the Tooltip.&#x20;
2. [#individual-tooltip](#individual-tooltip "mention") - It displays information for each bar and milestone separately on the tooltip, rather than for the entire row.&#x20;

<details>

<summary>Customize Tooltip</summary>

Steps to Customize the Tooltip:

1. Go to the Format Pane and navigate to the Customize Tooltip section.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FpmOoGdF2KSjPUoaD55aC%2Fimage.png?alt=media&amp;token=8eef0ff5-b84c-4d5d-8e93-60ac41330c2a" alt="" width="182"><figcaption><p>Image 1: Customize Tooltip section</p></figcaption></figure>

2. You can customize column names and choose which columns to display or hide in the tooltip.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FtvYz48pv09MKPbNEBD0l%2Fimage.png?alt=media&amp;token=54a2e6c6-73e2-4d5e-8d0b-dfe200918be1" alt="" width="157"><figcaption><p>Image 2: Customize Tooltip</p></figcaption></figure>

3. To further customize the Tooltip look and feel, use the native Tooltip options:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FvjdYOgx21ipzIEzfkVl2%2Fimage.png?alt=media&amp;token=776f0f9d-368d-4ae0-8050-44e3ff37dafc" alt=""><figcaption><p>Image 3: Native Tooltip configuration options</p></figcaption></figure>

</details>

<details>

<summary>Individual Tooltip</summary>

1. Go to the Format Pane and navigate to the Miscellaneous section.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FzBuq86htYzacGWyEoic4%2Fimage.png?alt=media&amp;token=5360680d-236c-4486-80fe-5dd21f31791d" alt="" width="183"><figcaption><p>Image 4: Miscellaneous</p></figcaption></figure>

2. In the Miscellaneous section, enable the Individual Tooltip toggle.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F784tTjmasvkmW1sOVDX3%2Fimage.png?alt=media&amp;token=bb9b4070-4628-4b38-9572-31af3f2dc16e" alt="" width="182"><figcaption><p>Image 5: Individual Tooltip Toggle</p></figcaption></figure>

As a result, an individual tooltip is displayed for each milestone, as shown in the image:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FxZ94Wedwsn0IF0jiyY0Q%2Fimage.png?alt=media&amp;token=9b79c4b6-5020-40dc-9294-31c7210ee1a6" alt=""><figcaption><p>Image 6: Individual Tooltip for Milestones</p></figcaption></figure>

</details>


# Release Notes

xViz Gantt Chart for Power BI

<details>

<summary>v3.3.0.1 | June 27, 2025</summary>

#### Feature Updates

| Feature                                                                            | Description                                                                                                                                                                                                                           | More Details |
| ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
| Format pane → Data Colors → Bar Opacity                                            | Applicable only for Resource Gantt as overlapping scenario can happen only when multiple bars are in the same row                                                                                                                     |              |
| Format Pane -> Chart Options -> Below "Week Start Day" -> ISO/European Week Number | Option visible only when: "Week Start Day" is selected as Monday. If the new year Jan 1 comes on or after Thursday in a week, then that week is considered as week number 53 of the previous year, else week number 1 of the new year |              |

</details>

<details>

<summary>v3.2.1.0 | February 13, 2025</summary>

#### Feature Updates

| Feature                                                                    | Description                                                                                      | More Details                                                                                                                       |
| -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| Advanced Editor → Milestones → **Use custom image for milestones**         | Support for custom images in Milestones                                                          | <https://docs.xviz.com/project-management/milestones/milestone-formatting#option-2-steps-to-configure-custom-images-of-milestones> |
| Advanced Editor → Timeline → Levels → **Format**                           | Ability to provide custom format for date/time values in timeline headers                        | <https://docs.xviz.com/project-management/timeline-configurations/timeline-format>                                                 |
| Format pane → Miscellaneous → **Individual Tooltip**                       | Ability to show Milestone only on bars and individually on Milestones                            | <https://xviz.com/blogs/what-is-new-in-xviz-gantt-chart-for-power-bi/>                                                             |
| Format pane → Number Formatting → *Enable a Measure →* **Scaling Display** | Scaling Display units for numeric values (K, M, B, formatting)                                   |                                                                                                                                    |
| Format pane → Chart Options → **Equal height for parent and child bars**   | \[Applicable when Planned bars are not plotted]: Makes the height of parent and child bars equal |                                                                                                                                    |

#### Bug Fixes

* Minor UI fixes

</details>

<details>

<summary>v3.1.2.0 | May 23, 2024</summary>

#### Feature Updates

| Feature                                                               | Description                                                         | More Details                                                                                               |
| --------------------------------------------------------------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Format pane → Legend → **Title Text**                                 | Ability to customize the title of the Legend                        | <https://xviz.com/blogs/what-is-new-in-xviz-gantt-chart-for-power-bi/>                                     |
| Advanced Editor → Conditional Formatting → Rules → **Show in Legend** | Option to show individual conditional formatting rule in the Legend | <https://docs.xviz.com/project-management/alerting-techniques/conditional-formatting#legend-configuration> |

#### Bug Fixes

* Levels “expand all/collapse all” issues with hides blanks
* Other minor bug fixes

</details>

<details>

<summary>v3.1.1.0 | January 18, 2024</summary>

#### Feature Updates

| Feature                                                                            | Description                                    | More Details                                           |
| ---------------------------------------------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------ |
| Format pane → Data Colors (Interaction State → Selection) → **Selected Row Color** | Option to modify the color of the selected row | <https://xviz.com/blogs/updates-for-xviz-gantt-chart/> |

#### Bug Fixes

* Issues with Blank values in Display Categories, Planned Dates
* Conditional Formatting bug fixes
* Other minor bug fixes

</details>

<details>

<summary>v3.1.0.0 | December 21, 2023</summary>

#### Feature Updates

| Feature                                                                  | Description                                                                                                                                         | More Details                                                                          |
| ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Licensing updates                                                        | The visual free for use on Power BI desktop. Licenses will be required to collaborate/share the reports via Power BI service/embedded/report server |                                                                                       |
| Format pane → Utility Menu → **Icon Color**                              | New option to change the color of the Utility Menu (settings gear symbol) icon                                                                      | <https://xviz.com/blogs/updates-for-xviz-gantt-chart/>                                |
| Format pane → Display Categories → **Indentation**                       | New option to configure the amount of indentation to be applied with every level                                                                    | <https://docs.xviz.com/project-management/other-features/indentation>                 |
| Chart Options → **Hide parent bar on expand**                            | New option to hide the parent bar on expanding it                                                                                                   |                                                                                       |
| Format pane → Display Measures → **Aggregate Value in Display Measures** | New option to aggregate the measures of Display Measures field in the Gantt Resource view                                                           |                                                                                       |
| Format pane → Chart Options → **Week - Start Day**                       | New option to configure the start date of a week to be considered for the week level of Zoom levels                                                 |                                                                                       |
| Ability to **customize Timeline Start and End Date**                     | New feature to customize the start/end date of the timeline using static values or DAX measures.                                                    | <https://docs.xviz.com/project-management/timeline-configurations/timeline-start-end> |

* Advanced Editor → “Zoom Levels” tab has been renamed to “Timeline” tab
* Data fields → **Timeline Start/End Dates** | |

#### Bug Fixes

* Tooltip bug fixes
* Bug fixes for Conditional Formatting → Milestone Shape
* Progress % calculation update for parents having blank child progress
* Click functionality fixes
* Other minor bug fixes

</details>

<details>

<summary>v3.0.1.1 | October 13, 2022</summary>

#### Feature Updates

| Feature                                                                  | Description                                                                                                  | More Details                                                                                                                                               |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| New Licensing API                                                        | License purchase and management direct from Microsoft                                                        | [Buy xViz Enterprise visual licenses directly from Microsoft AppSource](https://xviz.com/blogs/buy-xviz-power-bi-custom-visuals-from-microsoft-appsource/) |
| Utility Menu → **Levels**                                                | New option on the visual canvas to expand/collapse all levels in the chart at once                           | [Option on visual canvas to expand/collapse all levels (xviz.com)](https://xviz.com/blogs/latest-release-gantt-chart-powerbi/#Option_on_visual)            |
| Advanced Editor → References → **Timezone** setting for Today references | New option to define the time zone to be considered while plotting the “today” (current date/time) reference | [Option on visual canvas to expand/collapse all levels (xviz.com)](https://xviz.com/blogs/latest-release-gantt-chart-powerbi/#Option_on_visual)            |
| Data fields → **Sort Ascending, Sort Descending**                        | Sorting has been made easier with the two new data fields introduced to easily sort the bars                 | [Data fields for Sorting (xviz.com)](https://xviz.com/blogs/latest-release-gantt-chart-powerbi/#Data_fields_for)                                           |
| Format Pane → Data Grid → **Data Grid Font Style**                       | New option to customize the font style (Bold, Italics, Underline) of the category text                       | [Data Grid Font Style (xviz.com)](https://xviz.com/blogs/latest-release-gantt-chart-powerbi/#Data_Grid_Font)                                               |
| Format Pane → Data Colors → **Hide Border**                              | New option to completely hide the bar borders                                                                |                                                                                                                                                            |

#### Bug Fixes

* Context menu fix for browser
* ‘Upgrade to Pro’ prompt fix for Freemium use
* Other minor bug fixes

</details>


# Tips & Tricks

Welcome to the **xViz Gantt Chart** Tip & Tricks! This section provides tips & tricks related to the Gantt Chart.


# Critical Path in Gantt Chart

### What is Critical Path?

The Critical Path is the longest chain of dependent tasks in a project that decides the earliest possible finish date. If any task on this path is delayed, the whole project gets delayed too.

### How Does It Work?

* Most project tools (like MS Project, Smartsheet, etc.) calculate the Critical Path by identifying:
  * The task with the latest end date
  * All predecessor tasks linked by dependencies (like Finish-to-Start) that lead to the task

## Displaying the Critical Path in a Gantt Chart in Power BI

To visualize the Critical Path in a Gantt chart, you first need to prepare your data using Power Query; once the critical tasks are identified, you can then display the Critical Path using a xViz Gantt chart visual in Power BI.

{% hint style="success" %}
The Critical Path is closely linked to task dependencies. To learn how task dependencies are visualized in the xViz Gantt Chart, please refer to the documentation on [Connectors](/project-management/connectors)
{% endhint %}

### Step 1: Create Custom Function in Power Query

1. Create a new blank query, rename it to `GetCriticalPathTasks`, and paste the below code:

```powerquery
(TaskTable as table) as list =>
let
    // task with last End Date
    MaxEndTask = Table.Max(TaskTable, "End Date"),
    FinalTask = MaxEndTask[Task Name],

    // Predecessors tasks
    GetAllPredecessors = (targets as list, found as list) =>
        let
            step = Table.SelectRows(TaskTable, each List.Contains(targets, [Connect To]) and not List.Contains(found, [Task Name])),
            newTasks = step[Task Name],
            allFound = List.Union({found, newTasks}),
            next = if List.IsEmpty(newTasks) then allFound else @GetAllPredecessors(newTasks, allFound)
        in
            next,

    // list of tasks on critical path
    Result = List.Distinct(List.Combine({{FinalTask}, GetAllPredecessors({FinalTask}, {})}))
in
    Result
```

{% hint style="danger" %}

* Replace "End Date" with the actual column name you’re using for the task end date.
* Replace "Connect To" with the name of the column that represents the predecessor or linked task.
* Replace "Task Name" with the column name used for your project task names.
  {% endhint %}

2. Navigate to the Task Table in Power Query and add a custom column that returns `1` for critical path tasks and `0` for all others using the below code:

```powerquery
if List.Contains(GetCriticalPathTasks(ChangedTypes), [Task Name]) then 1 else 0
```

{% hint style="danger" %}
Replace "Task Name" with the column name used for your project task names
{% endhint %}

This will create a new column with a value of `1` for critical path tasks and `0` for all other tasks, which can then be used in the xViz Gantt chart to visually highlight the critical path.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fb5yh7Xtqkn1z0i2mYON3%2Fimage.png?alt=media&amp;token=021defbf-5676-4de1-9c6f-3686355f3455" alt=""><figcaption><p>Image 1: Critical Path column</p></figcaption></figure>

### Step 2: Display Critical Path in Gantt Chart

1. Now, import [xViz Gantt Chart](https://appsource.microsoft.com/en-us/product/power-bi-visuals/WA200000891) from Microsoft AppSource into your report.

{% hint style="success" %}
If this is your first time working with custom visuals, then here are the steps to [import a custom visual from Microsoft AppSource](https://learn.microsoft.com/en-us/power-bi/developer/visuals/import-visual#import-a-power-bi-visual-directly-from-appsource).
{% endhint %}

2. Populate the Display Measure Data field using the Critical Path column created in Power Query.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fvi5gxXcrWZLoTfynkxP9%2Fimage.png?alt=media&amp;token=57340f7f-216f-438c-81ff-ab1477b80a25" alt=""><figcaption><p>Image 2: Populare Critical Path Column</p></figcaption></figure>

3. Now apply conditional formatting using the rule below to visually highlight the Critical Path.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FjSOfgVFvtVekWPJg0HBc%2Fimage.png?alt=media&amp;token=ed9bf6a3-7113-4724-aba7-6642e960b320" alt="" width="335"><figcaption><p>Image 3: Apply Conditional Formatting</p></figcaption></figure>

{% hint style="info" %}
For more details on how to apply conditional formatting in xViz Gantt chart, please refer to the documentation on [Steps to enable Conditional Formatting](/project-management/alerting-techniques/steps-to-enable-conditional-formatting)
{% endhint %}

As a result, the Critical Path will be highlighted, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FTPUYJ0NlSpVctw3EFH2l%2Fimage.png?alt=media&amp;token=0bdcf08d-3255-4e02-8914-13f317602bd1" alt=""><figcaption><p>Image 4: Critical Path</p></figcaption></figure>

Here is an example report file:

{% file src="/files/6kcQIXom4aFLiJpFXjCQ" %}


# FAQs

<details>

<summary>Q1. How are Parent Progress and Child Progress calculated?</summary>

The Leaf-level Progress is rendered from the input data. Parent Progress is calculated within the visual. Please refer to the [Parent Level Calculations](/project-management/parent-level-calculations) for the mathematical explanation.&#x20;

</details>

<details>

<summary>Q2. How to adjust/use Zoom levels in the Advanced editor?</summary>

The zoom levels are simple, and you just need to assign the required year, month, quarter, hour, etc., and it will display it in the chart as per the data available. For example, if you want to view the years with the 1st and 3rd Quarters and every 3 months in the chart, you can set the zoom levels as shown below.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fm9BLBfY82F6b9KnGGSsF%2Fimage.png?alt=media&amp;token=297818e9-0ebf-46d7-bd80-5ca691551fa6" alt="" data-size="original">

This is how it will be displayed.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FJtd8zgXnt1V8UDzJCdwe%2Fimage.png?alt=media&amp;token=f40bca72-2b99-494d-9f3f-963f1f626173" alt="" data-size="original">

For more details on the Zoom Levels and Zooming capabilities, please refer to[Timeline Configurations](/project-management/timeline-configurations#zoom-levels)

</details>

<details>

<summary>Q3. How to apply conditional formatting on milestones?</summary>

Conditional formatting can be applied for Milestones also by giving the required condition with the Applied To option as “Milestone”.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FTBwj7HHqWS5bItaLadKH%2Fimage.png?alt=media&amp;token=b02b637e-16d2-4fa6-8b2a-d502d4d1c6be" alt="" data-size="original">

</details>

<details>

<summary>Q4. How to use the "Duration" data field?</summary>

The duration data field is an alternative to the "End date" field. The value from the Duration data field to the Start date to calculate the End Date internally.

</details>

<details>

<summary>Q5. How to hide/show display Category and Measure?</summary>

You can hide/show the Display Measure and Display Categories by just turning on/off the toggle under the respective sections in the Format Pane:

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FI8yXU79Ga46aCIHqYB3y%2FGantt-DisplayCategories.png?alt=media&amp;token=9f50f996-43c7-45a5-a532-d71cff73d9c3" alt="Show/Hide Categories" data-size="original">

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FRAFr994MCPxhSbMVMRzb%2FGantt-DisplayMeasures.png?alt=media&amp;token=d3b4f2ae-b080-4b41-8a6b-7a54b4986907" alt="Show/Hide Measures" data-size="original">

</details>

<details>

<summary>Q6.  How to use Padding Start and Padding End?</summary>

The padding is usually used to add some buffer in the timeline start and end. You can adjust them as per your needs in the Format Pane -> Timeline section.

</details>

<details>

<summary>Q7. How to show the Progress in the chart?</summary>

You can directly use the percentage values (in the range 0 - 100) in the "Progress" data field to show the Progress in the chart.

</details>

<details>

<summary><strong>Q8. How to add more information to the Tooltip?</strong></summary>

You need to add the necessary information in the Tooltip field that you would like to display.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F2iyocyyCWVDLDhH4RsI8%2Fimage.png?alt=media&amp;token=15f60dc1-a6b7-4a53-b3e9-adbdc7cf41fb" alt="" data-size="original">

</details>

<details>

<summary>Q9. How to change the font color in the Data Grid for Parent and Child Levels?</summary>

Font appearance customization can be done for the Root Levels (Top Node), Leaf Levels (Child node) and other middle levels (Parent node) in the Format Pane -> Data Grid section.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FgxkY7PfDONaUcEAMpqbH%2Fimage.png?alt=media&amp;token=c8d32beb-6962-4cf4-bd65-bc7fdf1e0762" alt="" data-size="original">

</details>

<details>

<summary>Q 10. How to show the chart with a specific starting month as a Fiscal year?</summary>

You can adjust your Fiscal start month of the year with the options "**Fiscal Year Type**" and "**Fiscal Year - Starting Month**" in the Format Pane -> Chart Options:

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FTzKTK9wf0t1gutqxWgXy%2Fimage.png?alt=media&amp;token=15544bba-5fd9-4c3b-990b-2524d3705daf" alt="" data-size="original">

</details>

{% hint style="success" %}
For any further queries, licensed customers can reach the support team, or users can reach out on the [xViz Community](https://community.xviz.com/)
{% endhint %}


# Performance Flow - Introduction

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FzEdpeUuzMOrI9540TSV0%2FPerfFlow-Infographic.png?alt=media&amp;token=df159863-42aa-482e-84db-9141afb371c1" alt=""><figcaption></figcaption></figure>

Enable faster decision-making with the big-picture view using the xViz Performance Flow visual. Gain insights into People, Places, and Entities with Performance Indicators, Trendlines, and Advanced Alerting. Perform effortless visual exploration and analysis with dynamic interactivity.

Unleash the potential of visualizing your:

1. Organization Chart: Unveil HR/Employee Performance insights through an interactive Org Tree Chart with performance attributes and trends
2. Process Flow / Swim Lanes: Visualize business flows in various Stages using Swim lanes with connector lines, associated KPI metrics, and trends in one single integrated view
3. Cost Center/Financial Performance Analysis: Drive efficiency with Scorecards or KPI Trees
4. Sales Performance Analysis: Dive deep into Sales Performance at Regional, Departmental, and Salesperson Levels with Decomposition Trees

And many more.

**Key features:**

* Intuitive Experience with Images – Associate people images or representative icons to the entities/nodes for better visualization
* Drive Performance Excellence using KPIs and Variance - Monitor key metrics and Compare against Thresholds, unveiling Target achievements and Year-on-Year progress
* Uncover hidden connections using Links - Expand your insights with additional links - illuminate dependencies and relationships within the hierarchy structure, driven by data or customized within the visual
* Streamline Business Processes using Swim Lanes – Make the visual intuitive and engaging by visualizing flows in Stages using Swim Lanes
* Storytelling using Notes – Offer additional textual context through annotations, elevating the narrative and insights
* Stay One Step Ahead - Leverage data-driven rules to highlight outliers, top performers, and bottom performers through node border, background, or font color for swift decision-making
* Empower Report Users with Dynamic Control:
  * Expand/Collapse levels and Navigate effortlessly
  * Dynamic Filtering: Filter nodes based on measure-driven rules
  * Quick Search: Easily locate nodes in complex tree structures
  * Zooming: Zoom in or out of vast tree structures
  * Mini map: Easily locate your current position within large hierarchies with a mini map, providing visual orientation and enhancing navigation efficiency
  * Subtree analysis: Focus on specific subtrees with selected root nodes
  * Detailed view: Dive deeper with comprehensive node information
  * Custom Tabs for end-users - Create subtrees for rapid analysis and pin those as tab pages in the visual
  * Child Count Analysis - Customize node display in a collapsed state with options to show Immediate team members or Full subtree count, enhancing understanding at a glance
  * Predefined Templates – Select from a variety of node styles to match your preferred aesthetics and enhance visual consistency
  * Data structure support: Establish the hierarchical structure using Id/Parent Id or Multi-level column structure
* Rich Configurations – Modern toolbar with abundant configurations - explore a wide range of options to set the look and feel of visual properties, all accessible through an intuitive and user-friendly modern toolbar

***

### How to try the xViz Performance Flow?

Download the sample report file (.pbix) or install the visual in your reports from \
[Microsoft AppSource | xViz Performance Flow](https://appsource.microsoft.com/en-us/product/powerbivisuals/xviz.performanceflow-xviz?tab=overview)

\---------------------------------------------------

Have any feature requests or queries about the visual? - Reach us at [xViz Community](https://community.xviz.com/)

Additional purchases are required to unlock the visual in Power BI Service/Report Server - [Pricing](https://xviz.com/pricing/?visual=gantt-enterprise)


# Installing from AppSource

You can install the xViz Performance Flow from Microsoft AppSource by following the steps listed below:

1. Click the '...' icon in the Visualizations pane and select 'Get more visuals.'

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FUSLtKJpPkgA5T3nneSed%2Fimage.png?alt=media&amp;token=4d52b532-387b-4dde-8eb3-d8f6357112c6" alt="" width="563"><figcaption><p><em>Image 1: Get the visual from AppSource</em></p></figcaption></figure>

2. Navigate to the 'AppSource visuals' tab and type "xViz" in the search box. Select Super Filter:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F5l6nlMxJ0BeSo0qBHffF%2Fimage.png?alt=media&amp;token=709a8424-3e1e-4000-bbdb-dac97afffd63" alt="" width="563"><figcaption><p><em>Image 2: Search xViz and select the visual</em></p></figcaption></figure>

3. Click on 'Add':

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FhOaKoRaLBK6RQ7yuYqDl%2Fimage.png?alt=media&amp;token=de42cd35-7050-4396-b5ab-1d11dc430646" alt="" width="563"><figcaption><p><em>Image 3: Click on the add option to add in the visualizations pane</em></p></figcaption></figure>

4. The visual gets added.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F6lXvfjrdk8AfJveIEvlL%2Fimage.png?alt=media&amp;token=c4632ba3-bdf3-4334-918a-6e77f99b5c20" alt="" width="563"><figcaption><p><em>Image 4: Performance Flow is added to the Visualizations pane</em></p></figcaption></figure>

5. Click on the xViz Performance Flow icon to add the visual to the canvas.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FXX1gksrSo1d20u0ebEkT%2Fimage.png?alt=media&amp;token=6dbbf3f2-f2c0-4807-93cb-4c147d9c7450" alt="" width="563"><figcaption><p><em>Image 5: Performance Flow visual is added to the canvas</em></p></figcaption></figure>


# Get Started

This section features the steps to get you started with xViz Performance Flow.

xViz Performance Flow is a custom visual in Power BI. The first step to using Performance Flow is to add it to the Power BI canvas before we start working on it.

## Overview of Key Components:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fgldf48Xsw5gee0m7Rb93%2Fpf.png?alt=media&amp;token=1663227a-c850-4177-b59e-4bc9e04c92b0" alt="" width="563"><figcaption><p><em>Image 1: Components in xViz Performance Flow</em></p></figcaption></figure>

Here's a breakdown of its key elements:

### Toolbar

1. Map Fields: Show additional details using the Map field.
2. Design
   * Orientation: Ability to change the direction of flow of the visual.
   * Layout: Ability to change the way leaf level nodes are arranged in the hierarchy.
   * Template: A bunch of interesting, predefined templates for the view of the nodes.
   * Display: Provides a range of formatting options to customize the visuals.
   * Autofit: Provides the various options to fit the canvas view optimally.
3. Sparkline: Visualize the trend of the KPIs.
4. KPI/Variance: Provides a KPI value for each node along with its variance compared to a benchmark or reference value.
5. Links: Displays the relationships between nodes with additional connectors.
6. Analyze
   * Conditional Formatting: Highlight nodes using data-driven rules.
   * Notes: Display additional textual notes on nodes for the storytelling.
   * Search: Find specific text values within the hierarchical structure.
   * Filter: Filter the canvas view based on specific condition.
   * Filter Context: Allows to add descriptive notes to specific nodes for specific filter selections.
7. Reset: Reset all settings in the visual to default.

### Levels

1. Levels: Expand or collapse hierarchy levels based on level selection.

### Canvas Controls

1. Zoom: Zoom in and out the canvas view for better readability.
2. Mini Map: Provides an overview of the entire visual for easy navigation.
3. Expand All: Fully expands all hierarchy levels.
4. Fit: Automatically adjusts the visual to fit within the available space.

## Setting Up Performance Flow:

### 1. Add Visual

Click on the Performance Flow icon from the Visualizations pane to add visual to the canvas. Resize it to fit your needs.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fa9PkPRJg4yiixGBoWytU%2Fimage.png?alt=media&amp;token=38c55000-47f9-46ab-b334-e2cb2ee69826" alt="" width="563"><figcaption><p><em>Image 2: Click on the Performance Flow icon.</em></p></figcaption></figure>

### 2. Populate Data

The visual supports two kinds of hierarchical structures. Id & Parent Id Structure and Multiple Category Structure.

1. Hierarchy Field & Parent Field

   * Id & Parent Id Structure: Populate Hierarchy Field with Id column and Parent Field with Parent Id column.

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FxshMIudOMrJDmbnRBUmS%2Fimage.png?alt=media&amp;token=eb04205b-8f2e-4a8a-a6da-48f20bca373a" alt="" width="180"><figcaption><p><em>Image 3: Hierarchy Field &#x26;</em> <br><em>Parent Id Field</em></p></figcaption></figure>

   * Multiple Category Structure: Populate Hierarchy Field with at least two columns.

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FSpk0TGuReeajQOBfp6iB%2Fimage.png?alt=media&amp;token=71d70d42-52db-4827-8711-6d272ebfe7ae" alt="" width="181"><figcaption><p><em>Image 4: Hierarchy Field</em></p></figcaption></figure>

2. Sparkline: Populate the Date or Time series column to show the trend.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FfNhFy86kEFm2bCgVM6ST%2Fimage.png?alt=media&amp;token=41f125a0-59f9-46d8-84a7-e5b7eb8e187f" alt="" width="180"><figcaption><p><em>Image 5: Sparkline Field</em></p></figcaption></figure>

3. Values: Populate Numeric column or DAX Measure to display KPIs.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FUsVJALyAYFQYbeL6wrvu%2Fimage.png?alt=media&amp;token=dd774072-e884-445b-af19-1e2210491c61" alt="" width="181"><figcaption><p><em>Image 6: Values Field</em></p></figcaption></figure>

4. Fields: Populate the multiple columns to for the additional details.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F5gksj46CuOpDiBryYD6j%2Fimage.png?alt=media&amp;token=9f81ae0a-41d7-44ab-bafb-ada9b9e8e4f2" alt="" width="181"><figcaption><p><em>Image 6: Fields Data Field</em></p></figcaption></figure>

5. Tooltip: Populate additional columns to display information on tooltip.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FwfobocU0orBPwYGD3jwL%2Fimage.png?alt=media&amp;token=17a970a9-40fc-4dd4-8dbc-b54776f108d6" alt="" width="183"><figcaption><p><em>Image 7: Tooltip Field</em></p></figcaption></figure>


# Use Cases

The xViz Performance Flow visual supports a wide range of use cases, including:

{% stepper %}
{% step %}
[Organization Structure](/performance-management/use-cases/organization-performance)
{% endstep %}

{% step %}
[Organization Chart using AAD Data](/performance-management/use-cases/microsoft-tenant-data-analytics/organization-chart-using-microsoft-graph-api)
{% endstep %}

{% step %}
[Process Flow](/performance-management/use-cases/process-flow)
{% endstep %}

{% step %}
[Cost Center Analysis](/performance-management/use-cases/cost-center-analysis)
{% endstep %}

{% step %}
[Sales Performance Analysis](/performance-management/use-cases/sales-performance-analysis)
{% endstep %}

{% step %}
[KPI Tree](/performance-management/use-cases/kpi-tree)
{% endstep %}

{% step %}
[Warehouse Management](/performance-management/use-cases/warehouse-management)
{% endstep %}
{% endstepper %}


# Organization Performance

The xViz Performance Flow provides an interactive and insightful visualization for Organizational Performance.

{% embed url="<https://www.youtube.com/watch?v=7_JUYpRp3rs>" %}
Organization Chart in Power BI using xViz Performance Flow
{% endembed %}

The visual offers the following features to effectively display the organizational chart:

### 1. Navigation:

The visual offers intuitive navigation with zoom controls using mouse wheel support and drag-and-pan capabilities. The integrated minimap provides a full-hierarchy reference, allowing management to seamlessly zoom in on specific employee cards for closer examination.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FJWlUUuPP1fxCmZaKi6UD%2Fnavigation.gif?alt=media&amp;token=79a14a17-7645-458b-ac2f-44e65c66c4c3" alt="" width="563"><figcaption><p><em>GIF 1: Navigation in xViz Performance Flow</em></p></figcaption></figure>

### 2. Set as Top Node:

Set as Top Node enables you to designate a specific node as the top-level node with its subtree structure. It allows you to analyze based on a more detailed hierarchy.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FV0L71FtqCrHK068ui0kl%2Fset%20as%20top%20node.gif?alt=media&amp;token=304a0470-1e06-43ed-9a71-14ecdd32ab7c" alt="" width="563"><figcaption><p><em>GIF 2: Set as Top Node in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on viewing subtrees and displaying different teams on separate tabs, refer to this documentation - [Set as Top Node](/performance-management/viewing-subtrees)

### 3. KPI & Variance:

The visual displays the current salary on each employee card. Additionally, by including the previous year's salary, the visual automatically calculates and shows the variance directly on the card.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FhpbiHjA16sE90E0CjFmq%2Fkpi.gif?alt=media&amp;token=f66a1b83-42c2-45dd-a436-1496e876176b" alt="" width="563"><figcaption><p><em>GIF 3: KPI &#x26; Variance in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on displaying KPIs and their variance on employee cards, refer to this documentation - [KPI & Variance](/performance-management/display-data-in-the-cards/displaying-variance)

### 4. Trend Analysis using Sparkline:

The visual can display the monthly performance score trends for the year, with a trend line clearly indicating employee performance over time. Additionally, other KPIs can be included to highlight their respective trends.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fz5qHA1bjovhbczB0Sqgv%2Fsparkline.gif?alt=media&amp;token=9b49f6e3-7bbd-41c4-b67c-507e3ef7610a" alt="" width="563"><figcaption><p><em>GIF 4: Sparkline in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using sparklines to display KPI trends, refer to this documentation - [Sparkline Trends](/performance-management/display-data-in-the-cards/sparkline-trends)

### 5. Links:

In addition to the reporting structure, the Performance Flow visual allows the plotting of additional dependencies through Links. Various types of dependencies can be represented using different line styles and colors, enabling management to visualize connections such as project collaborations, temporary reporting structures, and more, all integrated within the organizational hierarchy.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FsAzI3SzqJVcNkmhfwI3w%2Flinks.gif?alt=media&amp;token=4f98a4f6-4ddd-4690-84f5-a54e99cf8f21" alt="" width="563"><figcaption><p><em>GIF 5: Links in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using links to display employee collaborations and temporary reporting structures, refer to this documentation - [Links](/performance-management/links)

### 6. Search:

The visual includes a Search feature that allows management to quickly locate specific employees within the organizational hierarchy, saving time by eliminating the need to manually navigate through the entire structure.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FEvWaEsbITw6B3x2qGIbE%2Fsearch.gif?alt=media&amp;token=872d9f8f-8dbf-467c-8b13-df42bc9f7b13" alt="" width="563"><figcaption><p><em>GIF 6: Search feature in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on the Search function, which allows you to search for a specific employee in the organizational structure, refer to this documentation - [Search](/performance-management/search)

### 7. Alerting:

Conditional formatting in the Performance Flow visual allows for the identification and highlighting of low performers through customizable data-driven rules. In addition to highlighting low-performing employee cards—such as with a red border—other rules and formatting options can also be applied to tailor the visual appearance based on specific performance criteria.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FXylrrsD7S3cqcfp5RUdH%2Falerting.gif?alt=media&amp;token=468d9ca7-323d-4a90-89f6-4c1c5fdd835c" alt="" width="563"><figcaption><p><em>GIF 7: Alerting in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on Conditional Formatting, which allows you to highlight nodes based on specific conditions, refer to this documentation - [Conditional Formatting](/performance-management/conditional-formatting)

### 8. Notes & Annotation:

The Notes feature in the visual allows management to access additional context about employees. For example, if an employee shows a significant dip in performance, the Notes feature provides immediate insight into the underlying cause, such as health issues, reducing the need for a formal performance review.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FwLM9gMdzrkSkC8Oq1bgL%2Fnotes.gif?alt=media&amp;token=07725066-a1e7-4c32-be69-223f83f7e89e" alt="" width="563"><figcaption><p><em>GIF 8: Notes &#x26; Annotation in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on the Notes feature, which displays additional information on employee cards, refer to this documentation - [Notes & Annotation](/performance-management/notes-and-annotation)

***

**Download the sample report file (.pbix) or install the visual directly in your reports from** [**Microsoft AppSource**](https://appsource.microsoft.com/en-ie/product/power-bi-visuals/xviz.performanceflow-xviz?tab=Overview)


# Microsoft Tenant Data Analytics

The xViz Performance Flow visual provides an interactive and intuitive way to analyze Microsoft Graph API for Tenant Data Analytics.

{% embed url="<https://xviz.com/demos/xviz-performance-flow-tenant-data-analytics/>" %}
Demo report | Microsoft Tenant Data Analytics using xViz Performance Flow
{% endembed %}

> Refer to the [Importing Microsoft Graph API with Power Query](/performance-management/use-cases/microsoft-tenant-data-analytics/organization-chart-using-microsoft-graph-api) documentation for guidance on fetching Microsoft Entra ID data into Power BI.

### Visualize the Microsoft Graph API using the xViz Performance Flow visual:

1. Now, import [xViz Performance Flow](https://appsource.microsoft.com/en-hk/product/power-bi-visuals/xviz.performanceflow-xviz?tab=Overview) from Microsoft AppSource into your report.

{% hint style="success" %}
If this is your first time working with custom visuals, then here are the steps to [import a custom visual from Microsoft AppSource](https://learn.microsoft.com/en-us/power-bi/developer/visuals/import-visual#import-a-power-bi-visual-directly-from-appsource).&#x20;
{% endhint %}

2. Next, populate the data fields in the visual with the relevant columns as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FGbHruIWXsc59ikoJ8c0I%2FGroup%202637.png?alt=media&amp;token=a3a22ba5-6ecc-42e0-b2ab-c05d8365b302" alt="" width="375"><figcaption><p><em>Image 1: Populate data fields</em></p></figcaption></figure>

3. Navigate to the **Map Field** option in the top ribbon and map these newly populated columns to the **Map Field**, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FdoTEm7QRsmvi64gXGTTo%2Fimage.png?alt=media&amp;token=752bc19c-494d-42b5-87b4-22bb8868979e" alt="" width="332"><figcaption><p><em>Image 2: Map newly added column in the Map Field</em></p></figcaption></figure>

4. As a result, the organization chart is created using Microsoft Entra ID (formerly Azure Active Directory) data with the xViz Performance Flow Visual in Power BI.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FOPssYmcGjM8z7DdnCP02%2Fimage.png?alt=media&amp;token=f9cdbbb3-6ed2-4d78-bc38-c33d527fadd7" alt="" width="563"><figcaption><p><em>Image 3: Organization Chart in xViz Performance Flow</em></p></figcaption></figure>

{% hint style="danger" %}
The data presented in the report is a sample dataset created for demonstration purposes. It closely resembles the data obtained from Microsoft Entra ID (formerly known as Azure Active Directory).
{% endhint %}

The visual provides powerful insights for analyzing Microsoft Tenant Data with the following features:

### 1. KPI & Variance:

The visual displays the storage used on each employee card, providing a clear overview of individual usage. By incorporating the allocated storage, it automatically calculates the variance, allowing for quick insights into storage discrepancies directly on the card.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FwTnl8gUu2CsDYHR8Oyn7%2Fimage.png?alt=media&amp;token=ae192c2e-c034-4c78-ae86-dd22ca34f275" alt="" width="563"><figcaption><p><em>Image 4: KPI &#x26; Variance in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on displaying KPIs and their variance on employee cards, refer to this documentation - [KPI & Variance](/performance-management/display-data-in-the-cards/displaying-variance)

### 2. Conditional Formatting:

Conditional formatting in the Performance Flow visual enables the identification and highlighting of IT-related issues, such as low storage, through customizable data-driven rules. For example, employee cards can be marked with a warning sign or a red border when storage usage exceeds a set threshold. Additionally, other rules and formatting options can be applied to tailor the visual appearance based on specific IT performance criteria.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FzcEorFrExXfi6hGSMhSa%2Fimage.png?alt=media&amp;token=9d346ce4-34c9-45a5-b114-6094e636284d" alt="" width="563"><figcaption><p><em>Image 5: Conditional Formatting in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on Conditional Formatting, which allows you to highlight nodes based on specific conditions, refer to this documentation - [Conditional Formatting](/performance-management/conditional-formatting)

### 3. Custom Template:

Custom templates with advanced DAX techniques simplify app usage tracking and license management, enabling easy monitoring, optimization, and allocation of resources.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fb02LhtlcuEXm2Z3wRBPK%2Fimage.png?alt=media&amp;token=8872833f-5df4-47fd-b766-b3bb400ec134" alt="" width="563"><figcaption><p><em>Image 6: Custom Template in xViz Performance Flow</em></p></figcaption></figure>


# Organization Chart using Microsoft Graph API

Microsoft Entra ID (formerly Azure Active Directory) helps IT teams manage users, groups, and resources using the Microsoft Graph API. It enables the creation of organizational charts while providing insights into resource access, like applications and shared drives. This ensures efficient access management and security for company employees.

This guide demonstrates how to import data from Microsoft Entra ID (Formerly Azure Active Directory) into Power BI using Power Query and Microsoft Graph API. After importing the data, we can visualize it using the xViz Performance Flow in Power BI.

To visualize Microsoft Entra ID (formerly Azure Active Directory) data in xViz Performance Flow, we follow this process:

1. [Prerequisites](#id-1.-prerequisites)
2. [Initialize Parameters](#id-2.-initialize-parameters)
3. [Query to fetch Microsoft Entra ID (Formerly Azure Active Directory) Data in Power Query](#id-3.-query-to-fetch-microsoft-entra-id-formerly-azure-active-directory-data-in-power-query)
4. [Query to fetch the images](#id-4.-query-to-fetch-the-images)
5. [Visualize the data using the xViz Performance Flow visual](#id-5.-visualize-the-data-using-the-xviz-performance-flow-visual)

### 1. Prerequisites:

To securely access Microsoft Entra ID (formerly Azure Active Directory) data within Power BI, the following setup is required:

1. **Azure Tenant ID**: This is the unique identifier for your organization within Azure.
2. **AAD Application**: An application must be registered in Azure Active Directory to access AAD data securely. Permissions are necessary for accessing specific data, which can be found in the [Microsoft Graph Permissions Reference](https://learn.microsoft.com/en-us/graph/permissions-reference).
3. **AAD App Credentials**:
   * **Azure Application Client ID**: This identifier is assigned to the application registered for accessing AAD data.
   * **Azure Application Client Secret**: A secure password for the application, granting it access to AAD.

These credentials will enable the AAD app to connect to the Microsoft Graph API, managing user data in AAD.

### 2. Initialize Parameters:

1. First, create three parameters in Power Query. To create new parameters, navigate to the Home tab and click on Manage Parameters.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FAf4Err8qoqoUGkFlQnpw%2Fimage.png?alt=media&amp;token=da5d0008-b138-4112-ab08-4be20acd7ebe" alt="" width="563"><figcaption><p><em>Image 1: Manage Parameters</em></p></figcaption></figure>

2. Create parameters for Azure Tenant ID, Azure Application Client ID, and Azure Application Client Secret, which are essential for fetching data from Microsoft Entra ID (Formerly Azure Active Directory). Populate the parameters with the respective values as shown image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FkKCfdcUf9PWHzdN5K3ne%2Fimage.png?alt=media&amp;token=c04dc232-cb5f-4cef-8aca-3903d6f688fc" alt="" width="375"><figcaption><p><em>Image 2: Add Parameters</em></p></figcaption></figure>

### 3. Query to fetch Microsoft Entra ID (Formerly Azure Active Directory) Data in Power Query:

1. Now, we’ll create a blank query and rename the query to "AAD Active Employee". Then navigate to the Advanced Editor. Paste the following M code into the editor and click on Done.

```powerquery
let 
    resource="https://graph.microsoft.com",
    tokenResponse = Json.Document(Web.Contents("https://login.windows.net/",
    [
        RelativePath = #"Azure AD Tenant ID" & "/oauth2/token",
        Content = Text.ToBinary(Uri.BuildQueryString(
            [
                client_id = #"Azure Application Client ID",
                resource = resource,
                grant_type = "client_credentials",
                client_secret = #"Azure Application Client Secret"
            ]
        )),
        Headers = [Accept = "application/json"], ManualStatusHandling = {400}
    ])),
    access_token = tokenResponse[access_token],
    Source = OData.Feed("https://graph.microsoft.com/beta/users", [ Authorization = "Bearer " & access_token ], [ ExcludedFromCacheKey = {"Authorization"}, ODataVersion = 4, Implementation = "2.0" ])
in
    Source
```

{% hint style="warning" %}

* The source API may vary depending on the use case for Microsoft Entra ID (formerly Azure Active Directory) data.
* Learn more about Microsoft Graph API here: <https://learn.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0&preserve-view=true>
  {% endhint %}

2. After connecting, you will need to edit the credentials and set the appropriate privacy levels to ensure secure data access.&#x20;

   * First, Select **Anonymous** as the authentication method, as the necessary Client ID and Client Secret have already been provided through the Azure application setup.&#x20;

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FooY3yh80hbmhjpKTuZAU%2F2024-11-13%2017_41_59-AAD%20Original%20Data%20Report.png?alt=media&amp;token=2e304d57-d6d4-4c39-a4b9-e40db40493fa" alt="" width="563"><figcaption><p><em>Image 3: Edit the Credentials</em></p></figcaption></figure>

   * Next, you’ll be prompted to configure **Data Privacy** settings. Set the privacy level for both `https://login.windows.net/` and `https://graph.microsoft.com/` to **Organizational**. Once completed, click **Save** to apply these settings and proceed with the data import.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FBJGqPKKAO34hKLDGWoPu%2Fprivacy%20levels.webp?alt=media&amp;token=e2139c1b-d80e-4f2b-9630-e3e9150db856" alt="" width="479"><figcaption><p><em>Image 4: Set Privacy levels</em></p></figcaption></figure>

{% hint style="warning" %}
This step is essential for protecting sensitive information and ensuring that your data remains secure within your organization’s boundaries.
{% endhint %}

3. After a short wait, your first set of Microsoft Graph data should now appear in Power Query, ready for you to explore and transform!

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FLBfWjhx8MKvmpBailWSJ%2Fimage.png?alt=media&amp;token=c3a44c4e-62e4-4794-9493-d1270aba0f35" alt=""><figcaption><p><em>Image 5: Data from Azure Active Directory</em></p></figcaption></figure>

### 4. Query to fetch the images:

1. Now, we'll fetch the images from the Microsoft Entra ID (Formerly Azure Active Directory). First, we’ll create a blank query and navigate to the Advanced Editor. Paste the following M code into the editor and then rename the query to "AAD Image". This step initializes the setup for fetching images from Azure Active Directory (AAD).

```powerquery
let
    // Step 1: Get Access Token
    tokenResponse = Json.Document(
        Web.Contents(
            "https://login.microsoftonline.com/" & #"Azure AD Tenant ID" & "/oauth2/v2.0/token",
            [
                Content = Text.ToBinary(
                    Uri.BuildQueryString(
                        [
                            client_id = #"Azure Application Client ID",
                            client_secret = #"Azure Application Client Secret",
                            grant_type = "client_credentials",
                            scope = "https://graph.microsoft.com/.default"
                        ]
                    )
                ),
                Headers = [#"Content-Type" = "application/x-www-form-urlencoded"]
            ]
        )
    ),
    accessToken = tokenResponse[access_token],

    // Step 2: Get user IDs
    userEndpoint = "https://graph.microsoft.com/v1.0/users?$select=id&$top=999 ",
    usersResponse = Json.Document(
        Web.Contents(
            userEndpoint,
            [
                Headers = [Authorization = "Bearer " & accessToken]
            ]
        )
    ),

    userItems = usersResponse[value],
    userIds = List.Transform(userItems, each _[id]), 

    baseEndpoint = "https://graph.microsoft.com/v1.0/users/",

    // Step 3: Define function to Get User Photos
    getPhoto = (userId) =>
        let
            photo = Web.Contents(
                baseEndpoint & userId & "/photo/$value",
                [
                    Headers = [Authorization = "Bearer " & accessToken]
                ]
            )
        in
            photo,

    // Step 4: Get User Photos
    userPhotos = Record.FromList(
        List.Transform(userIds, getPhoto),
        userIds
    )
in
        userPhotos

```

2. After a few minutes, we will be able to see two columns with the employee ID and their images as Base64URLs in Power Query. Then, you can change the data type of both columns to text. And change the column name “Name” to “Id” & “Value” to “Image”.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FeTiVfGNcXlkMxAKM1eT9%2F2.%20Get%20Image%20URL%20column%20from%20Azure%20Active%20Directory.png?alt=media&amp;token=a9345c70-512f-4cc9-b70d-0222e4bb7bb6" alt="" width="375"><figcaption><p><em>Image 6: Get Image URL column from Azure Active Directory</em></p></figcaption></figure>

3. Create a custom column combining Base64 image data with the data URI scheme, use this formula in Power Query:

```powerquery
Employee Image = "data:image/png;base64," & [Image]
```

This combines the string `"data:image/png;base64,"` with the Base64-encoded image data in the `[Image]` column for use in Power BI visuals.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FAXoUsBvODcswtIsIjyYg%2F3.%20Add%20Custom%20Column.png?alt=media&amp;token=e394e304-1119-4a76-8bf2-8d8be263aa11" alt="" width="375"><figcaption><p><em>Image 7: Add Custom Column</em></p></figcaption></figure>

{% hint style="info" %}
The Base64 image URL needs to be prefixed with "data /png;base64" for proper display.
{% endhint %}

4. After creating the custom column, remove the "Image" column and change the data type of the "Employee Image" column to Text.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FrU1Jk74Bl3jf04sii4r7%2F4.%20Image%20URL%20with%20appropriate%20format.png?alt=media&amp;token=55a9f770-3866-495a-99fb-c67469e0ba00" alt="" width="375"><figcaption><p><em>Image 8: Image with appropriate URL</em></p></figcaption></figure>

5. Click **Close & Apply** to save your changes and then establish a relationship between the previously imported employee data using the **Id** column.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FW80nai69B9FeuXYd5yWy%2Fimage.png?alt=media&amp;token=624cf28f-c029-443b-b6b6-7ae23ebeb3f5" alt=""><figcaption><p><em>Image 9: Create Relationship</em></p></figcaption></figure>


# Process Flow

The xViz Performance Flow offers a structured way to visualize business processes across various stages.

{% embed url="<https://www.youtube.com/watch?v=nuK32lp5oQo>" %}
Creating Process Flow visualization in Power BI using xViz Performance Flow
{% endembed %}

The visual offers the following features to effectively display the Process Flow:

### 1. Swim Lanes:

Swim Lanes provide a clear framework for visualizing business workflows across various stages at each step. This approach helps streamline processes, improves clarity, and ensures smoother handoffs between stages for efficient workflow management.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fn9aMzhB5j8QOLD64QsHG%2Fswimlanes.gif?alt=media&amp;token=19af3bf7-842e-49d8-aabf-9aa1a8448c85" alt="" width="563"><figcaption><p><em>GIF 1: Swim Lanes in xViz Performance Flow</em></p></figcaption></figure>

> * For detailed information on using swim lanes to visualize business workflows across multiple stages, refer to this documentation - [Swim Lanes](/performance-management/configuring-the-chart-structure/grouping-swim-lanes)
> * For detailed information on dynamically transforming the data structure for a swim lanes layout, refer to this documentation - [Data Structure for Columnar Group View](/performance-management/configuring-the-chart-structure/grouping-swim-lanes/data-structure-for-columnar-group-view)

### 2. Links:

Links between tasks in swim lanes provide a clear view of business workflows across various stages. These connections highlight dependencies, track transitions, and ensure smooth handoffs between stages and improve overall workflow management and team coordination.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fv24yE4rU0kKqaIC8E1SJ%2Fprocess%20flow%20links.gif?alt=media&amp;token=079ae8a5-b4ae-48cf-ad17-3f2b737570ac" alt="" width="563"><figcaption><p><em>GIF 2: Links in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using links to visualize process flow, refer to this documentation - [Links](/performance-management/links)

### 3. KPIs

Track and evaluate business performance through KPIs. These metrics highlighting achievements and pinpointing areas that need attention. By leveraging KPIs, you can drive better decision-making, enhance efficiency, and ensure alignment with business objectives.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQusWGCOVcTVlO9p56Cuw%2Fprocess%20flow%20kpis.gif?alt=media&amp;token=65e52d53-8f23-4d84-bd22-6aafa93abd18" alt="" width="563"><figcaption><p><em>GIF 3: KPIs in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on displaying KPIs on cards, refer to this documentation - [KPIs](/performance-management/display-data-in-the-cards/displaying-kpis)

### 4. Appearance:

Enhance the overall appearance of your insights by refining the design of icons, labels, and border colors to better suit specific use cases and data categories. Customizing the appearance of icons ensures that each category is visually distinct, improving user understanding and making key insights more accessible.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FOqUhGHxNP25Sz4kH1tTQ%2Fappearance.gif?alt=media&amp;token=d5119340-1e19-4054-a6c3-ff1855910d3e" alt="" width="563"><figcaption><p><em>GIF 4: Appearance in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on Appearance, refer to this documentation - [Appearance](/performance-management/card-formatting/data-driven-color)

***

**Download the sample report file (.pbix) or install the visual directly in your reports from** [**Microsoft AppSource**](https://appsource.microsoft.com/en-ie/product/power-bi-visuals/xviz.performanceflow-xviz?tab=Overview)


# Sales Performance Analysis

The xViz Performance Flow offers a comprehensive view of sales performance at the regional, departmental, and salesperson levels, using Decomposition Trees to break down key metrics.

{% embed url="<https://www.youtube.com/watch?v=tvkoXSpU4g4>" %}
Sales Performance Analysis in Power BI using xViz Performance Flow
{% endembed %}

The visual offers the following features to effectively display the Sales Performance:

### 1. Layout & Orientation:

Arrange nodes efficiently using layout and orientation options to optimize data presentation. This approach enhances clarity, reduces clutter, and ensures smooth data navigation. For instance, you can plot the sales performance of employees by region, following the Region Head hierarchy for a clearer view of performance across different levels.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FvHsp8QcJEu1UxwwrrhJH%2Flayout%20and%20orientation.gif?alt=media&amp;token=b0556e56-66f7-417a-9920-7b770f129f10" alt="" width="563"><figcaption><p><em>GIF 1: Layout &#x26; Orientation in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using layout & orientation, refer to this documentation - [Layout & Orientation](/performance-management/layout-and-orientation)

### 2. Conditional Formatting:

Use conditional formatting to highlight top and bottom performers, making it easy to identify key outliers. This approach enhances exception reporting, allowing you to quickly focus on areas that need attention or improvement. Additionally, focus on specific datapoints using legend click functionality.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fe54h0pjSaR8EyvYeZSiq%2Fcf%20legend.gif?alt=media&amp;token=18ba81e3-af06-4381-a692-b48bc6d2be23" alt="" width="563"><figcaption><p><em>GIF 2: Conditional Formatting in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using Conditional Formatting, refer to this documentation - [Conditional Formatting](/performance-management/conditional-formatting)

### 3. Sparkline Trends:

The visual displays monthly sales budget and forecast trends with a trend line, highlighting the comparison between forecasted and actual sales for each salesperson.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FLtKM4dhIVJaeA4PfSbUN%2Fsales%20performance%20trends.gif?alt=media&amp;token=04098c9a-fa91-4ea2-a6f3-f460fa0e6617" alt="" width="563"><figcaption><p><em>GIF 3: Sparkline Trends in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using Sparkline Trends, refer to this documentation - [Sparkline Trends](/performance-management/display-data-in-the-cards/sparkline-trends)

### 4. Notes:

The Notes feature in the visual allows sales managers to access additional context on each salesperson. For instance, if there’s a significant dip in performance, Notes can immediately reveal underlying causes, like health issues, reducing the need for formal reviews.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FfeohO9UlFEwh4ap9vMXa%2Fsalesperson%20notes.gif?alt=media&amp;token=a4089127-d014-4f7c-b348-6bd40c7b13a2" alt="" width="563"><figcaption><p><em>GIF 4: Notes in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using Notes, refer to this documentation - [Notes & Annotation](/performance-management/notes-and-annotation)

### 5. Search:

The visual includes a Search feature that enables managers to quickly locate specific salespeople within the hierarchy, saving time by eliminating the need to navigate through the entire structure manually.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FUvdnGTZkqcczsU0egVbP%2Fsalesperson%20search.gif?alt=media&amp;token=b9f4155e-3b22-4886-810d-2e00cfd320fd" alt="" width="563"><figcaption><p><em>GIF 5: Search feature in xViz Gantt Chart</em></p></figcaption></figure>

> For detailed information on using Search feature, refer to this documentation - [Search](/performance-management/search)

***

**DDownload the sample report file (.pbix) or install the visual directly in your reports from** [**Microsoft AppSource**](https://appsource.microsoft.com/en-ie/product/power-bi-visuals/xviz.performanceflow-xviz?tab=Overview)


# Cost Center Analysis

The xViz Performance Flow offers a multiple column hierarchy structure.

{% embed url="<https://www.youtube.com/watch?v=GU2CqAxwtq0>" %}
Cost Center Analysis in Power BI using xViz Performance Flow
{% endembed %}

The visual offers the following features for effective Cost Center Analysis:

### 1. Multiple column hierarchy Structure:

Analyze Cost Centers using a multi-column hierarchy structure, providing a clear breakdown across various departments for deeper insights into spending and resource allocation.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FWYx1LTawjCEUE3V3jv85%2Fmultiple%20column%20structure.gif?alt=media&amp;token=cd443a57-9849-4ee9-b24a-118932f4e173" alt="" width="563"><figcaption><p><em>GIF 1: Multiple column hierarchy structure in xViz Performance Flow</em> </p></figcaption></figure>

> For detailed information on using multiple column hierarchy structure, refer to this documentation - [Data Structure](https://docs.xviz.com/performance-management/use-cases/pages/doJl09QPPaqrgZ1sJvxL#id-2.-multiple-category-columns)

### 2. Root Node & Aggregated values:

Aggregate values at higher levels within the visual, such as departments, and display a root node to represent the grand total for the organization. This structure provides a clear, hierarchical view of data from top-level summaries to detailed breakdowns.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FEDpJAti2lM0MnnJ5a2Mu%2Froot%20node.gif?alt=media&amp;token=1a9068cd-990b-405a-9eb7-bea59673d37a" alt="" width="563"><figcaption><p><em>GIF 2: Aggregation of vales on higher level in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using Aggregation of vales on higher level, refer to this documentation - [Aggregation of vales on higher level](https://docs.xviz.com/performance-management/use-cases/pages/doJl09QPPaqrgZ1sJvxL#id-2.-multiple-category-columns)

### 3. Conditional Formatting:

Use conditional formatting to highlight cost center values, applying a custom range to emphasize key spending thresholds. This approach allows for quick identification of variances across departments, helping to pinpoint areas that exceed or stay within budget limits.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FMrL3vEqpdclRH29ZQ4tp%2Fcost%20center%20cf.gif?alt=media&amp;token=868661db-369d-4cf7-b946-3b0d044be816" alt="" width="563"><figcaption><p><em>GIF 3: Conditional Formatting in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using Conditional Formatting, refer to this documentation - [Conditional Formatting](/performance-management/conditional-formatting)

### 4. Layout & Orientation:

Optimize layout and orientation for cost center analysis to ensure a clear, organized view of departmental expenses. By adjusting the layout, you can better visualize the hierarchical structure, making it easy to follow cost allocations across levels and quickly identify key spending areas.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FH8B2FQxYGCdBnzS4Df25%2Fcost%20center%20layout.gif?alt=media&amp;token=81869b54-f783-4ca6-a18b-53c5ab6f9ff2" alt="" width="563"><figcaption><p><em>GIF 4: Layout &#x26; Orientation in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using layout & orientation, refer to this documentation - [Layout & Orientation](/performance-management/layout-and-orientation)

***

**Download the sample report file (.pbix) or install the visual directly in your reports from** [**Microsoft AppSource**](https://appsource.microsoft.com/en-ie/product/power-bi-visuals/xviz.performanceflow-xviz?tab=Overview)


# KPI Tree

The xViz Performance Flow visual offers an advanced KPI Tree, ideal for visualizing interconnected key performance indicators (KPIs) and their relationships.

{% embed url="<https://xviz.com/demos/xviz-performance-flow-kpi-tree/>" %}
Demo report | KPI Tree in Power BI using xViz Performance Flow
{% endembed %}

Leveraging the insights provided by [Power BI's new INFO functions](https://powerbi.microsoft.com/en-us/blog/power-bi-october-2024-feature-summary/#post-28196-_Toc179458536), the xViz Performance Flow visual offers a structured view of interconnected KPIs, dynamically updating the view ensures that users receive the most current information in the report.  With its capability to update as new KPIs are added, the xViz Performance Flow enables teams to stay informed of changes, supporting more effective analysis and management of key metrics across various performance dimensions.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FSxPHsaKuoQ9RQpLQ3OPl%2FKPI%20Tree%20GIF.gif?alt=media&amp;token=fb1334f8-0ef5-4073-8278-446cda0d0cee" alt="" width="563"><figcaption><p>GIF 1: KPI Tree</p></figcaption></figure>

### Steps to Configure the KPI Tree in the Performance Flow Visual:

1. Create a new table using the `INFO.VIEW.MEASURES()` function to display information about the model's measures. The table should include columns for each measure's ID, name, its formula or expression, and its current status, indicating whether it’s in a valid or error state, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FxHC4zvkYqXVaATaUVAtm%2Fimage.png?alt=media&amp;token=0e4d34ec-e5c4-4f6a-97bd-6941e24b9cfc" alt="" width="563"><figcaption><p>Image 1: INFO.VIEW.MEASURES()</p></figcaption></figure>

2. Create a custom column named **"Links"** using the DAX formula below. This column is used as Links to display the relationships between each KPI, helping to identify dependencies among them.

{% hint style="success" %}
Learn more about [xViz Performance Flow | Links](/performance-management/links)
{% endhint %}

```dax
Links = 
VAR _name = 'Table'[Name]
VAR _parentsID = 
    CONCATENATEX(
        FILTER(
            'Table',
            SEARCH("[" & _name & "]", 'Table'[Expression], 1, 0) > 0 && 'Table'[Name] <> _name
        ),
        'Table'[ID],
        ","
    )
RETURN
    IF(LEN(_parentsID) > 0, _parentsID, BLANK())

```

As a result, the new column will be create as shown in the image below which shows the comma-separated list of IDs of KPIs that each KPI depends on, showing relationships and dependencies between KPIs.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F8L8LGBmAY1oUO7X0Lq80%2Fimage.png?alt=media&amp;token=a8fa774f-551a-4b72-a575-cc4b340ebd11" alt="" width="563"><figcaption><p>Image 2: Links column</p></figcaption></figure>

3. Create a new custom column named **"Parent ID"** using the DAX formula below. This column will take the first ID value from the **Links** column and will be used as the Parent ID in the visual. The Parent ID determines the position of the KPI in the resultant tree structure.

```dax
Parent ID = 
    LEFT(
        'Table'[Links], 
        FIND(",", 'Table'[Links] & ",", 1) - 1
    )
```

As a result, a new column will be created, as shown in the image below, which displays the first ID of the KPI from the Links column.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FUy3M7vvRaCvX7BWbleGf%2Fimage.png?alt=media&amp;token=1b36b5bd-9108-45e4-bbc3-dab53a940452" alt="" width="563"><figcaption><p>Image 3: Parent ID column</p></figcaption></figure>

Let's begin with the visualization!

4. Import [xViz Performance Flow](https://appsource.microsoft.com/en-hk/product/power-bi-visuals/xviz.performanceflow-xviz?tab=Overview) from Microsoft AppSource into your report.

{% hint style="success" %}
If this is your first time working with custom visuals, then here are the steps to [import a custom visual from Microsoft AppSource](https://learn.microsoft.com/en-us/power-bi/developer/visuals/import-visual#import-a-power-bi-visual-directly-from-appsource).&#x20;
{% endhint %}

5. Populate the **ID**, **Parent ID**, **Name**, and **Links** columns in the data fields.&#x20;

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FhrvveQOltPX2R51skpQD%2Fimage.png?alt=media&amp;token=eb6764d3-e915-4885-84df-c567ec03b238" alt="" width="178"><figcaption><p>Image 4: Populate Data columns</p></figcaption></figure>

6. Navigate to the **Map Field** option in the top ribbon and map these newly populated columns to the **Map Field**, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F5Is5gsLdwWgf5HQVBARu%2Fmap%20field.png?alt=media&amp;token=370129dc-7a4d-4932-8af5-a86694f8e626" alt="" width="375"><figcaption><p>Image 5: Map newly added column in the Map field</p></figcaption></figure>

7. Conceal the parent-child connectors to focus on the Links:
   1. To improve the appearance of the KPI tree, first navigate to the **Display** option in the top ribbon. Then, in the **Navigation** tab, turn off the expand/collapse button.
   2. Navigate to the Connectors Tab and set the connector color to transparent to hide the connectors to achieving cleaner view.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FNt1dy3bE17DBEvqqB8X4%2Fimage.png?alt=media&amp;token=f1357e1e-2207-4556-be41-3a6c8c7fefcc" alt="" width="274"><figcaption><p>Image 6: Expand Collapse button</p></figcaption></figure>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FLVhrUotMj7Obao8xEnkc%2Fimage.png?alt=media&amp;token=ac3337bb-05dd-49e7-bdae-4636b32f03ee" alt="" width="276"><figcaption><p>Image 7: Hide connectors</p></figcaption></figure>

8. Now, all the KPIs will be connected to each other based on their Link IDs.&#x20;

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FioIkWXvvpjaPxUhK5gOy%2Fimage.png?alt=media&amp;token=f64c00de-d21f-4c2b-966b-5e89e5165193" alt="" width="563"><figcaption><p>Image 8: KPIs connected with Links</p></figcaption></figure>

9. To view the connections of any individual KPI, simply click on ellipsis icon in the top-right corner of the node and select the "Show Linked" option, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FZhiqnLSjdkpvXM5uQQH7%2Fimage.png?alt=media&amp;token=48b0139b-09d5-4b66-b493-4643b32fd56c" alt="" width="417"><figcaption><p>Image 9: Show Linked</p></figcaption></figure>

As a result, it will display the relationships between the selected KPI with the other KPIs, as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FPkvaAYiRbmZ0ppDshonU%2FKPI%20Tree%20GIF.gif?alt=media&amp;token=098ea13e-563f-43b8-b094-258709d6283e" alt="" width="563"><figcaption><p>GIF 2: KPI Tree</p></figcaption></figure>

#### Download the sample report file:

{% embed url="<https://xviz.com/demos/xviz-performance-flow-kpi-tree/>" %}


# Warehouse Management

The xViz Performance Flow visual offers an interactive approach to display warehouse management data effectively.

{% embed url="<https://xviz.com/demos/xviz-performance-flow-warehouse-management/>" %}
Demo File | Warehouse Management in Power BI using xViz Performance Flow
{% endembed %}

The visual offers the following features for effective Warehouse Management:

### 1. Group Feature:

The Groups Feature allows you to view various sections by location, offering insights into rack fill levels for better inventory control.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FovSncPWmizaZAdZdYTlr%2Fgroup.gif?alt=media&amp;token=2b0c19ab-fc7d-4f52-abb8-0438629837dd" alt="" width="563"><figcaption><p><em>GIF 1: Group Feature in xViz Performance Flow</em></p></figcaption></figure>

> * For detailed information on using group feature to manage warehouse, refer to this documentation - [Swim Lanes](/performance-management/configuring-the-chart-structure/grouping-swim-lanes)
> * For detailed information on dynamically transforming the data structure for wide group view, refer to this documentation - [Data Structure for Wide Group Views](/performance-management/configuring-the-chart-structure/grouping-swim-lanes/data-structure-for-wide-group-views)

### 2. Custom Template:

Custom templates, using innovative image techniques, make inventory tracking smoother, reducing the risk of overfilled racks and ensuring optimal stock distribution.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FacO9aIohML9D6rfRvw9d%2Fcustom%20template.gif?alt=media&amp;token=ae6b2798-f49f-48a9-b8c9-7346daf18763" alt="" width="563"><figcaption><p><em>GIF 2: Custom Template in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using Custom Template, refer to this documentation - Custom Template

### 3. Conditional Formatting:

Conditional formatting highlights areas needing attention, making it easy to transfer excess stock and maintain a balanced layout. Stay organized and proactive in your approach to storage management.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FW4UzqkAd4UI3SUV6f3n4%2Fwarehouse%20cf.gif?alt=media&amp;token=1a905af6-1274-4458-876c-dd349d5711ce" alt="" width="563"><figcaption><p><em>GIF 3: Conditional Formatting in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using Conditional Formatting, refer to this documentation - [Conditional Formatting](/performance-management/conditional-formatting)

### 4. Set as Top Node:

The Set as Top Node allows to focus on and analyze individual sections, enabling a detailed view and assessment of each part of the warehouse management structure.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FY6alw6lto1fDm5W3hIUc%2Fwarehouse%20set%20as%20top%20node.gif?alt=media&amp;token=5fc0eeac-cf65-4432-bd4b-9b7330179531" alt="" width="563"><figcaption><p><em>GIF 4: Set as Top Node in xViz Performance Flow</em></p></figcaption></figure>

> For detailed information on using Set as Top Node, refer to this documentation - [Viewing Subtree](/performance-management/viewing-subtrees)

***

#### Download the sample report file:

{% embed url="<https://xviz.com/demos/xviz-performance-flow-warehouse-management/>" %}


# Supply Chain Network

Managing a supply chain involves multiple interconnected phases—Supplier, Transport, Assembly, Warehouse, Distribution, and Market. **xViz Performance Flow** simplifies this complexity by providing valuable insights for data-driven decision-making. With its interactive, structured view, businesses can identify bottlenecks, optimize logistics, and enhance overall supply chain efficiency.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FVsvBohYTV9QxwMiJI6w5%2FSupply%20chain.gif?alt=media&amp;token=e2fe6874-16cc-4d06-86e2-c29de041b634" alt="" width="563"><figcaption><p><em>GIF 1: Supply Chain Network</em></p></figcaption></figure>

### Steps to Configure the Supply Chain Netwerk in the Performance Flow Visual:

1. To create a supply chain network, certain columns are essential, including Link Destination, Link Direction, Link Type, Color, Border Color, and Link Width, along with Id, Parent Id, Title, and Subtitle in the dataset, as shown in the image below.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FTUJPafBUyvJEPEB9JFak%2Fimage.png?alt=media&amp;token=5e3c76fe-ba64-4508-bfc2-2c2abe2a6bd7" alt="" width="563"><figcaption><p><em>Image 1: Dataset</em></p></figcaption></figure>

{% hint style="success" %}
For more information on the data structure and link details, please refer to the documentation below:

* [Data Structure](https://docs.xviz.com/performance-management/use-cases/pages/doJl09QPPaqrgZ1sJvxL#id-1.-id-and-parent-id-columns)
* [Links](/performance-management/links)
  {% endhint %}

2. Populate the relevant columns in the data fields.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FyRiP3adEicBews9SQ0EL%2Fdata%20fields.png?alt=media&amp;token=0cecfbc1-b835-43f3-9086-07192ae5bc84" alt="" width="375"><figcaption><p><em>Image 2: Populate Data Columns</em></p></figcaption></figure>

3. Navigate to the Map Field option in the top ribbon and map these newly populated columns to the Map Field, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FOd1cdWLF4eMx8rfBtzze%2Fmap%20field.png?alt=media&amp;token=21a17bf6-ceb6-4e1e-8943-9849131287b9" alt="" width="375"><figcaption><p><em>Image 3: Map newly added column in the Map field</em></p></figcaption></figure>

4. Conceal the parent-child connectors to focus on the Links:

   1. To improve the appearance of the Supply Chain Network, first navigate to the **Display** option in the top ribbon. Then, in the **Navigation** tab, turn off the expand/collapse button.
   2. Navigate to the Connectors Tab and set the connector color to transparent to hide the connectors to achieving cleaner view.

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FNt1dy3bE17DBEvqqB8X4%2Fimage.png?alt=media&amp;token=f1357e1e-2207-4556-be41-3a6c8c7fefcc" alt="" width="274"><figcaption><p><em>Image 4: Expand Collapse button</em></p></figcaption></figure>

   <figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FLVhrUotMj7Obao8xEnkc%2Fimage.png?alt=media&amp;token=ac3337bb-05dd-49e7-bdae-4636b32f03ee" alt="" width="276"><figcaption><p><em>Image 5: Hide connectors</em></p></figcaption></figure>
5. Now, all the Supply Chain Phases will be connected to each other based on their Link IDs.&#x20;

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fq5Xo7bRoNC5xyT6TTJkz%2Fimage.png?alt=media&amp;token=68bb5324-1277-4ea8-833d-69d402c53f52" alt="" width="563"><figcaption><p>Image 6: Supply Chain Network with Links</p></figcaption></figure>

6. To view the network between of any Supply Chain Phase, simply click on ellipsis icon in the top-right corner of the node and select the "Show Linked" option, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FohLOSAE8S5IcX8agTGtr%2Fimage.png?alt=media&amp;token=645f737b-be06-48d0-8666-6edcc775c104" alt="" width="294"><figcaption><p>Image 7: Show Linked</p></figcaption></figure>

As a result, it will display the network between the selected Supply Chain Phase with other Phases, as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FOyCjJMhX89KQadM8RDy0%2FSupply%20chain.gif?alt=media&amp;token=5378dfce-3a9f-4b38-b5da-c8a3419e48c5" alt="" width="563"><figcaption><p><em>GIF 2: Supply Chain Network</em></p></figcaption></figure>


# Configuring the chart structure

The data provided to the xViz Performance Flow visual determines the arrangement of the nodes in the chart structure.

1. [/pages/uYwhBvTuSbkw6KIO6ZXo#id-1.-id-and-parent-id-columns](https://docs.xviz.com/performance-management/pages/uYwhBvTuSbkw6KIO6ZXo#id-1.-id-and-parent-id-columns "mention") - ID/PID based structure. Best suited when you have numeric as well as textual data to look at every node<br>

   Further, to group the nodes in swim lanes or logic grouping, read into [Grouping / Swim Lanes](/performance-management/configuring-the-chart-structure/grouping-swim-lanes). \
   Every "Group" requires its own record and the nodes must be assigned their resident group IDs as per the required structure: \
   [Data Structure for Columnar Group View](/performance-management/configuring-the-chart-structure/grouping-swim-lanes/data-structure-for-columnar-group-view)\
   [Data Structure for Wide Group Views](/performance-management/configuring-the-chart-structure/grouping-swim-lanes/data-structure-for-wide-group-views)

2. [/pages/uYwhBvTuSbkw6KIO6ZXo#id-2.-multiple-category-columns](https://docs.xviz.com/performance-management/pages/uYwhBvTuSbkw6KIO6ZXo#id-2.-multiple-category-columns "mention") - Hierarchy created by multiple columns. Best suited when you want to visualise a measure across multiple levels of dimensions in a tree structire


# Hierarchy structure

The visual supports two kinds of hierarchical structures:

### **1.      Id and Parent Id columns**

The hierarchy can be established by having the parent-child relationships defined for every row of data. For example: An organization data, a row of data can correspond to an employee in the company.

We need two columns to establish the parent-child relationships:

1\.      Each of these rows must have a unique identifier column, like the Employee Id.

2\.      Another column must contain the parent row’s identifier column, like the Manager Id.

The ‘Hierarchy Field’ data field must be populated with the Id column, while the ‘Parent field’ must be populated with the Parent Id column.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F5mX1ZJiZ7qCnDgHqJIWO%2Fimage.png?alt=media&amp;token=9495b742-a108-4082-897e-4a7d45f85e31" alt=""><figcaption></figcaption></figure>

The visual now has the hierarchy structure displayed on the canvas:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FCHdQsWq98efr5cTL3pmP%2Fimage.png?alt=media&amp;token=ef94484f-2c69-4b8c-a8ed-1906db210945" alt=""><figcaption></figcaption></figure>

*Note: The Id and PId columns can also be name columns (like Employee Name and Manager Name respectively). Since Name uniqueness cannot be guaranteed, we recommend using unique Id columns like Index columns.*

### **2. Multiple Category Columns**

Provide multiple Category Columns in the ‘Hierarchy Field’ to set the hierarchy for the visual, as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FGfv24jek6lpLlRov3IV5%2Fimage.png?alt=media&amp;token=557bb23d-d772-417c-a06d-1b86bc1ac20e" alt=""><figcaption></figcaption></figure>

The values in the leaf level will be picked from the data model. Aggregations for the higher levels will be done within the visual.

Aggregation options are available as follows:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F7e7v0s3NNOQUCNqhcQtg%2Fimage.png?alt=media&amp;token=a8cd5401-19cc-42c0-b939-10e70f96ffcd" alt=""><figcaption></figcaption></figure>

Enable ‘Total’ node as the root node for a grand total.

The hierarchy will be plotted as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F8qtg4dSFLHt3tvUWGCfh%2FPF-Multi-Column-Hierarchy.png?alt=media&amp;token=c42b7a60-a68f-4724-ba05-2e2f97caba3f" alt=""><figcaption></figcaption></figure>


# Grouping / Swim Lanes

To group the nodes in swim lanes, we need to provide the grouping information.

Consider the below example where we have one group and three nodes in it:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fm8hI3khCImNNdySfAGz6%2Fimage.png?alt=media&amp;token=b3e81d23-f51d-4527-a0aa-c02c068d7e2f" alt=""><figcaption><p><em>Image 1: Sample group view inspired by Process Flows</em></p></figcaption></figure>

* We will need additional rows for every group that we create. The last column in the above snapshot is the identifier row for the group
* In addition to the Id, Pid and other entity attributes required for the basic view, we need the following columns for grouping/swim lane view:

<table><thead><tr><th width="158">Data Column</th><th width="183">Mandatory/Optional</th><th>Description</th></tr></thead><tbody><tr><td>Group Id</td><td>Mandatory</td><td>Id of the Group in the group identifier row</td></tr><tr><td>Subtree Id</td><td>Mandatory</td><td>Specifies the ID of the Group in which the node resides</td></tr><tr><td>Group color</td><td>Optional</td><td>Color coding of the Group background</td></tr></tbody></table>

The data structure required for the above group view is as follows:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FwxFxZG6uum25Nm6uUO0h%2Fimage.png?alt=media&amp;token=4b45214d-e3d1-442e-b0c4-fc53220cccb0" alt=""><figcaption><p><em>Image 2: Data required for the view in Image 1</em> </p></figcaption></figure>

{% hint style="success" %}
Manually transforming group information in the required structure can be time-consuming. Instead, you can easily use a few transformation steps in Power Query to create the required data structure.
{% endhint %}

### Resources for Grouping/Swimlane View

These resources will assist you transform your current data structure dynamically to fit the required format for the grouping/swimlane view:

1. [Data Structure for Columnar Group View](/performance-management/configuring-the-chart-structure/grouping-swim-lanes/data-structure-for-columnar-group-view) - Inspired by the Process Flow use case
2. [Data Structure for Wide Group Views](/performance-management/configuring-the-chart-structure/grouping-swim-lanes/data-structure-for-wide-group-views) - Inspired by the Warehouse Management use case


# Data Structure for Columnar Group View

This document explains the process to dynamically convert a standard data structure to the data structure required to plot a columnar group view in the xViz Performance Flow visual

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F63UllXh11t0ztttamziW%2Fimage.png?alt=media&amp;token=53b4200b-4351-428b-aee8-70b034018e9e" alt=""><figcaption><p><em>Image 1: Column Group (Swim lane) View in xViz Performance Flow | Power BI</em></p></figcaption></figure>

{% hint style="success" %}
**Prerequisite** - Before proceeding with this page, please go through the following pages to ensure a comprehensive understanding of the configurations required:

* [Data Structure](/performance-management/configuring-the-chart-structure)
* [Swim Lanes](/performance-management/configuring-the-chart-structure/grouping-swim-lanes)
  {% endhint %}

Let’s explore this with an example. We have a dataset with specific IDs, but we don't have the Parent ID, Group ID, and Subtree ID included. However, we can easily create these columns in [Power Query](https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-query-overview#power-query-editor) using a few transformation steps.

{% hint style="success" %}
Reference links have been provided next to each step for your convenience, allowing you to explore more about that specific transformation if you are encountering it for the first time.
{% endhint %}

### Steps to dynamically convert your data for the Swimlane view:

1. We have a Source table with the columns Id, Title, Subtitle, and Group Name. The Group Name column represents the groups that we used for grouping to create swim lanes.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FCHXIUR6ArKnn9GtwFv06%2Fimage.png?alt=media&amp;token=5045131a-52cb-4f81-a330-58e4f67cc34f" alt=""><figcaption><p><em>Image 2: Source data structure</em></p></figcaption></figure>

2. We sort the data by "Group Name" column to ensure that unique group names are arranged in the correct sequence.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FoNHnNxMxcEwFXrDxNEBX%2Fimage.png?alt=media&amp;token=c4217df3-36b8-4e88-a8b9-30463beeefa7" alt=""><figcaption><p><em>Image 3: Data sorted by the Group Name column</em></p></figcaption></figure>

{% hint style="info" %}
Sort the Group Name column according to your requirements for preferred group order. This will ensure that the Subtree Id and Group Id are ordered according to the sorted column.
{% endhint %}

3. Add an Index column starting from 1 - [Add an index column | Power Query](https://learn.microsoft.com/en-us/power-query/add-index-column)

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FlwabcsZlhgA4XhavjDZ6%2Fimage.png?alt=media&amp;token=b2ad265c-5bca-4f71-b85b-827d6a99062e" alt=""><figcaption><p><em>Image 4: Index column added</em></p></figcaption></figure>

4. Next, we will add the "Subtree Id" column - [Add a custom column | Power Query](https://learn.microsoft.com/en-us/power-query/add-custom-column#create-a-custom-column)\
   Create a Custom Column - paste the code below as its definition and name the column as "Subtree Id":

{% code overflow="wrap" %}

```powerquery
let

        // Create a list of unique Group Name values
        UniqueGroupName = List.Distinct(#"Sorted Rows"[Group Name]),

        // Create a mapping table from Group Name values to numbers
        GroupNameMapping = List.Zip({UniqueGroupName, List.Transform({1..List.Count(UniqueGroupName)}, each _)}),

        // Convert mapping to a record 
        GroupNameRecord = Record.FromList(List.Transform(GroupNameMapping, each _{1}), List.Transform(GroupNameMapping, each _{0})),

        // Lookup the Group Name number from the record
        GroupNameNumber = Record.Field(GroupNameRecord, [Group Name]),

        // Subtree ID
        SubtreeID = "G" & Text.From(GroupNameNumber),

        // if the current row is the first in its Group Name
        CurrentGroupName = [Group Name],
        CurrentIndex = [Index],
        PreviousRows = Table.SelectRows(#"Added Index", each [Group Name] = CurrentGroupName and [Index] < CurrentIndex),
        IsFirst = Table.RowCount(PreviousRows) = 0
    in
        if IsFirst then SubtreeID else null
```

{% endcode %}

{% hint style="danger" %}
Make sure to replace the "Group Name" text in the above code with the name of the column you used for grouping.
{% endhint %}

This will result in a new column named "Subtree Id" is displayed in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FOQuRzJNcSWbczLbUWXVF%2Fimage.png?alt=media&amp;token=e20cab56-549f-40f8-bc5d-69283bcb47fc" alt=""><figcaption><p><em>Image 5: Subtree Id column added</em></p></figcaption></figure>

5. Then, we will add the "Parent Id" column - [Add a custom column | Power Query](https://learn.microsoft.com/en-us/power-query/add-custom-column#create-a-custom-column)\
   Create a Custom Column - paste the code below as its definition and name the column as "PId":&#x20;

{% code overflow="wrap" %}

```powerquery
let
            // Get the Group Name and Index
            CurrentGroupName = [Group Name],
            CurrentIndex = [Index],
            // Filter previous rows with same Group Name
            PreviousRows = Table.SelectRows(#"Added Resident Id", each [Group Name] = CurrentGroupName and [Index] < CurrentIndex),
            // If there are previous rows, get the ID of the most recent one
            PreviousID = if Table.RowCount(PreviousRows) > 0 then PreviousRows{Table.RowCount(PreviousRows) - 1}[Id] else null
        in
            PreviousID
```

{% endcode %}

{% hint style="danger" %}
Make sure to replace the "Group Name" text in the above code with the name of the column you used for grouping.
{% endhint %}

This will result in a new column named "PId" is displayed in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FPXTZaoz8hw02ajDgI959%2Fimage.png?alt=media&amp;token=08626d46-1162-404e-ae05-0d2e70e30f84" alt=""><figcaption><p><em>Image 6: Added Parent ID column</em></p></figcaption></figure>

6. Now, we will add the "Group Id" column- [Add a custom column | Power Query](https://learn.microsoft.com/en-us/power-query/add-custom-column#create-a-custom-column)\
   Create a Custom Column. Then enter double quotes in the custom formula tab to create a blank column for now. Name this column as "Group Id":

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQW6eom0x2IT44GxqMWiw%2Fimage.png?alt=media&amp;token=bf7667bc-5517-4342-a2aa-2f7e930a7dd4" alt="" width="563"><figcaption><p><em>Image 7: Group Id column definition</em></p></figcaption></figure>

This will result in a blank column named "Group Id" is displayed in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fp3hnw2RfLKNN5WwguYKl%2Fimage.png?alt=media&amp;token=a7a836bf-297d-4db4-93cb-6f06e95ec2aa" alt=""><figcaption><p><em>Image 8: Blank Group ID column added</em></p></figcaption></figure>

7. We will now perform basic transformations, such as changing data types and reordering columns, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FGrUs3sFQZWA9z6dpiiQ7%2Fimage.png?alt=media&amp;token=4cfe1157-a852-4126-98e5-156b5a1e058f" alt=""><figcaption><p><em>Image 9: Basic Transformations</em></p></figcaption></figure>

8. Now, we will create a static table to define the groups in the visual.&#x20;
   1. Click on "Enter Data" in the Home tab of Power Query Editor and input the data - [Enter Data Directly | Power BI](https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-enter-data-directly-into-desktop)
   2. Enter the same values in both the Group Id and Id columns which we got in Subtree Id during transformation.&#x20;
   3. &#x20;Now, add the Group Names to the Title column to create a suitable structure for swim lanes, leaving the remaining columns blank.

{% hint style="info" %}

* After entering the data, we will append both queries. Ensure that the structure and column names in the static table match those in the source table.
* You can choose to maintain this table in any data source of your choice and connect to the report
  {% endhint %}

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F5woKWCSgxKEM1pAtpZ5P%2Fimage.png?alt=media&amp;token=343c775c-db90-48e7-85f2-ca1207fd4a92" alt=""><figcaption><p><em>Image 10: Static Table of Groups</em></p></figcaption></figure>

9. Finally, we will append the Static Groups table to the Source table - [Append Queries | Power Query](https://learn.microsoft.com/en-us/power-query/append-queries)

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FDeCyBYYTaUHQaD9ZX1y9%2Fimage.png?alt=media&amp;token=49218f49-8a17-47f9-8ec3-184e767d72a8" alt=""><figcaption><p><em>Image 11: Appending Static Table to the Source Table</em></p></figcaption></figure>

Our data structure is now ready!

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FIUxbuDdKJWphqc0QeTOZ%2Fimage.png?alt=media&amp;token=fc098a9b-41e9-4d1c-a554-d8fb7b1d16dd" alt=""><figcaption><p><em>Image 12: Data Structure suitable for Swim Lanes</em></p></figcaption></figure>

Finally, populate the data columns in the visual to display the data in swim lanes, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FXoD7YJv6KDMPOfcUte8P%2Fimage.png?alt=media&amp;token=5560f8c5-b58f-4511-857b-2dbf8503e9de" alt=""><figcaption><p><em>Image 13: Column Group (Swim lane) View in xViz Performance Flow | Power BI</em></p></figcaption></figure>

{% hint style="danger" %}
The transformation code blocks are suited to create simple groups and linear structures of nodes within groups as displayed in the last image.&#x20;

*If the parent node is in a group, the child node will automatically be included in the same group and displayed below the parent node. To position nodes side by side within a group, skip adding Parent ID but provide the Subtree ID for both nodes.*
{% endhint %}

### Sample Report File - Columnar Group View

{% file src="/files/bNHppntBjVFvEL28SakV" %}

{% hint style="success" %}
This example is inspired by common, real-life dataset structures. Your source data structure may vary and may require additional data transformations to align with this example.
{% endhint %}

> Refer to the documentation link below for details on the group structure, which allows multiple nodes to be displayed side by side within a single group - [Data Structure for Wide Group Views](/performance-management/configuring-the-chart-structure/grouping-swim-lanes/data-structure-for-wide-group-views)


# Data Structure for Wide Group Views

This document explains the process to dynamically convert a standard data structure to the data structure required to plot a wide group view in the xViz Performance Flow visual

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FIDJW8wMK4FrqlsbjrE4c%2Fimage.png?alt=media&amp;token=ae45c996-a462-4fd1-a36e-7201a01cac65" alt=""><figcaption><p><em>Image 1: Group Structure in xViz Performance Flow</em></p></figcaption></figure>

{% hint style="success" %}
**Prerequisite** - Before proceeding with this page, please go through the following pages to ensure a comprehensive understanding of the configurations required:

* [Data Structure](/performance-management/configuring-the-chart-structure)
* [Swim Lanes](/performance-management/configuring-the-chart-structure/grouping-swim-lanes)
  {% endhint %}

Let’s explore this with an example of Warehouse Management. We have a dataset with specific IDs, but we don't have the Parent ID, Group ID, and Subtree ID included. However, we can easily create these columns in Power Query using a few transformation steps.

### Steps to create Group ID, Parent ID & Sub Tree ID in Power Query:

1. We have a Source table with the columns Id, Racks, Section, and City.&#x20;

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FNfvQscuhZbL6Kcfxe8lW%2Fimage.png?alt=media&amp;token=39eeb32a-0afd-45ba-a34c-e4fe76b2db4a" alt="" width="563"><figcaption><p><em>Image 2: Source table</em></p></figcaption></figure>

2. We can now extract the Section Column using the ["**Text After Delimiter**" option](https://learn.microsoft.com/en-us/powerquery-m/text-afterdelimiter). The delimiter in this dataset is the hyphen (-)

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fe6FRDzhBflTwEtcdUdw0%2Fimage.png?alt=media&amp;token=d0a0fcdd-8997-4409-9e9b-255eb30b0d91" alt=""><figcaption><p><em>Image 3: Extract Section Category</em></p></figcaption></figure>

This will result in a new column named "**Text After Delimiter**", where the section category is displayed, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FWJh5mHed3t97eyI40YZS%2Fimage.png?alt=media&amp;token=8ec659b8-6317-4ce2-8004-cdbf441e3745" alt=""><figcaption><p><em>Image 4: Extracted Category Column</em></p></figcaption></figure>

3. Let's create a "Warehouse Section" column that will be the group for the nodes.  We will [merge the columns](https://support.microsoft.com/en-us/office/merge-columns-power-query-80ec9e1e-1eb6-4048-b500-d5d42d9f0a8d) - **City** and **Category** with a hyphen (-) as the separator. Name the column as "Warehouse Section"

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FIbLmEttRXzhornsR09CB%2Fimage.png?alt=media&amp;token=5a5da455-8189-4d1e-8f48-ec8adf333422" alt=""><figcaption><p><em>Image 5: Merged Columns</em></p></figcaption></figure>

{% hint style="info" %}
We can use this column to create the Subtree ID. If you want to use a different column for the Subtree ID and you already have that column in your dataset, you can skip these steps.
{% endhint %}

4. Now, we define a variable that sets the number of vertical racks in each section. Simply copy the code below and paste it into the [Advanced Editor](https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-query-overview#advanced-editor) after the **Merged Columns** step.

{% code overflow="wrap" %}

```powerquery
// Define number of columns/subtree IDs of each section based on Merged column
    NumberOfColumnsByMerged = [
        #"Chicago- A1" = 4,
        #"Chicago- B1" = 3,
        #"Chicago- A2" = 4,
        #"Chicago- B2" = 2,
        #"Berlin- A1" = 3,
        #"Berlin- A2" = 2,
        #"Mumbai- A1" = 4,
        #"Mumbai- A2" = 5,
        #"Mumbai- B1" = 3,
        #"Melbourne- A1" = 3,
        #"Melbourne- B1" = 5
    ]
```

{% endcode %}

{% hint style="info" %}
You can adjust the number of racks here to modify the structure of the sections according to your needs.
{% endhint %}

5. We will now create a function to retrieve the number of vertical racks for each section based on the Warehouse Section column. Copy the code below and paste it into the Advanced Editor after the final step:

{% code overflow="wrap" %}

```powerquery
// Function to get the number of columns/subtree IDs for each Merged value
    GetNumberOfColumns = (warehousesection) => try Record.Field(NumberOfColumnsByMerged, warehousesection) otherwise 5
```

{% endcode %}

6. Add an Index column starting from 1 - [Add an index column | Power Query](https://learn.microsoft.com/en-us/power-query/add-index-column)

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FdiuSKXOoxFtDqzS0NPjS%2Fimage.png?alt=media&amp;token=980f85c6-ca63-48df-9886-da5f8ccaf1ac" alt=""><figcaption><p><em>Image 6: Add Index Column</em></p></figcaption></figure>

7. We will now add the "Subtree Id" column - [Add a custom column | Power Query](https://learn.microsoft.com/en-us/power-query/add-custom-column#create-a-custom-column)\
   Create a Custom Column - paste the code below as its definition and name the column as "Subtree Id"

{% code overflow="wrap" %}

```powerquery
let
        CurrentCategory = [Warehouse Section],
        Numberofrows = GetNumberOfColumns(CurrentCategory),

        // list of unique Section values
        UniqueSections = List.Distinct(#"Added Index"[Warehouse Section]),
        
        // mapping table from Section values to Sub Tree Id
        SectionMapping = List.Zip({UniqueSections, List.Transform({1..List.Count(UniqueSections)}, each _)}),
        
        // mapping list to a record for lookup
        SectionRecord = Record.FromList(List.Transform(SectionMapping, each _{1}), List.Transform(SectionMapping, each _{0})),
        
        // Lookup the section number from record
        SectionNumber = Record.Field(SectionRecord, [Warehouse Section]),
        
        // Sub Tree ID
        SubtreeID = "G" & Text.From(SectionNumber),

        CurrentSection = [Warehouse Section],
        CurrentIndex = [Index],
        PreviousRows = Table.SelectRows(#"Added Index", each [Warehouse Section] = CurrentSection and [Index] < CurrentIndex),
        RowCountInSection = Table.RowCount(PreviousRows),
        
        // Assign Subtree Id
        IsWithinNumberofrows = RowCountInSection < Numberofrows
    in
        if IsWithinNumberofrows then SubtreeID else null
```

{% endcode %}

{% hint style="danger" %}
Make sure to replace the "Warehouse Section" text with the name of your grouping column.
{% endhint %}

This will result in a new column named "Sub Tree Id" is displayed in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FlBND8xYQsdGmNb77DqgB%2Fimage.png?alt=media&amp;token=46fd266b-c2ea-496c-8952-ad99be8c2db3" alt=""><figcaption><p><em>Image 7: Sub Tree Id Column added</em></p></figcaption></figure>

{% hint style="info" %}
Subtree Id must be populated only for the first node of every vertical column (rack, in this case) within a group (section, in this case). Child nodes reside in the group of their respective parent nodes.&#x20;
{% endhint %}

8. Then, we will add the "Parent Id" column - [Add a custom column | Power Query](https://learn.microsoft.com/en-us/power-query/add-custom-column#create-a-custom-column)\
   Create a Custom Column - paste the code below as its definition and name the column as "PId":&#x20;

{% code overflow="wrap" %}

```powerquery
llet
    // Get the current row's Section, Index, and Id
    CurrentSection = [Warehouse Section],
    CurrentIndex = [Index],

    // Get the number of rows for the current warehouse section
    NumberofRows = GetNumberOfColumns(CurrentSection),

    // Get the first `NumberofRows` in the current section
    FirstRowsInSection = Table.FirstN(Table.SelectRows(#"Added Subtree Id", each [Warehouse Section] = CurrentSection), NumberofRows),

    // Determine the Parent Id logic
    Pid = 
        if CurrentIndex <= NumberofRows then null // First `NumberofRows` get null
        else 
            // For rows beyond the first `NumberofRows`, find the Parent Id dynamically based on prior rows in the same section
            let
                // Get all rows in the current section before the current index
                PreviousRowsInSection = Table.SelectRows(#"Added Subtree Id", each [Warehouse Section] = CurrentSection and [Index] < CurrentIndex),
                PreviousRowCount = Table.RowCount(PreviousRowsInSection),

                // Assign the Parent Id based on previous rows, ensuring index is valid
                ParentIdRow = if PreviousRowCount > 0 and PreviousRowCount - NumberofRows >= 0 then 
                                PreviousRowsInSection{PreviousRowCount - NumberofRows}[Id] 
                              else 
                                null
            in
                // Return Parent Id if there are previous rows
                if PreviousRowCount > 0 then ParentIdRow else null
in
    Pid
```

{% endcode %}

{% hint style="info" %}
Make sure to replace the "Warehouse Section" text with the name of your grouping column and "Id" text with the unqie identifier column in your data.
{% endhint %}

This will result in a new column named "Parent Id", displayed in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F9KILHfspbwJZUgeo6FJr%2Fimage.png?alt=media&amp;token=9f9ad1aa-2f8c-46bf-b2c9-0a83801fd56d" alt=""><figcaption><p><em>Image 8: Added Parent Id Column</em></p></figcaption></figure>

9. Now, we will add the "Group Id" column- [Add a custom column | Power Query](https://learn.microsoft.com/en-us/power-query/add-custom-column#create-a-custom-column)\
   Create a Custom Column. Then enter double quotes in the custom formula tab to create a blank column for now. Name this column as "Group Id":

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FVSGYKkIlX65kSNCeMUsF%2Fimage.png?alt=media&amp;token=d1dbbab7-666e-4464-8921-ec6b2cbd368c" alt="" width="563"><figcaption><p><em>Image 9: Group Id column definition</em></p></figcaption></figure>

This will result in a blank column named "Group Id" is displayed in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FgC0tOt4wnraAzT7mnzC0%2Fimage.png?alt=media&amp;token=14def18e-e81c-4cd0-af98-3e9330501f97" alt=""><figcaption><p><em>Image 10: Blank Group ID column added</em></p></figcaption></figure>

10. We will now perform basic transformations, such as changing data types and reordering columns, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FMqJqOtF91X6lH9fK2QUL%2Fimage.png?alt=media&amp;token=090e46fc-d23a-46fe-bbdd-f96439cb0fdd" alt=""><figcaption><p><em>Image 11: Basic Transformations</em></p></figcaption></figure>

11. Now, we will create a static table to define the groups in the visual.&#x20;
    1. Click on "Enter Data" in the Home tab of Power Query Editor and input the data - [Enter Data Directly | Power BI](https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-enter-data-directly-into-desktop)
    2. Enter the same values in both the Group Id and Id columns which we got in Subtree Id during transformation.&#x20;
    3. Then, add the Section Names to the Racks column to create a suitable structure for swim lanes, leaving the remaining columns blank.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FG8CxvF32dGyAK7Xy9FQZ%2Fimage.png?alt=media&amp;token=d8d9dba2-b35e-4609-aca5-1a9742bac917" alt=""><figcaption><p><em>Image 12: Static Table of Groups</em></p></figcaption></figure>

{% hint style="info" %}

* After entering the data, we will append both queries. Ensure that the structure and column names in the static table match those in the source table.
* You can choose to maintain this table in any data source of your choice and connect to the report
  {% endhint %}

12. Finally, we will append the Static Groups table to the Source table - [Append Queries | Power Query](https://learn.microsoft.com/en-us/power-query/append-queries)

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FDeCyBYYTaUHQaD9ZX1y9%2Fimage.png?alt=media&amp;token=49218f49-8a17-47f9-8ec3-184e767d72a8" alt=""><figcaption><p><em>Image 13: Appending Static Table to the Source Table</em></p></figcaption></figure>

Our data structure is now ready!

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FYBvrIWaTqDAG9vH1fdrP%2Fimage.png?alt=media&amp;token=fd20b705-bc9a-4607-95d5-301f081a0573" alt=""><figcaption><p><em>Image 14: Data Structure suitable for Wide Groups</em></p></figcaption></figure>

Finally, populate the data columns in the visual to display the data in Groups, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FIDJW8wMK4FrqlsbjrE4c%2Fimage.png?alt=media&amp;token=ae45c996-a462-4fd1-a36e-7201a01cac65" alt=""><figcaption><p><em>Image 15: Group Structure in xViz Performance Flow</em></p></figcaption></figure>

#### Download the sample report file:

{% embed url="<https://xviz.com/demos/xviz-performance-flow-warehouse-management/>" %}

{% hint style="success" %}
This example is inspired by common, real-life dataset structures. Your source data structure may vary and may require additional data transformations to align with this example.
{% endhint %}


# Invisible Group

To hide a group within a structured layout, we can set its color value to **-1**, effectively making the group invisible. This approach ensures a proper structure with correct alignment.

**Use Case Example:**

Suppose we want to group only the **Tech Team** while keeping other teams ungrouped. Without invisible groups, the alignment becomes inconsistent, as shown in the Image below:&#x20;

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FuPyZ8Nu2jfEU62irKuZr%2Fimage.png?alt=media&amp;token=5c282b60-f901-471b-995e-7e94f1a730d1" alt="" width="375"><figcaption><p>Image 1: Structure without Invisible Group</p></figcaption></figure>

By applying invisible groups to the other teams, we can hide them while maintaining a well-structured and properly aligned layout as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FVi74Tl7gBt3J74H4yPTy%2Fimage.png?alt=media&amp;token=84f63913-c095-47db-8470-b77568d3681f" alt="" width="375"><figcaption><p>Image 2: Structure with Invisible Group</p></figcaption></figure>


# Display Data in the Cards

There can be various types of information that can be displayed in the Cards/Nodes of xViz Performance Flow:

* [Title, Subtitle](/performance-management/display-data-in-the-cards/title-subtitle)
* [Images](/performance-management/display-data-in-the-cards/images)
* [Displaying KPIs](/performance-management/display-data-in-the-cards/displaying-kpis)
* [Displaying Variance](/performance-management/display-data-in-the-cards/displaying-variance)
* [Sparkline Trends](/performance-management/display-data-in-the-cards/sparkline-trends)
* [Hyperlinks](/performance-management/display-data-in-the-cards/hyperlinks)/URLs

{% hint style="success" %}
To add any more data, please refer to [Customize Template](/performance-management/card-formatting/customize-template)
{% endhint %}


# Title, Subtitle

We can start by adding a Title and Subtitle in the nodes.

There are two steps to add the additional information in the nodes:

1\.      Populate the ‘Fields’ data field with the columns

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FlZCPF1QzSatCoNPoj417%2Fimage.png?alt=media&amp;token=35f2eb26-60f2-42a4-ac43-55a22961960b" alt=""><figcaption></figcaption></figure>

Since we want to use the ‘Employee Name’ as the Title and ‘Job Title’ as the Subtitle, we have inserted both the columns in the ‘Fields’ data field.

2\.      Configure the columns with their respective roles in the ‘Map Fields’ settings

In the menu ribbon, click on the ‘Map Fields’ option:<br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FXwRq6GucDtaN5eVowutC%2Fimage.png?alt=media&amp;token=08f51e5f-8428-43a2-8784-a7022c5dbb26" alt=""><figcaption></figcaption></figure>

&#x20;

In the Map Fields menu, drag the columns from the ‘Measures’ section to the ‘Fields’ section in the respective role as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FbaUvC4riAXcCHhiuvfA9%2Fimage.png?alt=media&amp;token=ac9b1f2c-5cd0-4222-9c8c-504e12485a30" alt=""><figcaption></figcaption></figure>

Click on ‘Submit’ to apply the configuration on the visual.

The Title and Subtitle will now be displayed in the nodes of the hierarchy tree:<br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FqoIX8YSHU3DTgStc2FTQ%2Fimage.png?alt=media&amp;token=53f49dd0-fa53-4406-aeed-6efb4842d773" alt=""><figcaption></figcaption></figure>


# Images

We can provide the images using base64 URL format stored in a column for every node.

#### Steps:

Once again, this will be a two-step process:

1\.      Insert the Image column in the ‘Fields’ data field<br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FXfnB5vXqvX7HA4ZD1vYz%2Fimage.png?alt=media&amp;token=1e920cf0-6e71-4721-ab45-3f8f665691c0" alt=""><figcaption></figcaption></figure>

2\.      Use the ‘Map Fields’ menu to drag the image column in the ‘Image’ placeholder

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F0D5I0HN7y1XuseybIg2K%2Fimage.png?alt=media&amp;token=8c714c86-2c04-4a79-9593-1efde6ef9d48" alt=""><figcaption></figcaption></figure>

Click on ‘Submit’.

The nodes will now have an image associated with it as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FfSPgtLHBDDDOtx4ZSrtc%2Fimage.png?alt=media&amp;token=f7cdfc25-7a0b-4f88-bc1a-f923866a0305" alt=""><figcaption></figcaption></figure>

#### Guide for image formats:

* [Converting HTTPs link images/icons to Base 64 in Power BI](/performance-management/display-data-in-the-cards/images/converting-https-link-images-icons-to-base-64-in-power-bi)


# Converting HTTPs link images/icons to Base 64 in Power BI

If you have a column of images/icons in https links format like below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FcCG1YRvD2tvyBQITOWyN%2Fimage.png?alt=media&amp;token=4e181067-2f67-4776-a2ce-4b1e2ce9f14c" alt="" width="230"><figcaption><p>Image 1: Column of https links for images/icons</p></figcaption></figure>

Then you can convert it to base 64 URL format, which is the acceptable format by the xViz Performance Flow visual (as it is certified):

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FgbOAEC3LuDVoqwqJUgLP%2Fimage.png?alt=media&amp;token=94d7f557-388d-4fb1-895d-83defd24af12" alt="" width="325"><figcaption><p>Image 2: Columns of Base 64 URLs for images/icons</p></figcaption></figure>

### Steps to be followed in Transform Editor/Power Query:

#### Step 1: Create a Custom Function in your Power BI report -> Transform Data:

1. Home → New Source → Blank Query<br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FxM47BqHDpImViHYEBJCY%2Fimage.png?alt=media&amp;token=13a4205f-ee32-4eb5-8323-2a3e5fa4c97d" alt="" width="190"><figcaption><p>Image 3: Create a New Blank Query</p></figcaption></figure>

2. Change the name of the query to Query1 to *ImgtoBase64Url* and Click on Advanced Editor

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FozdHlEtlrcXVXITiiawI%2Fimage.png?alt=media&amp;token=4bd55b35-6fbb-429c-9a68-471dcdc3338b" alt="" width="563"><figcaption><p>Image 4: Advanced Editor option</p></figcaption></figure>

3. Paste the below code and Click on Done:

```powerquery
let
    Source = (ImageUrl as text) as text =>
let
    BinaryContent = Web.Contents(ImageUrl),
    Base64 = "data:image/jpeg;base64, " & Binary.ToText(BinaryContent, BinaryEncoding.Base64)
in
    Base64
in
    Source
```

**Note:** The prefix of "data:image/jpeg;base64, " must be adjusted as per the image extension, i.e. replace the "jpeg" with the extension of the image that you are using (eg: png, etc.)

#### Step 2: Invoke the custom function in the data:

1. Add Column → Invoke Custom Function

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FRwPNKRMJsMCkjuRIGRdF%2Fimage.png?alt=media&amp;token=a77742fe-9da3-41b3-ac2b-783964ddb562" alt="" width="367"><figcaption><p>Image 5: Invoke Custom Function option</p></figcaption></figure>

2. Add the following details in the popup:
   1. Provide a name for the new column
   2. Select the function query name “*ImgtoBase64Url*”
   3. Select the column with Images URL

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F6ut9pcW14tcCuSoK8xH6%2Fimage.png?alt=media&amp;token=751eef22-4b14-41e7-8727-f98f8194553e" alt=""><figcaption><p>Figure 2: Invoke Custom Function dialog box</p></figcaption></figure>

**Result:** This will result in a new column named "Image" which will contain the Base 64 URLs. Use this column in the xViz Performance Flow visual.&#x20;

Here is an **example** report file:&#x20;

{% file src="/files/sqhytKhGyr0BAoR5N7wR" %}

{% hint style="info" %}
If the images you are referring are of high resolution which results in over 33,000 characters in base 64 format, then you might see only partial image rendering because of the character limit in Power BI. Check out this page for the solution - [Handling long Base 64 URLs in Power BI](/performance-management/display-data-in-the-cards/images/handling-long-base-64-urls-in-power-bi)
{% endhint %}


# Handling long Base 64 URLs in Power BI

If the images are displaying partially in Power BI with the Base 64 URLs, then the reason is the character limit in Power BI. The maximum length of a text value that the Power Query engine can load into a single cell in a table in a dataset is 32,766 characters – any more than that and the text will be silently truncated.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FvtNsysyffzz39132Yfsn%2Fimage.png?alt=media&amp;token=f6a070de-97cb-48fe-ac2e-6e24acb665c1" alt="" width="563"><figcaption><p>Image 1: Images displaying partially in Power BI</p></figcaption></figure>

## Check the length of characters of the Base64 URL in Transform Editor/Power Query

To understand what the length of the Base 64 URLs for your images is, please follow the below steps:

1. Select the Base 64 column of the image
2. Add column → Extract → Length

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fx62cLxbcUi9CeXiXgSs7%2Fimage.png?alt=media&amp;token=89309fc1-3181-4735-9619-5794f1c9b789" alt="" width="545"><figcaption><p>Image 2: Extracting the length of every value for a column in Power Query</p></figcaption></figure>

3. You will now be able to see the length of the Characters of all the Base64 URLs

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FpcDoLqQhvZVRD7hDjQfs%2Fimage.png?alt=media&amp;token=95e2d924-53a3-40f8-8d55-c6f45c2070c7" alt="" width="563"><figcaption><p>Image 3: Length of Base 64 URLs in Power Query</p></figcaption></figure>

## Steps to handle long Base 64 URLs to display the full images

### Step 1: Data Type of the Base 64 URL column

Ensure that the data type of the Base 64 URL column must be "Text"

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FrTOtzDsYS3fjE1wQGx3H%2Fimage.png?alt=media&amp;token=e495f162-7395-4c80-8b89-87c0199001a2" alt=""><figcaption><p>Image 4: Data type as Text</p></figcaption></figure>

### Step 2: Transformation steps in Advanced Editor

Open the Advanced Editor of the same query for the next set of steps:

1. Click on Advanced Editor

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FYDgedwKosNdCack57Zt6%2Fimage.png?alt=media&amp;token=c04e660b-5d7c-4512-ad07-561459afae68" alt="" width="563"><figcaption><p>Image 5: Advanced Editor option in Power Query</p></figcaption></figure>

4. Copy and paste the below code in the existing steps:

<pre class="language-powerquery"><code class="lang-powerquery">   // Creates Splitter function
   #"SplitTextFunction" = Splitter.SplitTextByRepeatedLengths(30000),
   // Converts table to list
   #"Input List" = Table.ToRows(LastStepName),
   //Function to convert binary images to multiple text values
   #"Convert 1 File" = (InputRow as list) =>
     let
        BinaryIn = InputRow{1},
        FileName = InputRow{0},
        BinaryText = Binary.ToText(BinaryIn, BinaryEncoding.Base64),
        SplitUpText = SplitTextFunction(InputRow{1}),
        AddFileName = List.Transform(SplitUpText, each {FileName,_})
     in
        AddFileName,
   // Loops over all images and calls the above function
<strong>   #"Convert All File" = List.Transform(#"Input List", each #"Convert 1 File"(_)),
</strong>   // Combines lists together
   #"Combine the Lists" = List.Combine(#"Convert All File"),
   // Converts results to table
   #"Convert to Table" = #table(type table[Name=text,Base64 Img=text],#"Combine the Lists"),
   // Adds index column to output table 
   #"Added Index" = Table.AddIndexColumn(#"Convert to Table", "Index", 1, 1, Int64.Type)
in
    #"Added Index"

</code></pre>

Note: Ensure to replace *LastStepName* with the name of the last step that you see in the Advanced Editor before pasting this code

The final query should look something like as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F2GfpUNOKHVU6P8pkS2rk%2Fimage.png?alt=media&amp;token=f257273c-5ff8-4470-beab-d6b07b9fb614" alt=""><figcaption><p>Image 6: Final query look</p></figcaption></figure>

### Step 3: Creating a DAX measure to group the Base64 URL to display the images

1. Create the below DAX measure to display the images

```dax
Display Image = 
   CONCATENATEX(
        'Base64', 
        Base64[Base64 Img],
        , 
        Base64[Index],
        ASC)
```

2. Add the DAX measure in the Performance Flow visual and display the images

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FBmNEmciVt7qPsbqJ51g6%2Fimage.png?alt=media&amp;token=6fb661f7-8882-4162-93d7-9e5642092caf" alt="" width="563"><figcaption><p>Image 7:High-resolution Images in xViz Performance Flow visual</p></figcaption></figure>


# Displaying KPIs

We can add a metric as a display KPI value for every node. In the given example, the salary of every employee is an essential KPI.

Simply insert the KPI measure the in the ‘Values’ data field of the visual:<br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fm7TDybWSFRfWLthCweo0%2Fimage.png?alt=media&amp;token=a8ea488e-25df-42e2-b687-ec05263eb385" alt=""><figcaption></figcaption></figure>

Every node will have the KPI value displayed as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F42eO1hu7eBxrnNtMcbbp%2Fimage.png?alt=media&amp;token=e4985a8e-a2c0-4dd0-be71-43118f6eca44" alt=""><figcaption></figcaption></figure>

### Subtotals in xViz Performance Flow:

The xViz Performance Flow offers a Power BI Aggregation feature that enables the aggregation of values based on Power BI's modeling capabilities.

### Steps to Configure the Power BI Aggregation

1. Navigate to the “Display” option in the top ribbon.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fp13GYet3wyz0L7phInXH%2Fimage.png?alt=media&amp;token=7fcff22d-dff6-4068-8591-a2e82251a512" alt="" width="347"><figcaption></figcaption></figure>

2. Click on “Number” Tab and enable the "Power BI Aggregation" toggle.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F9YMHosiscJf7iNpswYr4%2Fimage.png?alt=media&amp;token=383bc34d-8403-44e2-8374-171c5c8a09f5" alt="" width="206"><figcaption></figcaption></figure>

As a result, you can apply Power BI Aggregation to the values in the nodes based on Power BI modeling as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FoKIiCg5Bha8WJZ1TpXkJ%2Fa%20subtotal.gif?alt=media&amp;token=7351080a-7be6-4eb5-9e8e-6f97d2fd547c" alt="" width="563"><figcaption></figcaption></figure>

### Subtotals in xViz Performance Flow for Multiple Column Hierarchy:

The xViz Performance Flow provides a **Power BI Aggregation** feature that enables value aggregation based on Power BI’s modeling capabilities for multiple column categories.

When **Power BI Aggregation** is selected, all parent nodes (including the root node, if enabled) will be aggregated according to the **Power BI model subtotal API**.

If a different aggregation option is selected, the aggregation will follow the chosen method instead.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQLVMK5mo0tf37rApKXtQ%2Fa%20subtotal%20mcc.gif?alt=media&amp;token=c1b886c3-869b-46e2-9953-70da9d7d1b97" alt="" width="563"><figcaption></figcaption></figure>


# Number Formatting

Let’s apply the formatting to the numbers. In the given example, since we have plotted Salary numbers, let’s apply the currency formatting to it.

The steps will be as follows:

1\.      Navigate to the ‘Display’ option in the top ribbon<br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FwKsPSYIDPwR0X2dscP1G%2Fimage.png?alt=media&amp;token=5615687a-3c29-42b2-94e5-ed70f0fade8f" alt=""><figcaption></figcaption></figure>

2\.      Click on the ‘Number’ tab

3\.      Configure the settings at global level and for individual metrics level

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FVRnuo01OcnWo1ga42fVr%2Fimage.png?alt=media&amp;token=36cd40a1-1120-4c62-ae07-c4c70dc4ba1f" alt=""><figcaption></figcaption></figure>

For currency, we have set the prefix as ‘$’ for our example.

The KPI now has the formatting applied:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FJr96Y9HlrSSyF67lsN3y%2Fimage.png?alt=media&amp;token=cce0b994-889d-4e09-9ffd-c64a1597a900" alt=""><figcaption></figcaption></figure>


# Displaying Variance

We can display the variance of the KPI value to another benchmark or comparative value.

Insert the comparative value in the ‘Values’ data field:<br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FAeIdEcfI6joxHup9qEpT%2Fimage.png?alt=media&amp;token=a27fb63a-7367-4ac4-8f75-5c91d96ba8e9" alt=""><figcaption></figcaption></figure>

We can now see a variation shown along with the KPI value:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FOH3Q4m1EKxV8BecfC3RM%2Fimage.png?alt=media&amp;token=66c73856-d1fd-4f0f-ad2c-9ece057d5db3" alt=""><figcaption></figcaption></figure>

We can choose which of the metrics in the ‘Values’ field must be the KPI and Variance from the KPI/Variance dropdowns in the top ribbon.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F656TcMwGFDIi74AAESqx%2Fimage.png?alt=media&amp;token=a1df8ac1-cf1d-4459-b1c0-6b015b6e7a08" alt=""><figcaption></figcaption></figure>


# Sparkline Trends

In addition to showing the KPIs and Variance to a benchmark, we can also visualize the trend of a KPI.

Insert a Category in the ‘Sparkline’ data field which will be the X-axis:<br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FMSE6w0So2TKwWaNWVdvv%2Fimage.png?alt=media&amp;token=1eba5aac-38db-4eff-aefa-85f140e18dd7" alt=""><figcaption></figcaption></figure>

Let’s also add a third metric for Employee Performance in the ‘Values’ data field:<br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fbx1GERjdxGzpKxSXnJjR%2Fimage.png?alt=media&amp;token=688d2664-80ff-47ab-adca-461fad4aef43" alt=""><figcaption></figcaption></figure>

By default, all the measures in the ‘Values’ field will be plotted in the Sparkline:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FpNI2UVXdMr6Xt1r3Tp0u%2Fimage.png?alt=media&amp;token=04e8dd60-5b40-40e1-863c-968789dd3349" alt=""><figcaption></figcaption></figure>

We can select the measures to be used in the Sparkline using the Sparkline ‘Settings’ in the top ribbon menu:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FwUeKsZQoxRcfXgdR65Bm%2Fimage.png?alt=media&amp;token=a2205e54-13be-47e0-8f3f-fbb8f1f12e24" alt=""><figcaption></figcaption></figure>

For our example, let’s plot only ‘Performance Score’ in the Sparkline as shown in the above settings. The visual now looks as shown below:<br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FdTLmtGEAGuL5chSoFdCV%2Fimage.png?alt=media&amp;token=f15d198f-9edb-44da-ae10-d5d3a12eb02f" alt=""><figcaption></figcaption></figure>

We can also change the ‘Chart Type’ to change the line chart of the sparkline to an alternate visualization:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FDgwQwD9XoPyV94wvy6yS%2Fimage.png?alt=media&amp;token=4d5bccaa-a1be-41dd-908e-416d793fb589" alt=""><figcaption></figcaption></figure>

Additional configurations for the sparkline are provided here:<br>

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fjr6GUWDnPpSjfexKEdlw%2Fimage.png?alt=media&amp;token=fca65097-a6e9-4eb3-beda-c4c3e5ad8bdf" alt=""><figcaption></figcaption></figure>

For our example, we have set the Chart Type to Area Chart. And enabled Marker for all datapoints.


# Hyperlinks

The xViz Performance Flow includes a hyperlink feature that allows users to navigate directly to relevant URLs within the hierarchical structure. Each node in the hierarchy can be assigned a unique hyperlink, enabling seamless access to external information of each node.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FzVfJi9nufj2QIWb13Ij1%2FURL.gif?alt=media&amp;token=b7dd537d-6499-4ab6-8d35-3f046d91f957" alt="" width="563"><figcaption><p>GIF 1: External Hyperlink in xViz Performance Flow</p></figcaption></figure>

To configure links in xViz Performance Flow, you must start with [#configuring-the-web-urls](#configuring-the-web-urls "mention") . You can further [#configure-hyperlinks-via-conditional-formatting](#configure-hyperlinks-via-conditional-formatting "mention")

### Configuring the Web URLs

1. The URL column in the dataset is necessary to use the Hyperlink feature in the Performance Flow,

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FVgkWshS9OlOEHo2zm0m7%2Fimage.png?alt=media&amp;token=21689056-7fc2-4c21-9e4c-b4685f0cc795" alt="" width="563"><figcaption><p>Image 1: URL column in the dataset</p></figcaption></figure>

2. Ensure the URL column Data Category in the dataset is set to Web URL format to enable proper hyperlink functionality in Performance Flow as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FMU3GMdJ2soBaV8tfED5F%2Fimage.png?alt=media&amp;token=e8151f78-300a-4bff-9d5b-4a52ec8aae6c" alt="" width="563"><figcaption><p>Image 2: Set Data category as Web URL</p></figcaption></figure>

{% hint style="success" %}
For more details on how to change the Data category, here are the steps to [Format a URL as a hyperlink in Power BI Desktop](https://learn.microsoft.com/en-us/power-bi/create-reports/power-bi-hyperlinks-in-tables?tabs=powerbi-desktop#format-a-url-as-a-hyperlink-in-power-bi-desktop)
{% endhint %}

3. Populate the "URL" column in the "Fields" data field.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQziYZR6Xzkg5lWeehl8R%2Fimage.png?alt=media&amp;token=1b1a6af7-8f01-4455-af20-d9f6fb07e58a" alt="" width="180"><figcaption><p>Image 3: Populate the URL column</p></figcaption></figure>

4. To access an external hyperlink for a specific node, hover over the node, click the ellipsis icon in the top-right corner, and select "Web URL" from the menu, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FxKbY43LflAQAYmZbrqw6%2Fimage.png?alt=media&amp;token=c2acebdf-90ce-44c3-9bb3-65ac99220b58" alt="" width="315"><figcaption><p>Image 4: Web URL</p></figcaption></figure>

Finally, a pop-up titled **"**&#x4F;pen Browse&#x72;**"** will appear, simply click "OK" to proceed.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FYOAEXHlmrD2T7EmJPnVZ%2Fimage.png?alt=media&amp;token=acafcc0e-96e1-4265-a2a1-c37afc91da0a" alt="" width="375"><figcaption><p>Image 5: Open Browser</p></figcaption></figure>

As a result, clicking the "OK" will open the linked resource, providing additional insights related to the selected node, as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FzVfJi9nufj2QIWb13Ij1%2FURL.gif?alt=media&amp;token=b7dd537d-6499-4ab6-8d35-3f046d91f957" alt="" width="563"><figcaption><p>GIF 2: External Hyperlink in xViz Performance Flow</p></figcaption></figure>

### Configure Hyperlinks via Conditional Formatting

To embed the links within the node in the form of an icon or to embed on a text:

1. Click on "Conditional Formatting" option in the "Analyze" section of the top ribbon:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FXD2MCf8EGEYDVeZYecoR%2Fimage.png?alt=media&amp;token=6d19d943-9d8b-45f5-8548-c11ae24e5d6c" alt="" width="274"><figcaption><p>Image 6: Click on Conditional Formatting</p></figcaption></figure>

2. Add new rule and select the Format by as Wen URL as shown in the Image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FiKvREo6R3vWERO2pOn9A%2Fimage.png?alt=media&amp;token=8c7ee4ed-8556-46b7-9772-6f630b3baf38" alt="" width="285"><figcaption><p>Image 7: Format by Web URL in Conditional Formatting</p></figcaption></figure>

{% hint style="info" %}
The Web URL option in conditional formatting is available only when a column categorized as Web URL is populated.
{% endhint %}

3. Select the URL column in the "Based on" option for the hyperlink condition as shown image below. You should select the URL column in this option:&#x20;

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FfxRf0odwBka0eG8XrZeM%2Fimage.png?alt=media&amp;token=0b913040-931a-4007-bb99-b43751eee410" alt="" width="277"><figcaption><p>Image 8: Select URL column using Based on option</p></figcaption></figure>

4. Select the column name in the "Apply to" option to set the column text in the node on which the hyperlink must appear, as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FkmHWABKm051wwNUUwwUN%2Fimage.png?alt=media&amp;token=8d2e9f88-0150-4652-b564-b5276ca6c0a4" alt="" width="274"><figcaption><p>Image 9: Select column to Apply hyperlink</p></figcaption></figure>

5. Configure the Style of the hyperlink as shown image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FUPYRp9Oysv22ed6Z89SF%2Fimage.png?alt=media&amp;token=366c86a8-7368-4970-a52b-e0c6fe9736d3" alt="" width="273"><figcaption><p>Image 10: Style the hyperlink</p></figcaption></figure>

Next, click on the node text where the Web URL condition is applied as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FIylWJF4Kh4bnQimmsQKg%2Fimage.png?alt=media&amp;token=096d96ac-5d05-4780-a11d-89774e42e7a9" alt="" width="349"><figcaption><p>Image 11: Click on hyperlink text</p></figcaption></figure>

Finally, a pop-up titled **"**&#x4F;pen Browse&#x72;**"** will appear, simply click "OK" to proceed.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FYOAEXHlmrD2T7EmJPnVZ%2Fimage.png?alt=media&amp;token=acafcc0e-96e1-4265-a2a1-c37afc91da0a" alt="" width="375"><figcaption><p>Image 12: Open Browser</p></figcaption></figure>


# Card Formatting


# Data-Driven Color

1\.      **Node color and Border color** for a node can be provided in column containing hex codes as shown below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FxoRD0uCqdxFJkDsG7dhs%2Fimage.png?alt=media&amp;token=b7b32d07-672e-4a06-a220-f3b70963881e" alt=""><figcaption></figcaption></figure>

Insert the column in the “Fields” data field and map it in the Appearance section.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F3xk6fEu3oiST2laABxE0%2Fimage.png?alt=media&amp;token=ebac1e99-d82b-4527-89ae-008695643aaa" alt=""><figcaption></figcaption></figure>

The colors will now be applied and will be shown in the Legend. The labels for the colors can be edited in the Legend

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FMJonbVFMBOdZ08pwROY7%2Fimage.png?alt=media&amp;token=461fc295-c6a0-4e3f-92af-25c4d499969a" alt=""><figcaption></figcaption></figure>

&#x20;This feature is to apply conditional formatting via data driven conditions.

&#x20;

2\.      **Node Icons**

Provide publicly accessible https URLs or Base64 URLs for node icons in a column and label for the icons in another column. The labels will be used in the Legend for the icons.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FodElH7VJzyzcj6aziZYc%2Fimage.png?alt=media&amp;token=8d72b57d-00c8-4642-901d-3d7774276fec" alt=""><figcaption></figcaption></figure>


# Templates

The visual contains a bunch of interesting, **predefined templates** for the view of the nodes:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Falo30qqYYB6bYQHiqo7x%2Fimage.png?alt=media&amp;token=2da043ec-1f1a-4e1b-bd73-4254cf1f8e29" alt=""><figcaption></figcaption></figure>

Any of the following templates can be applied to the visual:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FKQ0DFJvFRyrmrnxDqSdd%2Fimage.png?alt=media&amp;token=1b86dd36-4d43-4e0c-98e7-ef44cff72df6" alt=""><figcaption></figcaption></figure>


# Customize Template

The xViz Performance Flow offers customized editing on predefined templates tailored to your preferences.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FYbfLwohhFrNrj8dcJ4Td%2Fimage.png?alt=media&amp;token=d07bd67e-2e88-4915-ba09-1572ac6bec75" alt="" width="375"><figcaption><p>Image 1: Custom Template</p></figcaption></figure>

{% hint style="danger" %}
Not supported when hierarchy is created using [/pages/uYwhBvTuSbkw6KIO6ZXo#id-2.-multiple-category-columns](https://docs.xviz.com/performance-management/card-formatting/pages/uYwhBvTuSbkw6KIO6ZXo#id-2.-multiple-category-columns "mention") data structure
{% endhint %}

{% hint style="warning" %}
Note that clicking on another template will result in losing the edits made in the existing template. It is strongly advised to export the customized template immediately after making the changes to avoid any rework.&#x20;

Refer [Import/Export](/performance-management/card-formatting/customize-template/import-export) to export the customized template.&#x20;
{% endhint %}

### Steps to do custom editing on predefined template

1. Navigate to the “Template” option in the top ribbon.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FLb1Rk9rE26vS7bQzX2gT%2Fimage.png?alt=media&amp;token=24b53179-53de-40e4-b0a8-37bc67b2fc53" alt="" width="300"><figcaption><p>Image 2: Template option in ribbon</p></figcaption></figure>

2. Hover over the Template and Click on the "Marker" icon located at the top-right corner of the template.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FZAbd6t9hXoxvsdQJAcwD%2Fimage.png?alt=media&amp;token=f87a6e52-dd1c-4b55-a70c-54221d277a98" alt="" width="241"><figcaption><p>Image 3: Click on "Marker" Icon</p></figcaption></figure>

3. You can then edit the template as needed.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FYbfLwohhFrNrj8dcJ4Td%2Fimage.png?alt=media&amp;token=d07bd67e-2e88-4915-ba09-1572ac6bec75" alt="" width="375"><figcaption><p>Image 4: Custom Template</p></figcaption></figure>


# Insert additional data

1. Ensure that the data you want to display in the Card has been inserted in the "Values" or "Fields" data fields of the visual
2. Use [/pages/CtQTgAQwtaaJjWyK58CL#id-2.-split](https://docs.xviz.com/performance-management/card-formatting/customize-template/pages/CtQTgAQwtaaJjWyK58CL#id-2.-split "mention") to create a new section in the template
3. "@" function for data columns/measures

Select the section in the template, type "@", and a menu will appear with available values. Then select the value you want to display.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F25QqFeXgYlMFRlPlavof%2Fimage.png?alt=media&amp;token=bf79ac7d-9f04-4d4f-85c7-ffea50ec91a8" alt="" width="375"><figcaption><p>Image 4: "@" function</p></figcaption></figure>

The template appears as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2F7qPhSgX0Zk2F3NiZ787o%2Fimage.png?alt=media&amp;token=2332ff37-f722-4636-bc1e-83e0b8b9719f" alt="" width="375"><figcaption><p>Image 5: Template after using "@" function</p></figcaption></figure>

3. (Optional) Use Dynamic options to configure images/sparklines:

Select the value in the template and choose the desired type for that value from the available options.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FMaSwqnwC4IeZRK56fs3X%2Fimage.png?alt=media&amp;token=a5686a5a-f01e-4a21-a605-ed66c6f77375" alt="" width="375"><figcaption><p>Image 2: Dynamic option</p></figcaption></figure>

After selecting the value type, the template appears as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FfEKoAtR2dlc7BaSbyUwS%2Fimage.png?alt=media&amp;token=1912f8c1-b0b9-4025-b282-7836148672ba" alt="" width="375"><figcaption><p>Image 3: Template after dynamic option</p></figcaption></figure>


# Alignment

We can align and reposition values in the custom template using the "Align" and "Position" options.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Fgars6T5FH8IAy7Vrndqc%2Fimage.png?alt=media&amp;token=b1ab326d-cfd2-4055-bc74-8ddb9465182c" alt="" width="375"><figcaption><p>Image 1: Alignment option</p></figcaption></figure>

### 1. Align

Select the value in Template, click on "Align," and then choose your preferred option to adjust its alignment accordingly.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FMTm0B1xpeyjsJe9FPjJV%2Fimage.png?alt=media&amp;token=b2577ff5-b61e-4a47-8043-3cce99ad5681" alt="" width="375"><figcaption><p>Image 2: Align option</p></figcaption></figure>

### 2. Position

Select the value in Template, click on "Position," and then choose your preferred option to adjust its position accordingly.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FJ1xyFk95NXylgZ3ivMkC%2Fimage.png?alt=media&amp;token=f0d4760f-811c-48e6-8323-76329166fc0b" alt="" width="375"><figcaption><p>Image 3: Position option</p></figcaption></figure>


# Wrap Text

The Word Wrap feature in the Custom Template ensures that text is displayed efficiently within a container

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FdCL9s0EXZ8hRj3HznLwT%2F0.png?alt=media" alt=""><figcaption><p>Image 1: Wrap text option in the Custom Template window</p></figcaption></figure>

**Key Benefits of Word Wrap:**

* Helps in handling long or oversized text efficiently.
* Ensures text remains visible without breaking the layout.
* Provides flexibility by allowing users to either wrap text within the container or display an ellipsis (...) for overflow text.

How to use Word Wrap:

1. **Add Text to the Container**
   * Click on the container where you want to enter text.
   * Input a long text string
2. **Enable Word Wrap**
   * Select the container.
   * Click on the **Word Wrap** option to adjust the text layout within the container.
   * If the text is too long for the container, it will automatically wrap to fit within the available space.
3. **Managing Long Text Entries**
   * If the text exceeds the container size, an **ellipsis (...) icon** will appear, indicating that some content is hidden.
   * To view the full text, you can either: Expand the container size to accommodate the full text.

Hover over or interact with the ellipsis icon (if applicable) to reveal the hidden portion.

<img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FPqhzmVQai83xw23OcHGd%2F1.gif?alt=media" alt="GIF 1: Wrap Text" width="563">


# Styling

We can style values in the custom template using the "Background," "Border," and "Shadow" options.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FSSUoSmohcQ6ubH9Erdfv%2Fimage.png?alt=media&amp;token=a088b3ef-e473-4443-aad7-72366a815cc9" alt="" width="375"><figcaption><p>Image 1: Styling option</p></figcaption></figure>

### 1. Background

Select the value in the template, click on "Background," and then choose the color you would like to apply behind the value.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FJuyDSZQfMx9c8srfnWJF%2Fimage.png?alt=media&amp;token=836f7fc7-da08-47ae-a91a-20cd1a947c8f" alt="" width="375"><figcaption><p>Image 2: Choose Background Color</p></figcaption></figure>

After selecting a background, the template appears as shown in the image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FWYojWOLBEtW7ZaW4g3m3%2Fimage.png?alt=media&amp;token=a9e3689f-397e-4de8-b310-17f9ff403d3a" alt="" width="375"><figcaption><p>Image 3: Template after selecting background color</p></figcaption></figure>

### 2. Border

Select the value in the template, click on "Border," and configure the weight, corner radius, and color options for the selected value.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2Frn3WTjaFN6hdYNmy543c%2Fimage.png?alt=media&amp;token=06a947e2-3032-4105-a9b0-0c600b0ae719" alt="" width="375"><figcaption><p>Image 4: Border Configuration</p></figcaption></figure>

After Border configuration, the template appears as shown in image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FcnXrNNCXDOU6fRFMmnIs%2Fimage.png?alt=media&amp;token=d33c0508-2202-46ac-95bc-45dde93c5eec" alt="" width="375"><figcaption><p>Image 5: Template after border configuration</p></figcaption></figure>

### 3. Shadow

Select the value in the template, click on "Shadow," and then choose the shadow style and color you would like to apply around the value.

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FQ78ievbwrZCxhnBS99LL%2Fimage.png?alt=media&amp;token=f5bcc223-f674-401a-9f55-4026e36fbffd" alt="" width="375"><figcaption><p>Image 6: Shadow style and color</p></figcaption></figure>

After applying Shadow style and color, the template appears as shown in image below:

<figure><img src="https://382510089-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIuuIZWiXEx25eV75hmmJ%2Fuploads%2FXjc60NdBXylWGYhb1NLz%2Fimage.png?alt=media&amp;token=660172ee-c79c-4c2e-b816-63a413571bec" alt="" width="375"><figcaption><p>Image 7: Template after shadow style</p></figcaption></figure>




---

[Next Page](https://docs.xviz.com/llms-full.txt/1)

