Skip to main content

PowerGantt Setup and Usage

This topic covers the fundamental aspects of creating a write-back capable report using the PowerGantt visual.

Setup and configuration of the visual

This main section describes the available configuration options for PowerGantt. Also, the following pages describes a short step by step instructions for building a simple report using it. You will find the details of the configuration elements later in this document, it is recommended that while you are going over the steps you also look up each mentioned option.

Validate the Write-back Service

After installation you might want to be sure that the write-back service is installed properly. You can validate that by navigating to your deployed URL, which is in the following format:

http(s)://yourserverName/PPWebService/PPWebService.svc

If you see the following page after the page load, then the Write-Back Service is up and running:

Setting up the Basics

After you launched Power BI Desktop, connected to a data source and imported the visual into your report, the first step is to tell the visual where can it find the write-back service and which connection should it use during the process. The configuration options will appear in the Format section of the Visualizations after you dropped in the first column to the visual. You must complete the following steps in order to have a working report element for the write-back functionality.


Starting with Data Entry, you must set the Web Service, Type and Connection properties (see referring chapters) to make the write- back service working.

Publishing and Testing the Report

When you finished your report, publish it to either your on-premise Power BI Report Server, or to PowerBI.com. The write-back works dependably only, if your report is published. So, you cannot test the full functionality in Power BI Desktop while you are authoring it. After publishing your report try to modify a value and click on ’Save Changes’ button. To validate that your changes have been committed to the database, connect to your underlying database where your table can be found with a tool like SQL Server Management Studio, and execute a SELECT * FROM yourTable statement to see the content of the table. Your modification should be visible there as well as in your report.

Completing the above steps, you should have a working, simple, write-back capable report using PowerGantt visual.

The following pages cover more detailed configuration options as well as typical use-cases that you might find useful for your needs.

Configuration Options

This chapter contains detailed description of the available configuration options for PowerGantt visual.

Data Entry

This section contains the configurations regarding the main behavior of the visual.

Web Service

Here you must set the write-back service URL which should point to the hosting machine – or app service – where it has been installed. Typical URL is:

http(s)://WEBSERVICE_COMPUTER_NAME/PPWebservice/PPWebservice.svc

Be careful not to have an extra slash at the end of the URL.

Type

This option is referring to the connection type that the write-back service uses. The setting is required.

  • SSAS Datasource: Set a connection name in the Connection property defined in the web.config of the webservice
  • SQL Datasource: The connection is set in the PPWebService web.config and you will have to refer it by its name in the Connection property
  • SSAS: Set the connection string directly in the Connection property (leave the connection blank if using the default "SSASConnection" in set in the web.config of the webservice)
  • SQL: Set the connection string directly in the Connection property (leave the connection blank if using the default "SQLConnection" in set in the web.config of the write-back service)

These last two options are used for testing, developing purposes first.

Connection

Specify Name of the SQL or SSAS connection defined in the web.config file of the webservice, or the connection string directly, or leave blank depending on the Type setting.

Customer

Customer name provided by us along with the License server license key. If already specified in the web.config file (generally, you don’t have to set this at it is done by the setup), leave blank. If you are sharing one webservice between multiple license keys, specify here the customer key you want to use.

Domain

Set it to one of the following. Generally, this should be left blank as it is configured in the write-back service web.config file during setup.

  • the fixed the name of the internal domain used (e.g.: DOMAIN)
  • auto: use the domain part (part after @) of the powerbi.com user
  • auto-short: use the short domain part (part after @ and before the .) of the powerbi.com user
  • azure: use the full powerbi.com username (e.g.: user@domain.com) for Azure Active Directory authentication
  • leave empty for no domain (e.g.: for a SQL authentication user)
  • SQL=…, SSAS=… set domain options for SQL and SSAS separately
  • Custom user mapping of powerbi.com users to SQL and SSAS users can be set up in the UserMapping table in the SQL database (should contain User, SQLUser, SSASUser varchar columns). For more information please visit: https://support.poweronbi.com/portal/kb/articles/custom-user-mapping-when-using-powerbi-com-service

