New Admin Trial (subscription-based) experience – Dynamics 365


Recently a new Trial (subscription-based) environment option added to the tenants in the Power Platform Admin Center

Earlier we were limited to below options –

These new trial types are created and controlled by tenant administrators, as a result of signing up for a trial subscription and can be added to the existing tenant.

This new environment follows the trial subscription lifecycle (which is typically 30 days) and can be extended from the admin center.

https://admin.microsoft.com/Adminportal/Home#/subscriptions

  • A total of 3 trial environments can be created.
  • Trying to create 4th will give us the below error

Get more details here

https://docs.microsoft.com/en-us/power-platform/admin/trial-environments

Hope it helps..

The new Column comparison in queries in Dynamics 365 / PowerApps


Column Comparison is one of the best features that has been recently added to the product.

Column comparison allows us to compare values of 2 different columns in our query be it Fetch XML, Web API, or through SDK API.

Sharing some of the basic examples that we tried using our favorite  FetchXML Builder

  • If we run the following query “Find all contact which has the first name equal to the last name”

The result –

  • Find all contact where the first name is not equal to last name

The result –

The operators supported are –

Equal LessEqual GreaterEqual
Not Equal LessThan GreaterThan
  • Only 2 columns can be compared.
  • Only compatible attribute types can be compared.
  • E.g. “Find all contact where the first name is equal to address 1 city”

The result

It works as both are string attributes.

  • If we try comparing text field with options set, we will get below error message

  • Two option set can be compared as they represent the same type integer

Both having value 1

  • Comparing date fields

  • We are getting the result

  • For the lookups, comparing created by and owner id

works as expected.

  • For the below record we have the First name and job title as null

And here for below record, we have the same value for First Name and Job title.

On running the below query – find all contact where the first name is equal to the job title.

We get only one result. It ignored the blank (null) record.

Get all the details here

https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/column-comparison

Hope it helps..

Notes on Adobe Campaign Classic V6 – Planning and Segmentation


I am going through the Getting Started with Adobe Campaign V6 Pluralsight course by Otto Warner (which I would highly recommend) to understand the basics of Adobe Campaign.

The course covers V6 of the Adobe Campaign Classic. (the latest version is V7).

Adobe Campaign Classic is the original on-premise version of the product, the newer online-based is called Adobe Campaign Standard.

The below article list down all the differences between them

https://adobeexchangeec.zendesk.com/hc/en-us/articles/360020072212-Adobe-Campaign-Getting-started-with-your-integration

Below are some of the points that I have noted down from the course for quick reference

  • Adobe Campaign provides marketing automation and outbound communication capability.
  • Adobe Campaign Client Console which is a rich client needs to be installed in PC, which connects to the Adobe Instance.
  • Below is the screenshot of the client.

  • Below are how the campaigns are organized within Adobe Campaign. It starts with Plan, which can have multiple Programs, which in turn can have multiple campaigns in it.

  • Plan can be thought of as a calendar period, the program defines the actions to be taken with that calendar period and campaign centralizing all the aspects related to marketing campaign specifying target, delivery, etc.

  • To create a plan, we can navigate to Campaigns tab in the client app, and select Create à Plans

  • Below is how the new Plan screen looks like

  • A new program can be added from within the Plan’s calendar.

  • Or can be created from Create option as shown below

  • The program screen looks similar to the plan.

  • The below screen shows the Webinars program for the Plan – August 2017’s calendar view.

  • A new campaign can be added from within the Program or we can use the Create option.

  • The campaign has additional details like campaign template and main channels as shown below.

  • Below is how the dashboard of the saved campaign looks like.

  • The edit tab for the campaign allows assigning the campaign to a user.

  • It allows provision for attaching the documents

  • We can also manage the budgetary aspect of the campaign, which could be used for reporting.

  • It also provides the Audit capabilities.

  • The targeting and workflows tab is where the actual orchestration happens

  • Below is the folder structure created for Plans (August 2017) and Programs (Webinar and Win-Backs) within the plan.

  • Recipients are the records against which campaign will be executed.

  • For recipients, custom fields can be added by admin.
  • New recipients can be created manually or can be imported from different sources.

  • Coming back to Campaign’s Targeting and workflows tab, we can see different components in the Targeting section, that can be used to define the workflow.
  • Query and Read list step are used for specifying the base target, this is where the workflow would usually start.

  • For Query step, below are the different filters that can be applied

  • Here user defined filters can also be applied.

  • Filtering conditions restriction filter can be used to define filter conditions.

  • The expression editor allows selecting different fields either from the same target or from the related records.

  • Below is the filter condition defined “Gender equal to male”, here multiple filter conditions can be defined and grouped.

  • Below is how the query step looks within the workflow panel.

  • The split step can be used to further divide the list. Say e.g. we want to split males base list into above 18 and below 18 years of age.

  • Union step can be used to combine the result of multiple queries.

  • With the intersection step, we can define reconciliation criteria either based on the key, shared columns, or specific columns.

  • With the exclusion step, we can define what records to be removed from the primary set.

  • Deduplication step as the name suggests, can be used to remove duplicate records based on criteria defined.

