Monday, October 21, 2019

Using Twitter analytics data in Power BI – Part 1

I have been using Twitter for over 10 years but I never paid a lot of attention on engagements or impressions statistics but after listening to the Microsoft flow with Jon Levesque podcast  from @nz365guy I decided to take a look at what are drivers for more impressions or engagements on my Twitter account. So I decided to create some Power BI reports based on Twitter activity exports.



I only used Power BI in proof of concepts up until now so this was a good opportunity my Power BI skills which got a little bit rusty after not using it for more than a year. To get started I first exported my tweet activity report in CSV format from Twitter Analytics  (I did it manually but there is a REST API available as well). Next I combined the different CSV files while loading it into Power BI (I followed these instructions - How to load data from a folder in Power BI). After the usual data cleansing (remove unused columns, rename columns, setting appropriate date types) and data transformation I started extending the data model. Since I also wanted to know whether there is a difference in engagements/impressions based on the day of the week the tweets was sent, I created a custom date dimension. Power BI creates a default date dimension as well but I decided not to use this – see Power BI Date Dimension: Default or Custom? Is it confusing? for more info.

I also wanted to remove the urls/hyperlinks from my tweet text before building up a word cloud with the most common terms. Luckily Power Query supports some interesting transformation, you can temporarily transform a text into a list using Text.Split(text, “”), perform operations on each word and then reassemble it again using Text.Combine(list, “ ”)  (Trick found on Multiple replacements or translations in Power BI and Power Query)


I used a similar trick to found out the number of hashtags used in a specific tweet.




The Power BI report is still a work in progress but if you already want to have a temporary copy - DM me on Twitter

References:

Tuesday, October 15, 2019

Quick tip: Using XrmToolBox with a MFA enabled login

More and more customers are introducing Azure Multi-Factor Authentication (MFA) for Dynamics 365 CRM and while this is a good idea, there are some gotchas. If you are using XrmToolbox – the Swiss army knife in the Dynamics CRM consultant tool belt – you will need to revise the way you setup connections to your CRM/CDS environments.

Use the SDK Login Control when choosing a connection method


Next click on Open Sdk Login Control – this will open the standard browser login page and will allow you to fill in the details required in MFA.




References:

Tuesday, October 08, 2019

Dynamics 365 monthly reading list September 2019

Preview 2019 Wave 2 release topics

Technical topics (Configuration, customization and extensiblity)

Topics for Dynamics 365 Business Application Platform analysts, project managers and power users

Saturday, September 14, 2019

Getting started with Forms Pro : customer feedback is the ultimate truth

On  July 1th, Microsoft announced the general availability of Microsoft Forms Pro. Microsoft Forms Pro is an enterprise survey tool built on top of Microsoft Forms and the Common Data Service (CDS). Forms Pro allows you to design surveys in a user-friendly manner, distribute these surveys to your target audience and afterwards analyze the results using the built-in dashboards or using Power BI. Microsoft Forms Pro has been part of the Microsoft Forms Pro April 2019 release.
Forms Pro has been built on top of the Common Data Service (CDS) which allows for a deep integration with Dynamics 365 for Sales & Customer Service. (For background on CDS and Dynamics – read Making sense of XRM,PowerApps and some other acronyms (CDS,CDM, etc..)).

The goal of Forms Pro is to capture customer's (or employees) feedback about their experiences with and expectations for your products or services. By analyzing the response and taking appropriate action, you can increase customer loyalty, decrease customer churn and improve the way that your organizations interacts with customers, etc …


The goal of this blog post is to highlight some of the features I have been using on the project I’m currently working on  – for more extensive information I can highly recommend the blog posts by Megan Walker on the subject (see list at bottom of only  few out of the 20+ posts) as well as her Youtube FormsPro play list. Another option is to listen to  Episode 58 of the CRM MVP podcast