Windows Authentication

If you are in an on-premise environment using Power BI Report Server and Windows Authentication is turned on in the IIS for the write-back service this setting must be turned on, so that the Windows credentials can be passed back to the underlying data source. If you are completely in the cloud - your reports are published to PowerBI.com service - and you are using Azure AD, the setting should be turned off, so that AD credentials will be used when accessing the data source.

In case of Gateway by turning on Windows Authentication will have the following effects: Instead of setting the PowerBI.com credentials in the write-back service request, the visual posts the Windows login context. This value (e.g.: domain\user instead of username@domain.com) will be set if you use USERNAME() in computed and/or default value columns (see later in this document) as well in SQL context variables. Also, this makes possible to use impersonation, and it is necessary to be turned on if Windows Authentication is set in IIS for the write-back service.

Source Table

It is important that you configure this property correctly as misconfiguration can lead to save errors. Please read this chapter carefully.

This property tells the write-back service which table should be the target for data modifications. The name of the write-back target table needs to be entered here. Note, that the property is case sensitive! For example, if you put fields into the visual from the Product table, this property value should be Product as you want to save the modifications to the product table.

You should not rename tables or columns in your report. If you need to change the visual representation of a column, you can use the Title property for the column under Column Properties group.

In case of SSAS data source the value must be the name of the entity exactly how it is specified in the model.

In case of SQL only data source the value must be the name of the SQL table that is being used with the visual.

In case of SQL connections when the table is in a different schema then dbo, you need to make some adjustments. When you import a table with a schema to a report, Power BI automatically renames the table for you. For instance, if you are importing hr.SalesPerson table, in the Fields section you will see it renamed something similar like ”Hr Sales Person”. Because of this operation, PowerGantt visual will not be able to determine on which table it should initiate the write-back process. Please do the followings to overcome this situation:

  1. Rename the table in the Fields list so that it contains exactly the actual SQL table name without the schema name (in the example it is SalesPerson)
  2. Remove and re-add the columns to your PowerGantt visual
  3. Enter into the Source Table property the full qualified table name in the format of: schema.table (in the example it is hr.SalesPerson)

Gantt Style

Here you can find the basic coloring settings considering all tasks and/or milestones.

Task Font Color

The font color of all tasks.

Task Background Color

The background color of all tasks.

Progress Color

The progress color of all tasks.

Milestone Background Color

The background color of all milestones.

Responsible Font Color

The responsible font color of all tasks and milestones

Responsible Background Color

The responsible background color of all tasks and milestones.

Comment Font Color

The comment font color of all tasks and milestones.

Comment Background Color

The comment background color of all tasks and milestones.

It is important to know, if you set a color in the pop-up container (see later: modal) of a task or milestone, that color will be applied to that element specifically, not all of them.

Color Palette that you can use:

Gantt settings

Auto Scheduling

Re-calculates the position of tasks depending on their constraint types.

Scheduling is an ability to schedule tasks automatically depending on relations between them. Auto Scheduling recalculates the schedule of the project.

e.g.: Let‘s assume you have two tasks connected by a dependency link saying the second task starts when the first one ends, and you need to change the schedule of the first task by moving it to a new date.

Auto scheduling calculates the start date of the second task update according to the end date of the first task each time when it changes. This feature allows you to generate and maintain a project schedule by specifying relations between tasks without setting each task dates manually.

Today Marker

A red horizontal line showing you the current date in the timeline.

Critical Path

Highlighting with red the critical tasks/ milestones and links in your project.

A critical path is a sequence of tasks that cannot be delayed. Otherwise, the whole project would be delayed.
The critical path also determines the shortest time the project can take.

A task is considered critical if it has no days of slack and any delay would directly affect the project completion date.
Slack time is the time that a task can slip without affecting other tasks or the project's completion date.

