I Built My First Finance Agent in a Couple of Weeks

Image
The first article in my Finance Agent series Over the last couple of weeks, I've been experimenting with Microsoft Copilot Studio, Dynamics 365 ERP MCP, and Power Automate to see what was really possible inside Dynamics 365 Finance. What started as a demo scenario quickly turned into something much more interesting. The original goal was simple. I wanted to help credit and collections teams respond to credit holds more efficiently. As I continued building and testing, I started discovering that agents could fundamentally change how people interact with ERP systems. And honestly, I don't think we're anywhere close to seeing the full potential yet. Quick Video  The Problem I Wanted to Solve If you've spent time working with Credit & Collections in Dynamics 365 Finance, you've probably seen this scenario before. A sales order gets placed on credit hold. The sales team starts asking questions. The credit team may not even know the hold exists until someone ...

USERELATIONSHIP in DAX


A common problem many users face it the fact that there are multiple date fields in their tables, and when they want to use a date dimension, Power BI only allows for on active relationship between the two tables.

For example, I have a dimension table from my leasing software that included information on each lease including the commencement date of the lease and the expiration date of the lease.  In Power BI when I use a separate date dimension (which I always recommend for many different reasons), I can only link the dimension table to date table with one active relationship.   See screen shot below.




Since most of my visualizations will be based on the Commencement Date, I will make that the active relationship.  However, I would like to create a visualization showing my leases by expiration date.  In order to do this, I have a couple options.

1.       I could create a second date dimension table in my model.  This is fairly simple.  I would just copy the first dimension and give it a new name (Expiration Date).  I would relate the Lease Details table to the Expiration Date table using the expiration date.  The drawback to this is if you are using date slicers on the report, you would need two different date slicers since they are different tables.  This can also quickly get out of control if there are numerous dates.

2.       I could use the DAX function USERELATIONSHIP.

Userelationship([columnName1],[columnName2])

The function returns no value; the function only enables the indicated relationship for the duration of the calculation.

By using this function I can create a new measure to count my leases based on their expiration date.

Expiring Leases = CALCULATE(DISTINCTCOUNT('Lease Details'[Lease]),USERELATIONSHIP('Lease Details'[ExpirationDate],'Date'[Date]))

Once this measure is in place, I can create my two different visualization using the same date dimension.







Comments

Popular posts from this blog

Showing the last 12 months based on a date slicer

Adding a new entity to Dual-write in Dynamics 365 Finance

A look at Dynamics 365 ERP and ERP Analytics MCP Servers