Getting started
To get started you need to install Forms Pro from AppSource (the Forms Pro solutions are already installed on a Dynamics 365 CE instance but are hidden by default) which will enable the forms editing and management environment. When you open it for the first time (https://forms.office.com/FormsPro/Pages/DesignPage.aspx) – it will show you a sample survey which is created in the default CDS instance.



If you want to create your surveys in a specific CDS (or Dynamics 365 instance) – you need to select this instance in the top right corner.



Creating a survey
I really like the survey design environment which is very easy to use. You can quickly add different types of questions – choice, text/long text, rating, date, Likert, Net Promotor Score, … with the ability to also format the questions (basic options such as bold,italic, font type/size, etc…).  Some question types you will have additional features e.g. render choice questions as dropdown or choice options, for ratings using stars or numbers and ability to use 1-5 options, …


You can personalize your surveys by inserting placeholders/parameters but  also by adding conditional branching rules in your surveys for the different questions – e.g. if a low NPS rating is given, you might want to ask extra feedback. You can hide questions and then make them visible using the conditional rules.  For more details see https://docs.microsoft.com/en-us/forms-pro/create-branching-rule



Theming your surveys is quite easy with the ability to change colors  and add images (for background and header) as required – at the moment there is no support (yet) to add custom CSS.



Distributing the survey
There are many ways of distributing your survey, manually send it, embed it in a web page, using your own distribution channel (e.g. SMS or other marketing platform) or using a QR code. But Forms Pro also comes with Microsoft Flow integration which provides Flow templates to send Survey invitation on common business transactions like sending out a survey when a customer case has been closed, asking feedback after a purchase, etc …. You can customize these Flow templates or create from scratch depending on business needs.



Viewing and analyzing survey responses
On the overview tab, you are able to see summary data about your survey like number of invites, number of responses received, Net Promotor Score (NPS) etc… You are also able to drill into the details of the question responses etc and export the data to Excel from here. Another interesting functionality is Survey Insights which uses AI and machine learning to find correlations between question answers and calculation of a sentiment score for text-based questions.



Summary

Forms Pro is a new product but it builds on top of both Microsoft Forms and the CDS platform of which a lot of functionality is leveraged. Although the foundational functionalities are very strong,  there are still some gaps and rough edges that you will encounter during an implementation.  But having worked with the Forms Pro product team in the previous months reassures me that the product team is open to feedback and are working hard on improving the product. Customers who are currently using the Voice of the Customer module should plan a migration path since  (source: Replace your Voice of the Customer Surveys with Microsoft Forms Pro)  If you think that some  functionality is missing I highly recommend you to use the Forms Pro Suggestion box on UserVoice .
In a next blog post, I will delve a little deeper into some of the gotchas and share some tips and tricks when implementing Forms Pro.

References


Blog posts by Megan Walker on Forms Pro:

Sunday, September 08, 2019

Introducing the PowerApps Checker PowerShell module to check PowerApps solution quality

Microsoft recently updated their tooling for checking the quality of  CDS/PowerApps/Dynamics 365 solution files by releasing the PowerApps checker PowerShell Module . With this new PowerShell module it is possible to receive a detailed report for your solutions identifying problems/issues taking into account best practices around performance, usage, upgrade readiness, supportability and maintainability. The static code analysis is based on rulesets which are provided by Microsoft and which are updated on a regular basis.

The main difference with the previously released tooling in the PowerApps maker portal (See Announcing general availibility of Solution Checker) is that you can now also do checks to validate both managed and unmanaged solutions (CRM2011 to current) so include on-premise solution validation.

The PowerShell module can be installed from https://www.powershellgallery.com/packages/Microsoft.PowerApps.Checker.PowerShell/1.0.2  and provides a number of commands that you can use to perform the checks.



Before you can use the Invoke-PowerAppsChecker PowerShell cmdlet ,  you need to create an Azure Active Directory (AAD) application in a tenant with PowerApps or Dynamics 365 licenses. Follow the steps on Get started using the Microsoft.PowerApps.Checker.PowerShell module to correctly do this using either PowerShell or manually.

The PowerAppsChecker cmdlets in interactive-mode (meaning you need to login everytime you run the checker) or using an application-based token.

Behind the scenes the PowerShell module will connect to the PowerApps checker Web API

The output of Invoke-PowerAppsChecker  is a zip file containing one or more reports in a standardized JSON format. The report format is based on static analysis results referred to as Static Analysis Results Interchange Format (SARIF).

By analyzing results and fixing indicated errors, you can learn how to write high-quality code and decrease the cost of fixing issues later.


Depending on the size & complexity of your project, I might be recommended to include it as part of your ALM strategy.



Other blog post:

Tuesday, September 03, 2019

Dynamics 365 monthly reading list August 2019

Preview 2019 Wave 2 release topics

Technical topics (Configuration, customization and extensibility)
Topics for Dynamics 365 Business Application Platform analysts, project managers and power users

Monday, August 19, 2019

D365 CE 2019 Wave 2 Preview: Dynamics 365 Business card scan preview feature

Top request by customers: scanning business cards and capturing the information will be available in the upcoming Dynamics 365 release and is now available in instances with early access enabled. It worked remarkably well except for my own business card ...


 

The functionality seems to be provided by the new "AI Builder Business Card control" which is added on the quick create contact form. Next on the todo list - testing out modifying the mappings.


Saturday, August 17, 2019

D365 CE 2019 Wave 2 Preview: enable contextual email communication

One of the upcoming enhancements that a lot of my colleagues were excited about is  Contextual email communication in Dynamics 365 for Sales & Customer Service.  Contextual email communication allows you to overlay an email composition screen on top of the existing Dynamics 365 forms without having to navigate away from the screen that you are on. After you have enabled your environment for early preview access you can go to App Settings > Enhanced email  to enable this new functionality. (You might need to do a hard refresh after enabling use CTRL-F5)



After you enable this feature, adding an e-mail to the timeline will open the composition overlay allowing you to consult information on the contact while creating your e-mail.



Thursday, August 15, 2019

Early opt-in to Dynamics 365 CE release wave 2

You can now enable the features coming in the 2019 release wave 2 update by opting in to the updates in the Power Platform Admin Center. Opting in will enable all changed user experience updates for Dynamics 365 for Customer Engagement.

Don't do this on your production environment but test it out on a copy of production - once enabled you can not turn this off


From October 2019, all environments will be enabled for 2019 release wave 2. Opting in now, allows you to get hands on experience with wave 2 changes and testing out the impact on your specific solution setup.

Tuesday, August 13, 2019

Dynamics 365 monthly reading list July 2019


Technical topics (Configuration, customization and extensibility)

Topics for Dynamics 365 Business Application Platform analysts, project managers and power users

Thursday, August 01, 2019

Azure Databricks training material on Microsoft Learn

Still on my todo list – reviewing the 15 modules on Azure Databricks and the learning paths for data engineering with Databricks.
Modules : https://docs.microsoft.com/en-us/learn/browse/?products=azure-databricks
Learning Path : https://docs.microsoft.com/en-us/learn/browse/?products=azure-databricks&resource_type=learning%20path

Code tip: Nullable datetime in C#

Nullable types are used when you need to represent the value of an underlying type. By default DateTime is not nullable in C# because it is a Value type, but using the Nullable construct (or the ? shorthand), you can assign the null literal to the DateTime type. Syntax is below:

 DateTime? dt = null;  
 Nullable<DateTime> dt = null;  

Wednesday, June 19, 2019

Dynamics 365 monthly reading list May 2019

Technical topics (Configuration, customization and extensibility)

Topics for Dynamics 365 Business Application Platform analysts, project managers and power users

Wednesday, June 05, 2019

PowerApps Component Framework available in public preview

On April 23th the PowerApps Component Framework (PCF) and the PowerApps CLI was finally made available for public preview. The PowerApps Component Framework (PCF) is the foundation for all controls used in the new Unified Interface released with Dynamics 365.



PCF allows 3d party developers to build visual components using the same framework which is used internally by Microsoft (see picture below for some examples) in the unified interface.


Components created using the PowerApps Control Framework are solution aware and can be used to build a more compelling user experience. The Dynamics365 developer community immediately picked up on this exciting news and Andrew Ly already shared the source code for 3 different controls  - Progressbar control , keybinding example  and countdowntimer.

Guido Preite  @crmanswers also set up PCF Gallery which contains a list of different controls like a timeline control, data card and UK postcode validator. Everyday new controls based on PCF are added.



The PowerApps Component Framework has been in private preview for quite a while but some details were already shared on a number of occasions in 2018. Initially the framework was called Custom Controls Framework and I you encourage to take a look at some interesting post from Bob Guidinger on this topic (see references below). Do keep in mind that there are some changes between the private preview and public preview – see Update existing custom components for more details.

You will notice from the documentation that most samples are using Typescript to implement custom components so I added also some other reference links below which might help you to get started. For a brief introduction you might also want to take a look at the PowerApps April community call recording (PCF presented from 00:47:00 onwards). One thing to note though is that this is a framework which is clearly targeted at professional developers so the Dynamics consultant who occasionally writes some Javascript web resources or some simple plugins in C# will face a steep learning curve. I even think that pure Javascript/.NET developers even have an edge on the average Dynamics consultant when trying to learn the necessary skills required for PCF development.

References:

Tuesday, May 21, 2019

General availability of PowerApps Solution checker makes it easier to check Dynamics 365 solution quality

On May 2th Microsoft announced the general availability of the PowerApps Solution Checker, tooling which allows you to run a static code analysis of your CDS and Dynamics 365 solutions against a set of best practice rules. By running these checks, you can identify problematic patterns in your code base which might impact performance or maintainability/upgradeability of your code.

Tooling like this is a must have for Dynamics 365 CE Online where releases are delivered on a continuous basis (with bi-weekly releases). With this release schedule, the risk of low quality solutions (from ISVs or SIs) interfering with Microsoft updates becomes more probable.

But this is not only about Microsoft safeguarding their Dynamics 365 SAAS platform but also about delivering value quicker and in a reliable fashion. I truly believe that code quality is a good indicator about how quickly developers can add business value to a software system. Static code analysis tools such as PowerApps solution checker might not be the holy grail but they at least give you an indication of the amount of technical debt that you have amassed within your Dynamics 365 instances.

I have been using PowerApps solution checker since a couple of months now and for projects with lots of different teams working on solution it allows you to have some indication of code quality without having to delve through 10.000 lines of code.  I also think that announcements such installing the solution checker by default, introduction of the Solution Health Hub and the announcement of PowerShell script support coming soon are showing Microsoft’s commitment on finally delivering on a good DevOps story for Dynamics 365.

References:

Monday, May 13, 2019

Dynamics 365 monthly reading list April 2019

Technical topics (Configuration, customization and extensibility)

Topics for Dynamics 365 Business Application Platform analysts, project managers and power users

Sunday, May 12, 2019

Quick tip: solving rendering issues in PowerPoint presenter mode

After upgrading to a newer version of Office, my PowerPoint slides displayed incorrectly in presenter mode – see screenshot below. I googled around but did not find anything useful.


Fortunately I remembered  a similar issue that I had in Internet Explorer 11 see Solve image rendering problems in Internet Explorer 11 on HP ZBooks. It seems that PowerPoint has a similar setting – go to Options>Advanced and underneath the Display section I had to check the “Disable Slide Show hardware graphics acceleration."


Monday, March 25, 2019

Dynamics 365 monthly reading list March 2019

Technical topics (Configuration, customization and extensibility)

Topics for Dynamics 365 CE business analysts, project managers and power users

Tuesday, March 19, 2019

Dynamics 365 certifications and course material update March 2019

Warning: I will update this blog post on a regular basis as new material becomes available or changes on certification are made by Microsoft
Updated March 31th: Added information on new roles (field service functional consultant and marketing functional consultant) and exams

For consultants wanting to certify on Dynamics 365, quite a few changes have been announced the last couple of months. In December 2018, Microsoft announced that they were retiring a whole set of Dynamics 365 exams (see Exam and Certification Retirement Roundup, December 2018).  Microsoft stated that many of the upcoming changes are part of the evolution to focus more on role-based certifications – for Dynamics 365 CE there are following roles defined but some content is not there yet (these roles were announced on Introducing New Certifications for Microsoft Dynamics 365 Customer Engagement Functional Consultants )

Meanwhile Microsoft also started retiring the content on the Dynamics Learning Portal (the traditional source for training content on Dynamics 365) and decided to made new content available as shorter learning paths on Microsoft Learn. The applicable learning paths are listed on the exam requirements pages listed below. But there are also a number of self-paced trainings available on https://openedx.microsoft.com . Big thanks to @Jukkan and @nz365guy for providing the direct links to these hidden treasure. The retirement dates below have already shifted a few times (initially the first retirement of Dynamics 365 exams was planned for March 31th)


Exam Number Exam Name Retirement Date Replace Exam Course material
MB2-715 Microsoft Dynamics 365 customer engagement Online Deployment June 30, 2019 MB2-200  Dynamics 365: Power Platform applications (8 hrs)
Dynamics 365: Power Platform automation (8 hrs)
Dynamics 365: Power Platform integrations (8 hrs)
Dynamics 365: Power Platform test and deploy (8 hrs)
Dynamics 365 core exam study guide created by @JonasWauters1
Revision guide for MB2-200
MB2-717Microsoft Dynamics 365 for Sales June 30, 2019 MB-210  Dynamics 365 for customer engagement for sales (8hrs)
Dynamics 365 for sales exam study guide  created by @JonasWauters1
MB2-877 Microsoft Dynamics 365 for Field ServiceJune 30, 2019 MB2-240 (Beta – published March 31th)
MB2-718 Microsoft Dynamics 365 for Customer ServiceAugust 31, 2019 MB2-230 (Beta) Dynamics 365 for customer engagement for customer service (8 hrs)
Dynamics 365 for customer service exam study guide created by @JonasWauters1

Study guide for MB230 by @BenHosk
MB2-719 Microsoft Dynamics 365 for MarketingAugust 31, 2019 MB-220 (Beta – published March 31th)

A new exam which has been introduced is Exam MB-900 Microsoft Dynamics 365: Fundamentals

References:

Friday, February 22, 2019

Making sense of XRM, PowerApps and some other acronyms (CDS, CDM, …)

With the July 2018 update of Dynamics 365 (9.0), Microsoft released an interesting architecture update to Dynamics 365 Customer Engagement where they separated the “core” features of the platform and the various business modules (Sales, Customer Service, Marketing, Field Service, etc…). This separation of the “core” platform features allows not only Microsoft Business Applications to leverage the platform capability but also third party providers and ISVs.

The term XRM  was used in the past to describe the ability to built business applications with minimal development effort (relying on configuration and customization) on top of the Dynamics CRM platform. These applications allowed you to model business entities and their relationships (xRM or any Relationship Management) and keep track of this information in a database without having to develop everything yourself. With the platform separation, we can now finally think about XRM and CDS in the same way (check out Yes, XRM is the new Common Data Service (2.0) by @Jukkan for more information).



From a solution architecture perspective we can see a number of main building blocks in the schema above:
  • Common Data Service (CDS)
  • Power Platform
    • Power BI -  interactive data visualization platform 
    • PowerApps – allows you to build canvas driven apps and model driven apps. Canvas driven apps  are apps that you can build using  a drag and drop design interface without requiring a developer - especially very productive to built mobile/tablet applications. Model driven apps also allow you built business applications without requiring a developer but unlike canvas apps you don’t have full control on the user interface but with additional functionality such as process support, full extensibility, etc … This was previously referred to as the xRM capability – sometimes also referred to as CDS for Apps. Initially PowerApps was a completely separate platform but with the Spring 2018 update Microsoft decided to merge the two different platforms. Read PowerApps Spring Update – if you want to get your heads around the new CDS for Apps and to understand how everything seems to finally come together. Definitely also subscribe to the PowerApp blog to keep up to date on the fast pace at which this platform is evolving. Microsoft is on a weekly release schedule for PowerApps which is also visible in the Released versions of Microsoft PowerApps
    • Flow  - an easy to use workflow and integration platform. A power-user can use this platform. Programming skills are not mandatory  https://flow.microsoft.com/en-us/ . With over 250+ connectors and a huge number of templates, Microsoft Flow allows you to automate your daily work.
  • Azure – Microsoft’s cloud platform powering all of the above. The Power Platform as well CDS for Apps also have built-in capabilities to integrate with a lot of Azure building blocks – an interesting read on this topic is https://powerapps.microsoft.com/en-us/blog/create-business-apps-using-powerapps-and-azure-functions/

I had a number of interesting conversations with Microsoft about the Microsoft Power Platform when attending the Microsoft Fasttrack bootcamp for solution architect in January 2019 which convinced me that this is not something that you can dismiss as a Microsoft Dynamics partner. The future toolkit for customization and extending Dynamics 365 CE will be PowerApps and Flow. But it seems that non-Dynamics partners are amongst the first movers to take a large part of this new market opportunity. As a Dynamics 365 partner (or consultant) take a look at Why Microsofts Power Platform is one of its biggest bets for 2019 which explains where Microsoft is moving to and how they plan to leverage the data captured in the Power Platform/CDS to provide more actionable insight - see https://aka.ms/allaboutbase

"The true value of Microsoft Business Applications platform is the ecosystem it resides in, the 
AI signals (internal and external) that enrich it, and the overall 
outcomes it creates for your business."





Background information: