Tag Archives: Dynamics 365

Will Joel Be Lazy Today? A PowerApps AI Exploration

In February I got an Apple Watch to hold myself accountable for staying active. After AI Builder was announced at the Business Applications Summit, I decided to use the watch data to see what factors influenced my activity.

Gathering Data

There are a couple ways to get data out of the iPhone’s Health app. I found the appropriate table that tracks data for the Apple Watch Movement ring and threw it in Excel.

The next step was to dream up some factors that might influence my activity on a daily basis. These are intuitions and guesses based on my own personal experience. The factors I came up with were:

  • Climate (weather high and low)
  • Day of the week
  • Goal streak – consecutive days of being active
  • Total hours of meetings

This data gathering and theorizing was by far the most time intensive part of this process – more on that later. Below is the first summary table by day. One field contains the binary class field of whether I hit my daily movement goal.

2019-07-28_13-15-27

Adding Data to PowerApps

Data needs to be stored in a CDS Entity for AI Builder to see it. Creating the Entity is fairly straight forward.

Surprisingly, importing data from an Excel file was a very frustrating processes. This seems a fairly basic requirement, especially for something like AI Builder where quickly iterating is key to success. Some of the issues I encountered include:

  • Cannot create the Entity fields based on the Excel file.
  • Had to create a new Excel file with only one tab.
  • Fields aren’t automatically mapped, even though the field names are identical.
  • Errors are common, and error handling information is complicated to view.
  • When the import is complete, or errors out, there’s no close or back button.
  • There’s no easy function to delete all the records when re-importing, which makes it hard when the data and fields keep evolving.

Once data is ready, building the AI model is dead simple. Next > Next > Finish type stuff.

Improving the AI Model

My initial models were kind of dumb. For example, I hadn’t designed my “Goal streak” data field correctly and it ended up predicting 100% of the time whether I hit my goal, because it was a circular reference.

I went back to Excel and started to investigate the data field by field via Pivot tables to see trends and improve the dataset. For example, below are the trends by day of the week against the binary classification.

Pivot

I found each data point to not be individually super helpful, but there were some minor trends that matched my intuitions – which I would assume AI would take and go do magic AI things.

I also tried to classify the data into more broad groupings – I assumed an AI model might struggle to understand a variety of temperature integers, for example. I’m not a Data Scientist and I was making educated guesses based on my intuitions and some data trends I saw to come up with the classifications and help simplify the predictions.

My intuition, and individual data points, suggested the following:

  • I’m more likely to be active when it’s warmer.
  • I’m more likely to be active when I don’t have a lot of meetings.
  • I’m more likely to be active when I’ve been consistently active prior days.

The counter intuitive data I found was:

  • I’m lazier on the weekend (including Friday). Probably because I’m writing long blogs instead of going outside.

Testing the AI Model

Let’s take Joel’s Laziness for a test drive.

Here’s what the model shows.

Power AI

I used the Excel add-in to put in my data points from yesterday that weren’t included in the training dataset. The predicted result of hitting my Saturday goal:

“No”

Exactly right!!! We’re all living in the future!

20190728_195448376_iOS

Wait…what???

I’m Gonna Need Some Detail Over Here

AI Builder is a preview version of a complicated subject, and I want to have realistic expectations. After all, the AI model did get it right.

The problem is – looking at raw data in Excel gave me actionable information, while AI Builder didn’t. Going forward, I need to know the reasons why the prediction is “Yes” or “No”, so I can change my behavior based on the prediction. Looking at the raw data in Excel informed me that I suck at exercise on the weekend.

It’s Sunday.

I’m going for a walk.

 

 

Spring 2019 Release Notes Deep Dive

Spring is in the air with flowers and rain and 500 pages of Release Notes. I’d like to highlight some of the features I’m looking forward to.

Dynamics 365 Finance and Operations

Expense Client Usability

I’m a fan of any UI refreshes in the application, especially the forms I have to personally use on a regular basis. I can already feel myself getting reimbursed faster.

Simplified View – Templates and Saved Views

These are additional UI improvements for allowing different groups of users to have different Form views. Seems like this will improve productivity; I hope there will be options to deploy the correct query/view from a Workspace or Menu item so users can get the appropriate Default view. It’s also unclear what options will be available via the X++ Development tools.

Enhanced Grid Experiences

There are a lot of forms in the Project module dealing with the Work Breakdown Structure or Subprojects that could benefit from fancy grid controls. Also, there are some “light weight” reporting scenarios that could be lit up using these controls.

Updated Navigation Bar that Aligns With Office Header

I have mixed feelings. I liked the menu path for screenshots and documentation. Hopefully the menu search being obvious is worth the trade off.

Developer Tools and Application Lifecycle Management

Lots of fantastic concepts in this article for developers, especially partners. Developer VMs can become a significant costs for developing for Dynamics 365 Finance and Operations, so reducing this cost is a plus. Also, having a Microsoft managed version of a Tier 1 environment could standardize some disparate processes.

Event-driven Architecture for Integrations

There are so many possibilities when adding Event driven architecture (think Microsoft Flow); the challenge sometimes is imagining and defining good business scenarios.

Finance and Operations, Entities in CDS for Apps

Since CDS was released in the April 2018, F&O has needed a more native integration. This is a welcome addition to the stack.

However, the release notes don’t specify if this kind of CDS integration can be customized using the development tools. I hope that’s part of the experience so we can light up scenarios outside those listed in the article.