It is a cornerstone in project management, which determines vital tasks and the minimum duration of the whole project. Tasks that cannot be postponed are highlighted in red.

Snap To Scale

When you drag or resize a task/ milestone, its starting date will snap to the closest column in the timeline.

Predecessors


Showing the Work Breakdown Structure (WBS) code of the parent task and the type of links between them. (A WBS is a decomposition of a project into parts. It is usually hierarchical in nature. It can provide a valuable link to other management and administrative elements of projects.)

Possible values:

  • SS = Start to Start
  • SF = Start to Finish
  • FF = Finish to Finish
  • number[.number[.number]] = Finish to Start, where the number is the number of the (sub)task

Row Height

Sets the height of the rows.

Task Name Min Width

Sets the minimum width of the Task name column in the grid. If you resize the grid, it might be wider.

Header Height

Sets the height of the header.

Date Format

The default date format is MM/dd/YYYY, e.g.: May/24/2021.
It is possible to change the date format:

American:     MM/dd/YYYY    (e.g.: May/24/2021)     OR    mm/dd/YYYY    (e.g.: 05/24/2021)

    MM-dd-YYYY    (e.g.: May-24-2021)     OR     mm-dd-YYYY    (e.g.: 05-24-2021)

European:     dd/MM/YYYY    (e.g.: 24/May/2021)     OR    dd/mm/YYYY    (e.g.: 24/05/2021)

            OR    dd.mm.YYYY    (e.g.: 24.05.2021)

            OR    YYYY-mm-dd    (e.g.: 2021-05-24)

Debug

Diagnostic Mode

By default, Diagnostic Mode is disabled, so the whole content of Debug property group is disabled.

Turning it on reveals all of the debug settings. These settings are for debugging and developing purposes.

Working with PowerGantt Visual

Buckets and Fields

You can think of the data structure of the Gantt chart as a table, where each row represents a task, milestone or link and each field you assign to buckets represents one column thus one cell in each row.

It is important to note that many features work only, if you assign fields to the corresponding buckets. E.g.: you will not be able to save parent-child relationships, if you do not have a field in the Task Parent ID bucket.

Task ID

The ID of the tasks, links and milestones.
It is required to add it to the chart Fields.
The field type is integer.

Task Description

The description of the tasks and milestones.
It is required to add it to the chart Fields.
The field type is text.

Type

The type of the saved entities/ rows, e.g.: “task” or “milestone”.
It is required to add it to the chart Fields.
The field type is text.

Task Start Date

The start date of the tasks or milestones.
It is required to add it to the chart Fields.
The field type is date.

Task End Date

The end date of the tasks and milestones.
It is not required to add it to the chart Fields.
The field type is date.

Task Duration

The duration of the tasks in days.
It is not required to add it to the chart Fields.
The field type is integer.

Task % Complete

The progress of the tasks, expressed as a percentage, e.g.: 0.4 = 40%
It is not required to add it to the chart Fields.
The field type is float.

Constraint

The constraint type of tasks.
It is not required to add it to the chart Fields.
The field type is text.

Constraint Date

The constraint date of tasks.
It is not required to add it to the chart Fields.
The field type is date.

Task Parent ID

The ID of the parent of tasks, milestones and links.
It is not required to add it to the chart Fields.
The field type is integer.

Task Responsible

The responsible of the tasks, milestones or links.
It is not required to add it to the chart Fields.
The field type is text.

Task Comment

The comment of the tasks, milestones or links.
It is not required to add it to the chart Fields.
The field type is text.

Task Font Color

The font color of the tasks. Must be in one of the following formats:

  1. rebeccapurple
  2. #00ff00
  3. rgb(214, 122, 127)

It is not required to add it to the chart Fields.

The field type is text.

Task Background Color

The background color of the tasks. The format must be the same as in Task Font Color.
It is not required to add it to the chart Fields.
The field type is text.

Task Progress Color

The task progress color of the tasks. The format must be the same as in Task Font Color.
It is not required to add it to the chart Fields.
The field type is text.

