Create Power BI Report to analyze Dataverse / Dynamics 365 data in Azure Data Lake


To begin with, here we have already configured the Azure Synapse Link /Export to Data Lake service and have configured Account, Contact and User table for the sync.

Check posts on Azure Synapse Link/  Export to Data Lake service:

https://nishantrana.me/2020/12/10/posts-on-azure-data-lake/

Let us now create the Power BI report on the exported data –>

Sign in to Power BI Desktop.

Click in Get Data and select Azure >> Azure Data Lake Gen 2 connector and click on connect.

Navigate to the storage account and the container within it and click on Container properties.

Copy the URL

Replace the blob part https://saazuredatalakecrm.blob.core.windows.net/dataverse-pmaurya105-unqdc8ed1c1df824188bbe2225de96f0

with the dfs

https://saazuredatalakecrm.dfs.core.windows.net/dataverse-pmaurya105-unqdc8ed1c1df824188bbe2225de96f0

Enter the URL and select CDM Folder View


Sign in with the Azure Active Directory account or with an Account key.

In case if you get the “Access to the resource is forbidden” error.

https://nishantrana.me/2020/09/07/error-access-to-the-resource-is-forbidden-while-trying-to-connect-to-azure-data-lake-storage-gen2-using-power-bi-desktop/

Here we have selected the Contact, Account, and System User table.

Click on Load.


Here we’d create a basic report that shows Contact’s full name, email, along with Account Name (left join with Account) and Owning User Full Name (left join with System user)

Let us choose the appropriate columns from the contact table.

fullname, emailaddress1, owninguser, ownerid_entitytype, parentcustomerid, parentcutsomerid_entitytype, parentcustomeridname


Now to get the full name of the owning user and the Account’s name, let us left join the contact table with the system user and account table.

Select Merge Queries as New in the Power Query Editor.



Merge Contact with Account


Merge with System User


Expand the account column and select the name field for the merged query.


Similarly, select fullname for the systemuser.


Close and apply the updates.


Below we have our report ready.



Save and publish the report.

More posts on Power BI – https://nishantrana.me/2018/11/24/power-bi-and-microsoft-dynamics-365/

Hope it helps..

Advertisements

How to – Use Advanced lookup in Model-driven Power Apps / Dynamics 365


To enabled Advanced Lookup, log into to Power Platform Admin Center, navigate to

Environment >> [Select Environment] >> Settings >> Behavior

Enable the Lookup behavior and Save.

This adds the Advanced Lookup option in the Lookup dialog.


Clicking on it opens the Advanced Lookup Grid 


We can perform SEARCH within a selected View, CHANGE a view, can FILTER it the results further to show only records owned, ADD a new record, SORT the grid.


The best part is we can open/edit an existing record as well as add new ones without losing the existing context.

Opening an existing record from the result opens the record in the new pop-up window as shown below.

Similarly, the Add new option opens the Quick Create form.

In case of special data type like Party List or Regarding, we can select multiple records of different entities we are presented with.

Similar the option to Add new records list all the tables/entities applicable to that lookup.

Thus the new advanced lookup makes working with Lookup much simpler and effective and we should start adapting / using it.

Blog posts on 2021 Release Wave 1 – Dynamics 365

Hope it helps..

Advertisements

Integrate the approval center into a model driven app/Dynamics 365 CE


One more insightful blog post by @Mehdi.

Mehdi El Amri's avatarXRM Tricks (Power Platform & Dynamics CRM )

Power Automate provides a standard solution to manage approvals in a Dataverse environment. Approval requests can be easily generated from cloud flows. Users have the ability to view and respond to approval requests from email, teams or the approval center which is accessible from the power automate website only.

Today, I will present a way to respond to approvals from a model driven app directly. Also, the approval requester will be able to cancel his request from the MDA in one click.


The approver can approve, reject, or assign the approval to a new approver in the organization:

The approval requestor can cancel his or her own approval request:


To implement this, we just need to use the widgets provided by the MsFlow js SDK. Yes, there is an SDK that allows us to generate some cool widgets. The approval center is one of them. Please refer to the documentation.

View original post 409 more words

