Migrate Azure Analysis Services to another Tenant

Azure Analysis Services are SSAS as a Service hosted and managed in Azure. We recently had to migrate an analysis model from one tenant to another. Here is a video that illustrates how this can be done:

Find more videos in my Youtube Channel.

Towards Trust in Complex Cloud-based ERP Systems ​by Informing Users about the System Status

Modern cloud-based ERP systems are complex distributed software applications. These systems became more powerful over the last decades and provide more features to satisfy user needs than previous generations of ERP systems. Furthermore, they are integrated with other cloud-based systems. [Question/problem] The resulting increase in complexity leads to a higher probability of failures within this integrated system. This makes it difficult for users to fully understand these systems and even qualified key users don’t have an overview of possible system issues anymore. As a result, the number of support calls and diffuse support ticket requests have increased in the last years. Moreover, ERP partner organizations such as insideAx experience that users lose trust in their systems. [Principal idea/results] The goal of our work is to foster the trust of ERP users in cloud-based ERP systems and to reduce the number of unnecessary support requests, by enhancing existing user feedback and monitoring mechanisms and provide a visualization of system health indicators to users. Overall, these visualizations and explanations of the system health status need to be easy to understand by users. [Contribution] In this workshop paper, we provide insights from industry on how to foster user trust in complex software systems and depict a conceptual solution which makes use of system monitoring data to communicate the system status to users in a simple and understandable way. Our conceptual solution, for which we also provide a first implementation architecture proposal, foresees that simple modifications to the software and ambient light devices allow to build such visualizations.

The 5th International Workshop on Crowd-Based Requirements Engineering (CrowdRE’21) https://crowdre.github.io/ws-2021/

Dynamics 365 Customer Voice template for Field Service Work Orders

Dynamics 365 Customer Voice is a great tool to create surveys. It also comes with a set of integration templates for other Dynamics 365 products like Customer Service and Field Service. The service order template is using a flow in Power Automate to send a satisfaction survey to the primary contact after a work order in Dynamics 365 Field Service has been completed. This video shows how to setup the template and what it looks like in practice:

Windows 365

Microsoft released a new offer: Windows Cloud-PC. You can choose between two licensing types, Windows 365 Business for small companies and Enterprise for larger ones. Technical speaking, Windows 365 is nothing more than a Windows 10 VM running in Azure providing access via RDP and RDP Web Client. This means you can operation your Windows from almost any device with a Browser e.g. a Tablet or shared PC. Windows 365 is integrated within Office 365. You can assign a cloud pc to a user from within the Office 365 admin panel. Users can access the cloud pc from Office 365.

A Cloud-PC can be accessed using a web browser from your Office 365 portal

In contrast to a typical Azure VM, Windows 365 comes with a fixed price you pay per month depending on the sizing. Unfortunately, you can only choose from different configurations based on CPU and RAM but not storage technology. For example, if you select a cheaper one with 2 cores and 4 GB RAM you will get a HDD instead of an SSD.

Cloud-PC: Windows 10 as a Service

In theory you can use a Cloud-PC from a tablet, like in my case from a Samsung Galaxy Tab. But in practice it turns out that it is very buggy to use. The on-screen keyboard pops up very often. The full-screen view resizes many times. Calling the Windows start menu triggers strange actions. One opportunity for Windows 365 could be to provide Home-Office users a workplace.

Dynamics 365 FO – New Grid Control in Action

New Grid control in Dynamics 365 Finance & SCM

The new grid control in Dynamics 365 FO comes with some cool new features. Watch the video on my YouTube channel to see it in action.

  • Copy&Paste data from Excel into Dynamics 365 FO
  • Faster data entry due late field validation
  • Easily Drag&Drop reorder columns
  • Pin columns on the left while scrolling
  • Use formulas in numeric fields
  • Calculate totals for numeric fields

How to choose the right BI and reporting strategy for Dynamics 365 Finance