One Version Experience

The Embedded Power BI tool looks interesting.

Business Intelligence (Power BI)

New Filter Experience

This is in regards to the Filter bar on the right side. I would guess most report consumers don’t even know this exists. Having a way to have it expanded and formatted will turn those types of filters into viable options.

Drill Between PBIX Reports

It’s been possible in the past to do a version of this using URL formulas and URL filtering. Will be good to have more built in options.

Performance Analyzer for Reports

Excellent idea, especially for DirectQuery based data connections or complicated DAX expressions.

Azure Machine Learning Integration

Nice to get options other than web services to consume Machine Learning models.

April – September 2019 Release Notes For Dynamics and Powers

Check out the latest features for all your favorite Dynamics and Powers!

https://docs.microsoft.com/en-us/business-applications-release-notes/april19/

Pro tip: The first article in every section contains the Estimated release date. I suggest looking at feature from that article so you also know when to expect them.

For example the F&O article: https://docs.microsoft.com/en-us/business-applications-release-notes/april19/dynamics365-finance-operations/planned-features

AXUG Summit | Deep Dive Into D356FO Reporting

Scott has a great opening slide for this deep-dive reporting session:


It’s so true that many times BI is described in terms of the final output, but much of the work goes into building the underlying data model. For D365FO, data for high volume transactional reporting is exported to an “Entity store” or “BYOD” database.

Entity Store – A Data Warehouse that Microsoft Manages

The Entity store is a repository for reporting aggegated data. Power BI using Direct Query is the only mechanism to report off Entity store data.

Power BI Embedded in Workspaces is only available using the Entity store.

Bring Your Own Database – A Data Warehouse the You Manage

The alternative to the Entity store is using the Data Management framework to extract denormalized data into an Azure SQL database in your Azure subscription. One of the primary advantages of BYOD is more flexible than the Entity store.

Data tools possible with BYOD:

  • Power BI using Direct Query or Import
  • SSAS Cubes
  • Consuming data from systems other than D365FO
  • Third party data tools

Reporting tools possible with BYOD:

  • Power BI
  • SSRS
  • Third party reporting tools

Summary

Great session providing a deeper dive into the technical details of using the new D365FO tools. Reporting is a complicated but critical area to understand for any D365FO implementation.

 

Dynamics AX Manuals is Now JoelLeichty.com

I felt annoyed for the past year that AX is no longer called AX, and I no longer make manuals for the iPad; “Dynamics AX Manuals” needed a refresh. Unlike product names, which seem to change every six months, I will very likely never change my name. With consistency and future-proofing as my guide, I decided to get creative and go with joelleichty.com. Also find me on Twitter @joelleichty.

If you ever want to vent about marketing craziness, use the hashtag #MicrosoftBusinessSolutionsDynamicsAXapta365ForFinanceAndOperationsEnterpriseEdition.

Common Data Service (D365O Tech Conference)

The Common Data Service (CDS) has been a much discussed concept since the middle of 2016 when Dynamics 365 was first announced. The way this feature is described sometimes seems like CDS is the unicorn of the Dynamics 365 world – it solves any problem.

Sometimes what gets lost in this story is the basics – CDS is a new, simplified database concept. The advantage of the new CDS approach is a faster setup, deployment, and management of the data model, user interfaces, and integrations.

Environments

Environments group features together in CDS including:

  • A collection of tables and table relationships – aka creating a database
  • Publishing Power Apps aka a user interface
  • Integration and mapping tools connected to Dynamics 365

Common Data Model

The CDM is the definition of tables and table relationships. The Microsoft published CDM is geared towards the Dynamics 365 entities and used for integrating multiple D365 products.

Power Apps

In many of the CDS demos Microsoft shows Power Apps with CDS, which sometimes conflates the technology. The database components of CDS don’t require a Power App to be used.

Power Apps are most…powerful when they combine requirements from multiple systems into a single experience. For example, there may be multiple systems that do issue or task management, and each system may require its own fields. A Power App can be created with all the fields required across all systems, then the integration features to push issues into each system will work swimmingly.

Integrations

CDS entities eventually will be used to pass data back and forth between Dynamics 365 databases. There’s a focus by Microsoft to provide some scenario based integrations for things like Order to Cash scenarios between Dynamics 365 Sales and Operations.

There are a couple of mechanisms for passing data back and forth. Microsoft Flow is most commonly used in demos because it supports many products, but there’s also a more “native” integration feature that will pass data more efficiently for Dynamics 365. The integration features also include data transformation logic.

Templates 

Templates are used to deploy the CDM, PowerApps, and Flows/Integrations as an Environment.

Admin Center

The Admin Center is a portal for designing, publishing, and maintaining the CDS environment.

This portal also manages the security. They key components of security like table level and record level security are in the toolkit.

Summary

There is a lot of interesting technology around the CDS. But right now it seems like the CDS is a solution in search of a problem. There needs to be simple examples of the technology solving specific problems for Dynamics 365 for Operations customers to jump in on this new feature set.

Microsoft will probably hate the comparison 😬, but I think of CDS in the same way as people used to use Access databases. Access databases were simple, limited, specific tools; many times they were disposable as technology evolved. Conceptually CDS may be an evolution of that story. If the business use case is longer term, it may be better to build features and UIs directly in a Dynamics 365 product.