#ProjectServer 2019 missing data in #OLAP cube? #SSAS #Reporting #Excel

November 29, 2019 at 10:56 pm | Posted in Administration, Configuration, Fixes, Functionality, Information, Installation, Issue | Leave a comment
Tags: , , , ,

Just a quick post and one related to Project Server on-premises which I haven’t done for a long time! A colleague escalated an issue to me where by data was missing in the OLAP cube in a new Project Server 2019 deployment. The symptoms where that data appeared to be missing from the Portfolio Analyzer cube. For example, adding Project List into the pivot table didn’t display any projects but when looking at the values in the Project List dimension from the Pivot Table fields menu you could see the projects:

excel

Adding the Project List to the Pivot table, no Project Names included:

excel2

If another cube was used such as the Project Non Timephased, the Projects displayed on the pivot table as expected. If the built in measures where removed from the OLAP cube configuration and the cube rebuilt, the Project List then displayed fine on any OLAP cube. The fix is a simple one, it relates to a the Reporting Timephased Data change that on new installs this is set to Never which is the same behaviour for new PWA site collections in Project Online. Change the Reporting setting to another option such as daily:

reporting

Then publish the projects, once the projects are published, ensure the built in measure are enabled as required in the OLAP cube configuration if you have changed these and set the OLAP cube to build. Once processed the OLAP cubes will all work as expected.

#Office365 #ProjectfortheWeb #MicrosoftTeams integration #ProjectManagement #PPM #MSProject #PowerPlatform #PowerVirtualAgents Part 3

November 22, 2019 at 7:16 pm | Posted in Add-on, Administration, App, Functionality, Information, Workflow | 1 Comment
Tags: , , , , , , , ,

In part 3 of this series we will look at adding the sample bot created in part 2 in to Microsoft Teams. If you missed part 2 it can be found here: https://pwmather.wordpress.com/2019/11/20/office365-projectfortheweb-microsoftteams-integration-projectmanagement-ppm-msproject-powerplatform-part-2/

Now we have a working Power Virtual Agent (PVA) for creating projects in Project for the Web we can now embed this into other applications such as Microsoft Teams, custom web applications, Cortana, Facebook etc. Do remember that PVAs are currently only in preview and not generally available yet. For this example we will add this into Microsoft Teams. Firstly we need to publish the bot from the Publish page:

Publish

Once published at least once you will then be able to try out your bot in the demo website:

Demo

Each time you make a change to the bot, once ready you will need to publish it again. Now that it’s published we click Channels under the Manage menu, then in this example click Microsoft Teams:

Teams

Now click the Add button and this generates the App ID:

TeamsAppID

Copy the App ID for a later step. Now load the Teams App Studio (or add it to Teams if you don’t have this yet). In the App Studio click Manifest editor and the click “Create a new app”. Complete the form as required:

AppForm

Now using the left hand menu, click Bots under “2 Capabilities”:

BotSetup

Click “Set up”. Then click “Existing bot”, add the bot name then paste in the App ID copied in the previous step when adding the Teams channel in the Power Virtual Agents window and set the scope to Personal then click Save:

Existingbot

Now click on Test and distribute under “3 Finish”:

Test

Here you can install the app in Teams for testing or Download. In this example I’m downloading it then in Teams click Apps > Upload a custom app:

Upload

Once uploaded, from the Bots filter in Apps you will see the bot:

BotAdded

Click that then you will be able to Add it and it will appear in your personal Chat and you can create a project from there:

BOTinTeams

For more details see this link: https://docs.microsoft.com/en-gb/power-virtual-agents/publication-add-bot-to-microsoft-teams

I will add some more Microsoft Teams integration options for Project for the Web soon!

#Office365 #ProjectfortheWeb #MicrosoftTeams integration #ProjectManagement #PPM #MSProject #PowerPlatform Part 2

November 20, 2019 at 8:47 pm | Posted in Add-on, Administration, App, Configuration, Customisation, Functionality, Information, Workflow | 1 Comment
Tags: , , , , , , , ,