Dynamics 365 for Finance and Supply Chain Management offers a broad range of reporting and business intelligence options. You can utilize the integrated Power BI dashboards, link the Power BI report gallery within Dynamics, use integrated SSRS reports or develop Power BI reports and dashboards that connect to Dynamics 365. Sometimes it can be hard to decided which one to choose. Here is a guideline which one to choose depending on the reporting requirements.

Dynamics 365 Power BI and Reporting strategy

Decision Tree for Power BI / Reporting in Dynamics 365 Finance & SCM

Report Format:

What is the purpose of the report? Is it an interactive report / dashboard or is it a static list or document like artifact? For example, sales analysis is typical an interactive report while a collection letter is a printed document. Power BI is great for interactive data analysis, SQL Server Reporting Services (SSRS) is the right tool for lists and page oriented printable documents.

Real Time:

Do you need to see transactional data as soon as it is generated in Dynamics? For example posting and invoice and immediately printing the document. If so, you need to access the transactional database (AxDB). There are two ways: Use integrated Reporting Services or query entities via OData. However, using entities allows you to access the AxDB but Power BI doesn’t support Direct Query mode for OData, i.e. you have to hit refresh in order to get the latest data.

Multiple data sources:

Is Dynamics 365 Finance the only data source for your report, or do you need to integrated external data sources as well? An example could be to develop a revenue analysis which includes actual sales data from Dynamics 365 as well as demographics and household income. Integrated Power BI dashboards in Dynamics 365 use direct query to access the AxDB and cannot integrate other data sources. It is also not recommended to load external data into Dynamics 365 AxDB because you have a limited cost free database size in your subscription. Additional SQL storage has to be paid.

Additional licenses:

Dynamics 365 Finance and Supply Chain Management includes the rights to view the integrated Power BI dashboards. No additional Power BI license is required. Reports developed using the integrated SQL Server Reporting Services technology are also covered by the Dynamics license. External Power BI reports, dashboards and paginated reports require additional Power BI licenses. At least Power BI Pro for reports and dashboards, Power BI Premium Capacity or Premium per User for paginated Reports.

Examples:

An interactive custom Power BI Report viewed in Dynamics 365 Finance via the users Report Catalog option

Production Performance is part of Dynamics 365 Finance & SCM and directly connects to the entity store (aka. AxDW)

A paginated report in Power BI (Premium)

A static SSRS paginated report in Dynamics 365 Finance and SCM

Conclusion

Before you start working with a certain product, make sure to understand the requirements. Identify the data sources and how to access them. Then choose the right tool for the job. Don’t try to make a printable Power BI or fancy SSRS. By leveraging the full reporting and BI potential you can deliver a great user experience that adds value to Dynamics 365 Finance and SCM.

Use Data Entities in Dynamics 365 Finance & SCM to expose Business Logic

Entities in Dynamics 365 Finance & Supply Chain are not only good to access data. Entities can also be used to execute X++ business logic from 3rd party applications like Power Automate.

For example a table contains shipping carrier records. A Carrier has a Name and Description. The name is the primary key. The combination of Name and DataAreaId makes a record unique at the database.

Carrier Table

There is also an entity to access the data.

Carrier Table Entity

An Action is a piece of X++ logic exposed via entity. This example sets the Carrier as default value for a customer:

public class DMOCarrierTableEntity extends common
{
/// Set as default
/// Customer Account
[SysODataActionAttribute('SetDefault', true)]
public void approve(CustAccount _custAccount)
{    
    ttsbegin;
    CustTable custTable = CustTable::find(_custAccount,true);
    custTable.DMOPreferredCarrier = this.Name;
    custTable.update();
    ttscommit;
}

Such an action can be called via Power Automate:

Call custom action via Power Automate

Mini Webcast Series: Dynamics 365 FO Connector for Power Automate

Power Automate (aka. Flow) is a great solution for process automation. It is very useful to realize cross-application processes. Power Automate features a wide variety of tasks and connectors. It also comes with a connector for Dynamics 365 Finance and Supply Chain Management. It can be used to trigger a flow, interact with data and execute business logic in D365 FO from within a flow. You can find all videos on my YouTube Channel.

Part 1: Trigger a Flow with Business Events

Business Events in Dynamics 365 Finance and Supply Chain Management are use to interact with other systems. For example you can send message to Azure Event Hub but also to Power Automate. There are some specific events but you can also use change-based alerts in Dynamics. This video shows how to trigger a flow using such a business event.

Business Events can trigger Power Automate flows

Part 2: Interact with data in Dynamics 365 Finance and SCM

The Connector for Dynamics 365 FO uses entities to interact with data in the ERP system. You can create new records, read, update and delete records. Here is an example where Power Automate receives data from Forms Pro and create a new customer in Dynamics 365 FO.

Create new records in Dynamics 365 FO from Flow

Part 3: Execute Business Logic in Dynamics 365 Finance and SCM

The Dynamics 365 FO Connector in Power Automate supports to execute business logic by calling actions on entities. Here is a video how to approve a Bill of Materials in Teams and execute the Approval logic via Flow.

Execute Business Logic from Flow

Filter on NoYes field in Dynamics 365 Flow Connector

The Dynamics 365 connector in Power Automate provides the basic operations to interact with your Dynamics 365 FO instance. You can create new records via flow (e.g. a new Customer), read, update and delete records (e.g. Sales Order Lines) and retrieve the list of available entities.

Dynamics 365 Finance and Supply Chain Connector in Power Automate
Dynamics 365 Finance and Supply Chain Connector in Power Automate

The connector uses OData to interact with the entities in Dynamics 365 FO. Therefore, it also supports OData syntax for filter expressions. If you want to filter on a boolean Extended Datatype like NoYes and try to use “Yes” or “1” or true it will not work. Dynamics 365 has its own Datatype that comes from the entity definition Microsoft.Dynamics.DataEntities.NoYes .

One Time Customer in Dynamics 365 Finance
One Time Customer in Dynamics 365 Finance

For example, if you want to get all One-Time Customers from Dynamics 365 FO, use the Dynamics 365 connector and choose the action “List items in present Table”. Use the Customers entity. To filter on a NoYes field like One-Time Customer you have to use the following syntax:

  • IsOneTimeCustomer eq Microsoft.Dynamics.DataEntities.NoYes’No’
  • IsOneTimeCustomer eq Microsoft.Dynamics.DataEntities.NoYes’Yes’
Filter on NoYes field in Dynamics 365 Finance Connector
Filter on NoYes field in Dynamics 365 Finance Connector

Sixth and last week under third Lock-Down in Austria (8. Feb. 2021)

The 3rd Lock-Down is more or less over. Restaurants and Bars are still closed. Kids are allowed to go to school but are separated in shifts. Also mandatory self-tests are required to attend a class. If for what reason parents don’t wont to get their kids tested they have to attend via Home-Schooling. Retail shops will open as well but require 20 m² per customer. FPP2 mask are now also mandatory in shops and public transport. If you wan’t to get your hairs cut, you have to have a negative Covid-19 not older than 48 hours.

However, there is great concern about the end of the lock-down. The South-African Covid-19 mutation is now established (mainly in Tirol). The British mutation is becoming mainstream. The self-service tests at School seam to be not very effective.

Daily infections in Austria at the end of the third lock-down (Source: https://covid19-dashboard.ages.at/)

Covid-19 map shows reduced risk at Vienna

Since a very long time the traffic-light encoded map doesn’t only show everything at high-risk red but Vienna is now displayed as still very-risky orange. However, there is still not distinguishing between districts within a state.

Stop-Corona App

The Stopp-Corona App by the Austria Red Cross is now compatible with 11 other EU countries. Users can now use the App to warn people from other EU countries using their foreign App. The app has been developed during the first Lock-Down in spring 2020 but isn’t so popular in Austria.

Stopp-Corona App

COVID-19 in Computer Games

Corona can also be found in actual PC Games like Euro Truck Simulator and American Truck Simulator. SCS has set up a 0-damage vaccine delivery challenge in both games. The goal is to deliver 7 times the Covid-19 vaccines without any damage to the cargo.

Virtual Vaccine Delivery Challenge in ETS and ATS