Task Responsible Font Color

The responsible font color of the tasks. The format must be the same as in Task Font Color.
It is not required to add it to the chart Fields.
The field type is text.

Task Responsible Background Color

The responsible background color of the tasks. The format must be the same as in Task Font Color.
It is not required to add it to the chart Fields.
The field type is text.

Task Comment Font Color

The comment font color of the tasks. The format must be the same as in Task Font Color.
It is not required to add it to the chart Fields.
The field type is text.

Task Comment Background Color

The comment background color of the tasks. The format must be the same as in Task Font Color.
It is not required to add it to the chart Fields.
The field type is text.

Link Source

The ID of the tasks or milestones from which links start.
It is not required to add it to the chart Fields.
The field type is integer.

Link Target

The ID of the tasks or milestones to which the links point.
It is not required to add it to the chart Fields.
The field type is integer.

Link Type

The type of the links, represented by a number.
It is not required to add it to the chart Fields.
The field type is integer.

Meta Data

Extra information about the tasks, milestones or links. It can be used for debugging purposes.
It is not required to add it to the chart Fields.
The field type is text.

Properties of Tasks and Milestones

If you double click on a task/ milestone, a container/window appears in the middle of the visual, with property setting possibilities. Henceforth this container is called modal.

There is a difference in the number of properties between tasks and milestones, that you can edit.

 Property

Task

Milestone

Description 

Yes

Yes

Constraint 

Yes

 

Yes

(except date)

Type 

Yes

Yes

Time period

(Start date & Duration) 

Yes

 

Yes

(except duration)

Progress 

Yes

No

Parent 

Yes

Yes

Responsible 

Yes

Yes

Comment 

Yes

Yes

Font Color 

Yes

No

Background Color 

Yes

Yes

Task Progress Color 

Yes

No

Responsible Font Color 

Yes

Yes

Responsible Background Color 

Yes

Yes

Comment Font Color 

Yes

Yes

Comment Background Color 

Yes

Yes

Descriptiond

You can give a meaningful name to the task/ milestone. The default content is ‘New task’.

Constraint

  • As soon as possible - If this constraint is set to an independent task, the task starts at the same time that the project does. If this constraint is set to a dependent task, the task starts as soon as its predecessor tasks end. This is the default value.
  • As late as possible - If this constraint is set to an independent task, the task ends at the same time that the project does. If this constraint is set to a dependent task, the end of the task coincides with the start of its immediate successor task.

The other types of constraints affect tasks regardless of their types (dependent or independent):

  • Start no earlier than – the task should start on the specified date or after it.
  • Start no later than – the task should start on the specified date or before it.
  • Finish no earlier than – the task should end on the specified date or after it.
  • Finish no later than – the task should end on the specified date or before it.
  • Must start on – the task should start exactly on the specified date.
  • Must finish on – the task should end exactly on the specified date.

Type

You can select, if the additional value is a task or a milestone.

Time Period

It has a start date and a duration part. The non-editable date at the end of the line is the finish date which has been calculated based on the start date and the duration.

% Complete

The progress of the tasks expressed as a percentage, e.g.: 0.55 means 55%.

Parent

You can select if the task/ milestone has a parent and you can choose from the previously saved, available list of (sub)tasks/ milestones. By default, it has no parent.

Responsible Person

You can name someone who is responsible for the given task/ milestone.

Comment

You can leave a comment belonging to the task/ milestone.

Font Color

You cannot write onto the milestone, so you cannot determine a font color for that. So, it belongs to the task. You can give a color in the following formats:

  1. rebeccapurple
  2. #00ff00
  3. rgb(214, 122, 127)

Background Color

The background color of the task/ milestone.

Task Progress Color

You can determine a color of the task progress.

Responsible Font Color

The font color of the responsible person for both task and milestone.

Responsible Background Color

The background color of the responsible person for both task and milestone.

Comment Font Color

The font color of the comment for both task and milestone.

Comment Background Color