Here we looked into some of the basics of Adobe Campaign with regards to Plan, Program, and Campaign and how the targeting works.

Next, I’d learn about the delivery aspect and how to run the campaign and share my notes on the same.

Hope it helps..

Installation Failed – UI flows setup (Setup.Microsoft.PowerAutomate.UIFlow.exe)


While trying to run the UI flows setup we got the below error

It was because we were trying to install it on Windows 10 Home

https://docs.microsoft.com/en-us/power-automate/ui-flows/setup#limitations

Hope it helps..

How to – Use Append and Merge to combine data from multiple data source in Power Platform dataflows


Let us continue with our previous post where we loaded the data from on-prem SQL DB to CDS using dataflows.

https://nishantrana.me/2020/07/07/load-data-from-sql-on-premise-to-cds-common-data-service-using-power-platform-dataflows-in-power-apps/

Now suppose we have another table (or any other data source) having the contact details, which we would like to append/merge along with our previous data source.

For simplicity, here we have created a copy of the existing table and added a new record with different values.

Edit the existing data flow created earlier.

Click on Get data and select the SQL Server database.

*The other data sources that are available.

Specify the connection details to connect to the database.

Select the new table that we had created.

Next click on Append queries, select Append queries as new, to create a new query.

Specify the primary table and table to append.

The new Query by default named Append will have the data from both the tables combined i.e. appended, which can then be used to load data to the existing contact entity or load to a new entity.

Specify the mapping in the data flow that completes the configuration of the dataflow.

That was about Append queries, now let us take another simple example to see Merge queries in action.

Again let us create one more table that has additional detail (e.g. Mobile Number) for the contact records. Just for simplicity, we are creating a table else it could be any of the supported data sources.

Let us edit the dataflow created earlier, and select Get data to get the data from the SQL Server database.

Here we have selected the new table Contact Details.

This time select Merge queries.

Specify the left table and right table for merge and the join type.

Select the join keys column.

Here we have opted for Inner Join.

The result includes the 1 matching row.

Expand the MyContactDetails column to populate the MobileNumber data.

Now with the data transformed, click on Next and define the mapping using the new merged query.

After a successful refresh, we can see the mobile phone field updated.

Let us update the value again for the mobile number field and run the refresh.

We can see the value updated for the CDS contact entity.

If the tables are already related using foreign key relationship for e.g. Contact and Contact Details, the Get data will load the related table, without any need of merge queries.

PkFk

Refer below articles for more details on Append and Merge in Power Query.

https://radacad.com/append-vs-merge-in-power-bi-and-power-query

https://carinaclaesson.com/2020/03/19/combining-information-from-multiple-data-sources-with-power-platform-dataflows/

Hope it helps..

Advertisements

How to – Use Azure AD Conditional Access to block access by country (Dynamics 365)


In the previous post, we covered conditional access based on the device platform, here we’d look into how we can use the network location to block the access.

We can either use IP ranges or Countries / Regions for defining the location.

Login into the Azure Portal

https://portal.azure.com/

Navigate to Azure Active Directory – Security – Named locations to define the location.


Here we are adding a new countries location record.


For the new location, we have selected India and UAE.


Next click on Conditional Access to define a new policy.


For Users and groups, we have selected a user named testuser1.


For Cloud Apps or actions, we have selected Common Data Service.


For Conditions, we have specified Locations condition with the Restricted Locations record that we had created earlier.


For Access Controls, we have selected Block access.


Enable and create the policy.


Before the policy was enabled, test user1 was able to access Dynamics 365.


After enabling the policy if we try accessing Dynamics 365 from either UAE or India location, we’d get the below message.


Same for the Dynamics 365 for Phones app.


Test user 3 to which policy doesn’t apply can still access Dynamics 365.


Hope it helps..

Advertisements