In the last post we started looking at integration options for Project for the Web in Microsoft Teams, this post can be found here: https://pwmather.wordpress.com/2019/11/16/office365-projectfortheweb-microsoftteams-integration-projectmanagement-ppm-msproject-powerplatform-part-1/

This post continues with the Project for the Web and Microsoft Teams integration theme but this time creating a Project directly from Teams using a bot. This makes use of the new Power Virtual Agents feature that is currently in preview: https://powervirtualagents.microsoft.com/ In this post we will build a very simple Power Virtual Agent, PVA for short, that will enable to user to create a project in the Project for the Web service.

In the first part (Part 2 of the series) we create the PVA bot and Power Automate Flow. Firstly access the Power Virtual Agents preview and create a new bot, I’ve created one called “Project Creation”:

BOT

I wont cover all the possible options for the PVAs as these are well documented here: https://docs.microsoft.com/en-us/power-virtual-agents/, I will just cover the minimum to get started creating a project. Click the “Customize your greeting” button to load the default Greeting topic editor:

Topic

Here on the canvas you can create / edit the steps for the greeting topic. I’ve deleted some of the default messages, updated a message and about to add a question:

Topicedit

I’ve created my first question that the bot will ask the user:

Q1

This is taking the entire response as the answer and saving it to the projectName variable. The next question is asking for the start date:

Q2

This is identifying the responses as Date and time and saving it to the startDate variable. As you can see this added two conditions in but I will delete those as they are not required in this bot. The final question is asking the user which department is the project for. Department is a custom field I have in the project entity:

Q3

This is a multiple choice question to give the user a option to select, I’ve matched the options here that are available my custom Department Option set in the CDS. The answer will be saved to the department variable. As you can see this added three conditions in but I will delete those as they are not required in this bot. Next we need to call an action to create the project. This will call a Flow, create the Flow using the “Create a flow” option if you do not have the Flow yet:

Action

That will take you to the Flow editor with the Power Virtual Agents Flow Template loaded:

Flow

Modify this Flow as needed and update the name. Here is my Flow:

FlowSummary

Key changes highlighted below:

Updated the JSON schema to support the data the PVA is passing in:

HTTP

Added a switch action to handle the different departments:

Department

Then within each case, add a “Create a new record” CDS action to create the project, here is the Marketing project example:

Create

Pass in the details as needed, the key parts for this post is that I’m passing in the Name value and the Start Date value from the PVA bot. I’ve hard coded items like the Project Manager in this example. For other setting, see this post for details: https://pwmather.wordpress.com/2019/11/11/office365-projectfortheweb-project-request-process-using-microsoftforms-cds-and-powerautomate-projectmanagement-ppm-msproject-powerplatform/ Repeat this for each case in the switch action. The final action is the response to the PVA, this has been updated with the correct outputs that I want to post back:

Respond

For this Flow to be available, it needs to be added to a solution. To do this navigate to the Power Apps home and click Solutions > New solution and complete the form then click create. Access the new solution and click Add exiting from the command bar:

Solution

Select Flow then click Outside Solutions and select the Flow then click Add:

SolutionFlow

Now back in the PVA bot editor window, click “Call an action” again" and select the Flow that was added to the solution and set the variables:

FlowBOT

We then add another message to inform the user that the project has been created and end the conversation:

End

Save the bot and test it:

Test1

Test2

We can now see the new empty project that has been created:

Project

That’s it for part 2 of this series, in part 3 we will look at adding this bot in to Microsoft Teams. Power Virtual Agents are pretty awesome for low / no code bots, try out the preview and see what you think!

#Office365 #ProjectfortheWeb #MicrosoftTeams integration #ProjectManagement #PPM #MSProject #PowerPlatform Part 1

November 16, 2019 at 12:15 pm | Posted in Add-on, Administration, App, Configuration, Customisation, Functionality, Information | 1 Comment
Tags: , , , , , ,

This is a new mini series for the new Project for the Web application that will look at various ways / examples for integrating with Microsoft Teams for improved collaboration. This blog series will talk about Project for the Web: https://pwmather.wordpress.com/tag/project-for-the-web/.