The background color of the comment for both task and milestone.

 

At the bottom of the modal, you can decide if you would like to add, cancel your settings or delete the whole task/milestone.

Note! It is not enough to click on Add to modify your settings. You also need to click on Save Changes button to save back your modifications to your database for good.

Control Buttons

Save Changes

After you have made some changes to the chart, the Save Changes button becomes enabled. If you have the VPService visual set up correctly, you can save your changes by clicking on the Save Changes button.

Discard Changes

After you have made some changes to the chart, the Discard Changes button becomes enabled. If you click on it, all your changes after the last save will be discarded.

Undo

After you have made some changes to the chart, the Undo button becomes enabled. If you click on it, one step of your changes will be undone.

Redo

After you have made some changes to the chart and click Discard Changes or Undo, the Redo button become enabled. If you click on it, the last undone action will be redone.

Reload Data

If you click on this button, the chart reloads. Any unsaved changes will be lost.

Zoom In

If you click on this button the scale of your chart will be more detailed. There are four zoom levels: day, week, month and year. Month is the default.

Zoom Out

If you click on this button the scale of your chart will be less detailed. There are four zoom levels: day, week, month and year. Month is the default.

User Interface Helpers

Spinner

When you click on Save Changes, a small spinner is shown in the top right corner indicating that comm
unication with your server is in progress.

Resizing

You can resize the columns and the timeline in your grid by dragging their left or right side.

Note! These changes are only temporary and when you revisit your report or refresh the page the settings will be lost.

Tooltip

If you hover over a task/ milestone in the grid or in the timeline, a tooltip can be seen showing the name, start date and end date of the hovered element.

Open/close a task or milestone

If a task/ milestone has any children, a small + or – icon can be seen next to the name of the task in the grid. By clicking on it, you can show or hide the children of the task.

Required settings before saving

If you try to save your work without having a field in the Task ID bucket or the Web Service or Source Table settings are missing from the Data Entry settings, you will not be able to save and an error message can be seen.

Working with Tasks and Milestones

Generally, the Gantt Chart does not show the dependency of tasks to each other and neither which tasks are critical to finishing the project on time.

Adding Tasks/Milestones

  1. Click on “+” icon:
  2. A modal appears. You can set the properties here.
  3. Depending on you want a task or a milestone, change the Type property. 
    Note! Milestone does not have that many properties as task has.

  1. Click on Add

Adding Child Tasks/Milestones

  1. Click on “+” icon of a task or milestone. 

    Note! The parent must be saved already. Otherwise, the “+” icon will be gray and you will not be able to click on it.

  1. A modal appears. You can set the properties here.
  2. Depending on you want a task or a milestone, change the Type property.
  3. Note! Milestone does not have that many properties as task has.
  4. Click on Add.

Editing Tasks/Milestones

Using the edit modal

  1. Double click on a task or milestone in the timeline.
  2. A modal appears.
  3. Edit the properties.
  4. Click on Add.

Dragging and Resizing

You can change the start and end date of tasks/ milestones, if you drag them on the timeline. You can also change the duration of tasks by resizing them, click on the right or left side of a task in the timeline and drag it to the desired value.

Deleting Tasks/Milestones

  1. Double click on a task/ milestone in the timeline.
  2. A modal appears.
  3. Click on Delete.
  4. A confirmation window appears.
  5. Click on OK.

Working with Links

Adding Links

You must have at least two tasks added and saved to your chart. Then you just simply need to click on the little circle icon at the start or end of the task and drag it to the start or end of another task. It is important to note that you cannot add a link to unsaved tasks/ milestones.
There are four types of links:

  • Start to start (SS),
  • Start to finish (SF),
  • Finish to finish (FF),
  • Finish to start (FS).

Editing Links

A link cannot be edited. You need to delete any unnecessary links and create new ones.

Deleting Links

  1. Double click on a link.
  2. A confirmation window appears.
  3. Click on OK.

Was this article helpful?

We're sorry to hear that.