Secrets of the Dataverse: The Report Wizard


Nick Doelman's avatarThe ReadyXRM Blog by Nick Doelman

Anyone who has been working with Dynamics CRM/Dynamics 365 at some point likely tried the Report Wizard. The Report Wizard was introduced in Dynamics CRM v4.0 as a way to quickly create ad-hoc reports.

A video version of this blog post can be found on the 365.Training YouTube channel.

Reports created using the Report Wizard are not necessary pretty, but can be quite functional and are a good way to extract data from Dataverse quickly. You do not need any of the Dynamics 365 apps deployed, the report wizard will work just fine on a “vanilla” Dataverse instance.

If you are an old-school Dynamics CRM person who knows how to build a report using the wizard, you can skip to the bottom of this post where I show how to launch Report wizard reports directly from a canvas Power App.

Creating a Report using the Report Wizard

You…

View original post 596 more words

How to setup – Azure Synapse Link – Microsoft Dataverse


Azure Synapse Link (earlier known as Export to Data Lake Service) provides seamless integration of DataVerse with Azure Synapse Analytics, thus making it easy for users to do ad-hoc analysis using the familiar T-SQL with Synapse Studio, build Power BI Reports using Azure Synapse Analytics Connector or use Azure Spark in Azure Synapse for analytics.

As a first step, we need to create the Azure Synapse Workspace.

Login to Azure Portal (https://portal.azure.com/ ) with appropriate roles and create a Synapse workspace.

https://docs.microsoft.com/en-us/azure/synapse-analytics/get-started-create-workspace

Wait for the deployment to be complete. Below are the resources created as part of the deployment.

Login to the maker portal (https://make.powerapps.com/ ) and select the appropriate environment

Click on Azure Synapse Link and check the Connect to your Azure Synapse Analytics workspace (preview) and specify the storage account created in the previous step

Here we have selected the Contact and System User table for export.

On clicking Save, we got this error couple of times, even though the account being used was Owner across the Azure resources. Trying save 3-4 times more, allowed the link to be created.

Click on Go to Azure Synapse Analytics workspace, opens the Azure Synapse Studio

Within Synapse Studio we can see our Dataverse Database and run query.

Similarly, we create a Power BI report with Azure Synapse Analytics (SQL DW) connector.

Copy the Serverless SQL endpoint of the Synapse workspace.

Select the Direct Query option.

https://azure.microsoft.com/en-gb/blog/power-your-business-applications-data-with-analytical-and-predictive-insights/

Hope it helps..

Advertisements

How to – improve data migration performance – SSIS & Azure Data Factory (Dataverse / Dynamics 365)


In one of our projects, we were executing SSIS Packages (KingswaySoft’s Dynamics 365 SSIS Integration Toolkit) under Azure-SSIS Integration Runtime in Azure Data Factory.

Check out –

Deploy and run SSIS Package in Azure Data Factory

Deploy and run SSIS Packages that use KingswaySoft’s SSIS Integration Toolkit on Azure Data Factory.

After trying out different combinations, we eventually settled with batch size as 10 and thread as 15.

https://nishantrana.me/2021/06/08/data-migration-optimum-batch-size-and-threads-for-maximum-throughput-microsoft-dataverse-dynamics-365/

Also, we used multiplexing – running the CRM Destination Component under different application users.

To be precise, 4 in our case and we can increase it get further  improvement in the throughput.

And also based on the recommendation of our Microsoft’s Fast Track Architect we raised a Microsoft ticket to increase the number of web servers allocated from 2 to 3.

Below were our findings,

the earlier run was using batch size as 100 and thread as 20 with the number of servers as 2.

On updating the batch size to 10 and thread as 15 and with the number of servers allocated increased to 3, there was a huge performance gain.

Check the table below – 

The above table is sample run in the sandbox environment, during the final run in production we got the number of servers allocated, increased to 6, gaining further improvement.

Also, check out the below blog post to understand about the affinity cookie and its affect on performance, in case if we doing migration using custom code –

https://markcarrington.dev/2021/05/26/improving-bulk-dataverse-performance-with-enableaffinitycookie/

Hope it helps..

Advertisements