I previously posted a examples on integrating Office 365 Project Online with Microsoft Teams, here are many examples for Project Online: https://pwmather.wordpress.com/tag/microsoft-teams/. This series will build similar integrations but for Project for the Web.

In this first post, we will keep it very simple and just surface the Project in a new Team linked to the Office 365 Group used for the Project. Firstly for this example, as we want to link the Project in a Tab in a Team Channel, we will create a new Team linked to Office 365 Group. If your Project is not linked to an Office 365 Group yet, for example if you haven’t added any team members yet, access the Project and link this to an existing Office 365 Group or create a new Office 365 Group as required.  To create / link the Project to an Office 365 Group, access the Project then click “Group members” in the top right corner:

Group

Here use the menu to either create a new group or add to a group. For this example I’m going to use this project and group:

ProjGroup

This Office 365 Group doesn’t current have a Microsoft Team associated. Now jump into Microsoft Teams and click Join or create a team at the bottom left below the Teams you are a member of then click Create a team:

Teams1

Click Create from…

Createfrom

Then Office 365 group:

O365group

Scroll and find the group you want, in this example I selected the group I created for the Project:

ProjGroup

Now click Create. We now have the new Team linked to the Office 365 group associated with the project:

Team

In the General Channel I will create a new Website tab to link to the project:

Tab

The URL used here is as follows:

https://project.microsoft.com/?org=cdsOrg#/taskgrid?projectId=projectId&dynamicsUI=true

Where {cdsOrg} is the Organization project for the web is deployed to, {projectId} is the project ID for the project. The last query string on the end is dynamicsUI=true, this is to remove the Office 365 header and the left navigation pane to give a better embedded experience. Without the dynamicsUI query sting:

ProjwithNav

With the dynamicsUI query string:

WithoutNav

Back in Microsoft Teams, we can now access the Project plan inside Microsoft Teams:

ProjInTeams

This could be automated if needed but the manual steps are so simple. Next up we look at adding more Microsoft Teams integration for Project for the Web.

#Office365 #ProjectfortheWeb Project Request process using #MicrosoftForms #CDS and #PowerAutomate #ProjectManagement #PPM #MSProject #PowerPlatform

November 11, 2019 at 10:05 pm | Posted in Add-on, Administration, App, Configuration, Customisation, Functionality, Information, Workflow | 1 Comment
Tags: , , , , , , , , ,

A couple of weeks back I posted how to create a project request process for Office 365 Project Online using Microsoft Forms, Microsoft Flow, now known as Power Automate, and SharePoint, for those that missed that post, it can be found here: https://pwmather.wordpress.com/2019/10/23/office365-projectonline-project-request-process-using-microsoftforms-and-microsoftflow-projectmanagement-ppm-msproject-sharepoint-powerplatform/. Since the official release of the new Microsoft Project application, known as Project for the Web, I’ve built a similar example that uses Microsoft Forms, Power Automate and the Power Platform Common Data Service (CDS). For those of you that haven’t seen my posts on the new Project for the Web service, here is a link: https://pwmather.wordpress.com/tag/project-for-the-web/.

The components required for this project request process are Microsoft Forms, Power Automate, the CDS and Project for the Web. Firstly for the entry point to initiate the project request – I’ve used a simple Form as seen below but this could also just as easily have been a Power App.

Form

As with the Project Online example, we could ask whatever details we need to support the project request process but this is just a simple example. The department question is key for this example as that is used to control who approves this project request. I’ve only got two options here to keep it simple but you will see later on in the post how / where to add to this. The next component is the CDS Entity. I’ve created this new Project Requests entity in the default org:

ProjRequestEntity

