Monday, October 23, 2017

New PowerBI Project Online report pack: How to customize it on a non-english tenant?

Project team has just released a new report content pack. I won't go into the details: how to deploy it and plug it on your Project Online tenant. It has already been greatly explained, particularly by Paul Mather, a fellow MVP, in a recent post. Another relevant information: you can get the report pack on GitHub.

My contribution will be on another concern, which is related to my context: I'm located in France and working with international customers. Meaning that I often have French Project Online tenants, but I have to generate reports in English. And this is where the report pack has a weakness: it only works as-is on English tenant. So below is the procedure to deploy it on non-English tenant and customize it. 
Thanks by the way for my fellow colleagues to put me on track.

Once you have changed the data source (your non-English PWA tenant URL) as explained by Paul, it still doesn't work because the queries are looking for the english odata feeds. For example, all queries start with the source of the data:
    Source = OData.Feed(#"PWA Site URL" & "/_api/ProjectData"),
    Projects_table = Source{[Name="Projects",Signature="table"]}[Data],

Thing is: on a French tenant, there is no "Project" feed, but "Projet". You can replicate this discrepancy on any queries, so you just get a bunch of errors. The solution is to add [en-US] to tell PowerBI to take the data source in english:
    Source = OData.Feed(#"PWA Site URL" & "/_api/ProjectData/[en-US]"),
    Projects_table = Source{[Name="Projects",Signature="table"]}[Data],

You can do that by clicking on "edit query", select the queries one by one and click on "Advanced editor".

The second trick I want to share is how to personalize the reports. Obviously, the report pack is generic since it should be applicable for any Project Online instance. But you'll surely create custom fields (tasks, projects, resources). For example, for one of my customer, I added the "Region" custom field for projects. This is a key criteria I want to add in my reports.

For that, stay in the query editor and on the right panel, you should see for each query all the applied steps. Check for the "Removed other columns" step. This step is quite important in terms of performance: it will exclude from the query fields you don't need in the report to optimize the query time of processing. By default, all custom fields will be excluded.

When you click on the gear next to the step, you'll open a dialog box with all the available fields off the query. Then just click of the chosen column (custom fields) you want to include in your dataset.

When you close the query editor and apply the changes, you'll see the new custom fields in the available fields.

Et voilà!

2017-20-23: Note that as far as I noticed, there is a bug in PowerBI App where you cannot schedule a refresh on a dataset with [en-US] in the URL data source. I have a support case opened with Microsoft on that and will kept you informed.

Share this article :

Tuesday, October 10, 2017

Power BI: Chiclet slicer with image

I haven't been playing and blogging with PowerBI since a while. Recently for a new customer, I had to display a filter on a PowerBI report to include/exclude important projects which need to be reviewed at board level. Since my tenant was in French but the report was in English, I had something really not satisfying, displaying TRUE or FALSE in a slicer, not really meaningful. The board wanted to have something more graphical. You would just click on the green check mark to select flagged projects. 

Nice isn't it?

Basically, in MS Project it is not more than having a flag enterprise custom field in a PDP to flag in or out projects, associated with a graphical indicator. In the project center, flagged projects are displayed with check marks.

First, find on Internet (free of rights) icons corresponding to your need. Prefer PNG format so the icon's background will be highlighted when selected. You can store the icons on a shared library on your PWA instance, accessible at least in read-only by all Power BI users.

Then in Power BI Desktop, you have to import a custom visual named Chiclet slicer. I won't go in details on how to do this, it has been blogged many times already: here is the support article you can refer to. Once done, open the query editor, select the data source containing your flag (ProjectData in my case) and create a new conditional column.

You'll be able to enter a name and generate outputs based on condition. In our case, the output will be the image URL for each value of the custom field (TRUE or FALSE), with a "else if" condition.

Once validated without error and back to Power BI desktop, you can select your dataset then your new conditional column. In the "Modeling" tab, under "Data category", select "Image URL".

In your report, add the new chiclet slicer visual and drag:
  • the flag enterprise custom field in the category and values zones,
  • the new URL conditional column in the Image zone.

In the widget format settings, you can specifiy the size or the chiclet and the split of the image (100% in my case so only the image is displayed, not the label).

Et voilà!! Note that you can even do that with the Enterprise Project Type which is a pretty common filter. The challenge is more to find meaningful icons. 

You'll also note the nice graphical rendering using conditional formatting in table and the Gantt custom visual which particularly applies to Project Online context. 

Share this article :

Wednesday, October 4, 2017

Highlight days in a Gantt

As moderator of TECHNET forums about Project Server / Online, I often have interesting questions which push me digging concerns I would never have considered.

One recent question I had was as followed. So back to MS Project basics, this is quite simple and immediate to set up but it can bring visibility to stakeholders whom you're sharing the plan with.
"How could we highlight days on an existing task? For example, customer visit on site, strike, MEP, etc... We don't want to create additional tasks or work, neither to create exceptions."

So before going through the steps, here is the final result you can achieve with a 5-minutes configuration.

Starting with the following 10-days new task:

First concept to understand: the bar styles. If you double click on the Gantt chart, you'll open the following configuration box:

You can see that each type of task (normal, manual, critical, milestone, summary, baseline, etc...) has a specific style which can be customized. You might remember that I wrote a post a while ago about customizing bar style based on custom flags. You can also see that each style has a start and a finish. For standard tasks, it is obviously [start] and [finish], whereas for baseline tasks, this is [baseline start] and [baseline finish]. This allows displaying baseline above the task as shown below. 

You understand that mastering bar styles can be quite useful whenever you fall into Gantt customization. So back to our use case, the principle is to use custom start and finish dates. 

1- You can start with the start1/finish1 but you could use additional custom dates if you want to highlight multiple slots.

2- Then customize bar styles with start and finish dates 1 and 2. Note that the new bar styles have to be created BELOW the standard task style so it will be shown on top. Otherwise it would not be visible.

Here is what you get, clear and simple:

3- You might want to add a label as an explanation for highlighting those days. You can use the text 1 and 2 to enter text, and set those custom fields as text displayed on top or below the bar.

Here is the result:

Leonardo da Vinci used to say: "Simplicity is the ultimate sophistication", what do you think?

Share this article :

Tuesday, October 3, 2017

Exciting times for Project Online!

We are living exciting time for Project Online. I have to say that things have been a bit quiet the past few years. Indeed we had the resource engagements feature and new reporting capabilities with PowerBI, but since a few months, we do have some interesting announcements, showing us that Microsoft is giving a second youth to Project Online. Our entire community is excited by this trajectory and I wanted to share some topics which were announced at or around the Ignite Conference in Orlando (interesting session to replay).


This first new feature emphasizes what I'm telling from years and years since I'm deploying MS Project / Server / Online. MS Project is NOT a task management tool, especially when you're using it in an Enterprise context. It is meant to manage a portfolio and bring visibility on your workload and the project progress and health. Not to manage 2-hrs meetings or granular tasks. Of course you can do it, but I'll be tedious and it requires a high level of expertise with the tool. And from my experience, if you try to manage a 3000-tasks plan with dependencies, resources and timesheets, it won't last for long. Thus I always advice to use if necessary a Sharepoint list or any other solution to manage a backlog of activities. Planner came to fill this gap in O365 environment but still it wasn't linked in any ways to Project. 
Now this integration does exist, still in v1, but the momentum is there, MS will go on improving this integration. From now, this is "just" the ability to send a task from Project to Planner with a hyperlink, but we do wait for a both-way integration to roll down and up the assignments and (actual) work for example. 
It brings then the question of the timesheet: if the actual work is rolled up from Planner to Project, how is the timesheet dealing with this feature. Remember that the actual can be forced to come from the timesheet. Then we come to another exciting direction, talking a while ago with some guys from the product group: sending the timesheet application out of Project at O365 level so it can be plugged on Project, but also Planner, SharePoint, etc...
Didn't I told you that we were living exciting times...?


This is a huge WOAA!! A v1 Agile integration in MS Project (for Insiders Fast build 16.0.8625.1000) has been released. Here is what I can share with you. I would have liked to tell you more and propose a quick demo but I couldn't test it myself yet.
  • Use Agile in MS Project
    • Project Managers can use simple, visual task boards that support Scrum, Kanban, or custom workflows
    • Visually manage your projects and tasks using agile-style views
    • Plan work in iterations using sprints or choose a Kanban-like workflow to track ongoing status and limit work-in-progress
    • Customize workflows to meet your project's tracking and reporting needs
  •  Choose your work style
    • Project managers can choose whatever methodology makes sense: agile, waterfall, or hybrid.
    • Manage task-oriented projects using agile-style views
    • Use Gantt views for projects that require upfront planning, resource balancing, and critical path analysis
    • Manage sub-projects within a larger project using agile-style views while using a Gantt view for the overall project

  • Maintain Transparency
    • PMO can centrally manage different types of projects with governance and visibility
    • Maintain governance of standards and processes across teams and projects
    • Gain visibility across projects whatever work styles are being used to manage them
    • Use out-of-the-box and custom reports to report across projects or focus on status specific to agile-style workflows


The first PBI report pack was an incredible enabler for pushing sexy reporting capabilities. It also helped the community to better understand PBI features and how it could strength Project Online added value. With this new report pack, Microsoft is going further, providing 11 pages mainly focused on portfolio and resources. Paul Mather, a fellow MVP has already written an exhaustive post so I give him credit.


Microsoft Teams is quite a new member (1 year old) in the O365 family, but MS has already announced that it will be replacing Skype for Business, which has already took over Lync. Note that Teams allows integration through tabs with Planner and PowerBI.

Share this article :