Blog

How To: Automatically Create Document Location for Records in Dataverse

Use this simple Flow as a template to create the document location for a record in Dynamics 365 or your custom Dataverse application.

Use Case:

Almost everyone using Dynamics or Dataverse leverages the SharePoint integration to store their documents. This is great, because SharePoint is the best document management tool their is, Dynamics/Dataverse is not. There is one problem with the way this works out of the box and that is the location for the documents does not exist until the user requests to view the documents in the Dynamics/Dataverse user interface. This causes problems for users who want to view that folder in SharePoint or sync the SharePoint library to their file explorer with OneDrive sync before a user has requested the document location in Dynamics/Dataverse because it doesn’t exist yet! 

This Flow is really simple and will streamline this process for your users. You can even expand on it to include creating custom nested folder locations for you documents. i.e. an Account folder that has a subfolder for each Contact record.

In my example, I was building this Flow for a client’s New Product Development Process, where they wanted their SKU table to automatically have a folder for each SKU so that users could work in SharePoint or their custom Dataverse Model App to upload the SKU documentation.

Step 1: When a record is created

Step 2: Create a New Folder

Step 3: Get the Parent Document Location

This step is important. You need the parent document location so that the document location you create in Dataverse follows the same path as the folder that was created in SharePoint. In my example scenario, the document integration for Dataverse automatically creates a document location record for the SKU table. That will serve as our parent, and I grabbed the GUID from that record to put in my action here. 

Step 4: Create the document location

Important to note here, the relative URL must match the folder name from the SharePoint folder that was created earlier. 

Step 5: Relate records

This step sets the regarding field of the Document Location record in order for it to show up in the subgrid of the SKU record. 

This 5 step Flow is pretty powerful and can certainly streamline your workflow for the scenarios I mentioned above, plus can be extended to be more advanced including subfolders and separate document locations.

Working with the COVID-19 US Sample Power BI Report

Microsoft has provided a free, downloadable or embeddable, Power BI Report sample using COVID-19 data for the US. This report can be used as is, or customized to leverage the COVID-19 data and report capabilities to compare to your regular business data. 

About the report

You can use the embed code below to embed this report wherever you would like:

<iframe width="1600" height="900" src="https://app.powerbi.com/view?r=eyJrIjoiMmI2ZjExMzItZTcwNy00YmUwLWFlMTAtYTUxYzVjODZmYjA5IiwidCI6ImMxMzZlZWMwLWZlOTItNDVlMC1iZWFlLTQ2OTg0OTczZTIzMiIsImMiOjF9" frameborder="0" allowFullScreen="true"></iframe>

Make note, you may need to adjust the iFrame size.

Or, you can download the PBIX file itself and make your own customizations and bring in your own data here: download the .pbix file (here).

Report Capabilities 

  • Filter by Date
    • Select your data range
  • Filter cases by State
    • Click on the State you would like to select in the left hand chart. 
    • Watch as the visuals filter to that states numbers.
Select-your-state
  • Drill Through to the County View
    • Right click on the left hand visual for the state you would like to select.
    • Drill Through to County View
      drill-through-to-county
    • View the Metrics by County
county-view

Customize the Report

  1. Choose the data you would like to bring in (in my case, we want to view account and sales numbers from Dynamics 365 Sales – I’m not going to walk through all the transformations we made here)
  2. Create your visuals
    Visuals
  3. Save your report
  4. Publish to Power BI Service
    (show in Power BI service)
    power-bi-service
  5. Configure a scheduled refresh for your data sources
  6. Share in Teams or SharePoint to distribute
    (image shared in teams)
    report-in-teams

How to: toggle visuals on and off in Power BI

When building a Power BI report, it’s important to take screen space into consideration. You don’t want an overcrowded report canvas that makes it tough for your decision makers to find the actionable insights they need to make their decisions. 

That being said, a valuable skill to learn in Power BI is showing or hiding visuals at the click of a button. Follow the steps below to achieve this.

power bi button sample

Step 1: Add a couple of visuals to your canvas

For the sake of my demo, I’ve added 2 visuals of different types to opposite ends of the canvas. One is a pie chart, one is a bar chart.

power bi graphs

Step 2: Add two blank buttons to the canvas

Add each button above the visual you want to show with that button. In my example I am naming one button Pie Chart and one Bar Chart.

power bi graphs labels

Step 3: Open the Selection Pane from your View menu

This is an important and rarely-used feature of Power BI. The selection pane allows you to see all the visuals on your screen, and set their visibility.

power bi selection pane

Step 4: Hide one of the visuals

Click on the visibility icon next to the visual you would like to hide.

power bi visibility

Step 5: Open the bookmark pane

Another little used feature of Power BI. Read more about the capabilities of bookmarks here. For the purpose of this demo, we are using them to hide and show different visuals on the canvas.

power bi bookmark pane

Step 6: Create a new bookmark

This will essentially take a screenshot of what your report page looks like at the time of adding the bookmark, you can always update it later. Make sure to name your bookmark something useful, and uncheck the “Data” item.

power bi create new bookmark

Step 7: Hide the other visual and show the one you previously hid

Go back to your selection pane and hide one visual while showing the other.

power bi create new bookmark

Step 8: Take another bookmark

Follow the same steps as in Step 6.

power bi bookmark

Step 9: Add a bookmark action to the buttons that you have on the canvas

This is where the canvas will come to life, now your visuals will be hidden and shown based upon the users click of the buttons. Hold the control button and click the buttons to test out your creation!

power bi button

I hope you found this helpful and can apply it to your next report!

How to: Send tables with links to items in Power Automate Flow emails

Use Case

Recently, a client requested a daily digest email be sent to their support staff with a list of their active tickets, along with a link to the particular record. This blog will take you step-by-step through the usefulness of this Flow and how I created it.

What’s great about this Flow is, even though in my example I am triggering it as a recurrence with CDS as a data source, you can use any type of trigger you may need or any data source that applies. The important—and more difficult—part is including the links directly to records in an email table. 

Challenges

You might think this would be a simple request, but it turns out that you need to do a little bit of thinking to make this work. My first instinct was to try to store the returned values for each user as an Array Variable, but when you use the “Create HTML Table” action based upon the array, the link reference does not get recognized as HTML and you get an email that looks something like below:

Ticket Table Issues

How to Create this Flow (or something similar)

  1. Create the Flow with a Trigger of Recurrence. Set the recurrence pattern to whatever you would like. We are setting a daily recurrence in this example.
  2. Initialize an integer variable for the count of records returned. We don’t want to send users emails with blank tables.
  3. Initialize a string variable for storing each new row of the table.
    Flow Ticket Variables
  4. List All Active Users 
    List All Active Users
  5. Apply to each user
  6. List tickets
    List Tickets
  7. Apply to each ticket
  8. Increment count variable
  9. Condition: If count is greater than 0
  10. Get account (to display the client’s name)
    Apply to each ticket
  11. Append to string variable for a new table row. This is how we are building the HTML for the email.
    Append to String
  12. Condition: Count is greater than 0
  13. Send an email from a Shared Mailbox. Formatting the rest of our HTML will happen in the body of this email action. Insert whatever table formatting you may want into the <style> tag. Keep in mind, in my screenshot the web version of outlook strips some of the formatting.
    Email Body HTML
  14. Set count to 0
  15. Set ticket table string to null

With any luck, your results should appear like this:

Email Table Example