I’ve filtered the fields above to show the custom fields I’ve created in this new Project Requests entity. These are summarised below:

  • Project Name – used to store the Project Name from the request form
  • Description – used to store the Project Description from the request form
  • Project Department – used to store the project department from the request form
  • Project Justification – used to store the project justification from the request form
  • Reviewed By – used to store the Flow Approval reviewer
  • Review Status – used to store Flow Approval status
  • Reviewer Comments – used to store the Flow Approval reviewer comments
  • Project Requested By – used to store the email address of the user who completed the request form
  • Project ID – used to store the Project ID from Project for the Web for project that gets created by the Flow
  • Project ID Linked – links to the project in the Project entity for project that gets created by the Flow

To support this process, I’ve also added the “Project Department” field to the Project entity as an option set – add the option values as required.

ProjEntity

Options:

OptionSet

The next component is the Power Automate Flow, this is used to automate the process from receiving the project request form response, sending out the approval and creating / updating the CDS entities accordingly. The Power Automate Flow can be seen below with one of the switch cases expanded:

Flow

The Flow is covered in more detail below. The final component required is Project for the Web.

This Flow is triggered when a new form response is submitted to the Project Request form. The first action is to initialize a Project Manager variable that is set later on. It then uses an Apply to each loop with a list of the response notifications passed in from the trigger. The first step inside the Apply to each action is the Get response details Form action with the form response ID passed in.

Flow1

The next action inside the loop is the Get user profile action, here we pass in the Project Request responders email address then the Flow uses the List records CDS action to query the Users entity, a filter is added as we pass in the users ID from the Office 365 Get user profile action. Here it is assumed that the user who completed the Form response is a user in the CDS Users entity. We then set the Project Manager variable inside a 2nd Apply to each loop. Whilst our List records example will only return one result, the List records action could return multiple results so Flow automatically adds the Apply to each. The input for the Apply to each 2 action is the output from the List records actions. The value used to set the ProjectManager variable is in this example is “items(‘Apply_to_each_2’)?[‘systemuserid’] but just pick “User” from the List records dynamic content:

Flow2

The Flow then uses a Switch action to have different paths based on the department value, the “Which department is the project for?” form answer is used to switch on:

Flow3

The Flow then has different cases in the Switch action, one for each of the possible values for the “Which department is the project for?” question. I’ve just got 2 cases in this example but this is where you would expand this for more departments:

Flow4

Expanding one of the cases to see the details and I will point out the differences between each case:

Flow5

As you can see, the first action is a Flow Approval that is set to “Approve/Reject – First to respond”. I’ve set the Title to be “Marketing Project Request”, update this for other departments as need. I’ve assigned this to the admin account but this where you would assign it to the user who approves the marketing projects. In the details section I’ve added the Project Request form responses for the “Get responses details” action to give the reviewer the details needed. The Condition check action is used to check the approval outcome. Then for requests that were approved the Flow uses another loop. The loop is required as the default Approval action can have more than one response in some cases but in this case it will only have one. Inside the loop there are 3 CDS actions:

Flow6

Firstly to create a new record in the Project Request entity by passing in the form response value and the approval details:

Flow7

The second CDS action in this loop is to create the project in the Project entity, here the Calendar Id is required but this is set by the service, here I just put a 1 in there as a value is required in the action, the Name is passed in from the Form value. The Contracting Unit is the Organizational Unit ID found in the Organizational Unit entity, Project Manager is set with the Project Manager variable. The Work hour template is set to the correct Work Template ID found in the Work template entity. The final field set in this example is the Project Department value, here we set Marketing but set this based on the correct Project Department:

Flow8

The final CDS action in the loop is to update the original Project Request record in the CDS with the newly created Project identifier Project record:

Flow9

If the project is rejected, in this example a record is created in the Project Request entity only but typically you would also send an email etc. to notify the requester. This action is similar to the first action in the approved side but the Review Status is set to Rejected:

Flow10

That’s it, a very simple Power Automate, Microsoft Forms and Power Platform CDS project request process for Project for the Web. I will post a short video on my YouTube channel demoing this in action later this week along with a video for the Project Online version too: https://www.youtube.com/channel/UC_b_pa1ADKlUqIpLK9AmR1g?sub_confirmation=1

Create a free website or blog at WordPress.com.
Entries and comments feeds.