Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

How to calculate the number of active opportunities per month

Hi guys, 

 

I'm new here and I have the following scenario:

 

I use the SalesForce opportunities base and I have a calendar table. The two are related by the opportunity's closing date. (Making it clear that in the Opportunity table, the data is not repeated)

 

My structure is as follows in the Opportunity table:

 

amandaborges_0-1626725274874.png

 

I need to make a table with the months of the year and how many active opportunities per month.

 

For example: Opportunity 1 opened in January and closed in July. It has to appear active in January, February, March, April, May, June and July.

 

How can I do this? I can't solve it 😞

 

Thank you in advance!

1 ACCEPTED SOLUTION
DataInsights
Super User
Super User

@Anonymous,

 

This solution uses a disconnected date table SlicerDate. It does not have any relationships with other tables.

 

Measure:

 

Active Opportunities = 
VAR vMinDate =
    MIN ( SlicerDate[Date] )
VAR vMaxDate =
    MAX ( SlicerDate[Date] )
VAR vResult =
    CALCULATE (
        COUNT ( Opportunity[ID] ),
        // creation date in current month
        ( Opportunity[Creation date] >= vMinDate
            && Opportunity[Creation date] <= vMaxDate )
            // closing date in current month
            || ( Opportunity[Closing date] >= vMinDate
            && Opportunity[Closing date] <= vMaxDate )
            // creation date in earlier month and closing date in later month
            || ( Opportunity[Creation date] < vMinDate
            && Opportunity[Closing date] > vMaxDate )
    )
RETURN
    vResult

 

Create visual with SlicerDate[Month]:

 

DataInsights_0-1626807944844.png

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

3 REPLIES 3
DataInsights
Super User
Super User

@Anonymous,

 

This solution uses a disconnected date table SlicerDate. It does not have any relationships with other tables.

 

Measure:

 

Active Opportunities = 
VAR vMinDate =
    MIN ( SlicerDate[Date] )
VAR vMaxDate =
    MAX ( SlicerDate[Date] )
VAR vResult =
    CALCULATE (
        COUNT ( Opportunity[ID] ),
        // creation date in current month
        ( Opportunity[Creation date] >= vMinDate
            && Opportunity[Creation date] <= vMaxDate )
            // closing date in current month
            || ( Opportunity[Closing date] >= vMinDate
            && Opportunity[Closing date] <= vMaxDate )
            // creation date in earlier month and closing date in later month
            || ( Opportunity[Creation date] < vMinDate
            && Opportunity[Closing date] > vMaxDate )
    )
RETURN
    vResult

 

Create visual with SlicerDate[Month]:

 

DataInsights_0-1626807944844.png

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Anonymous
Not applicable

@DataInsights , hey! 🙂

 

Thank you for your help! This works perfectly.

 

In my structure there is already a calendar table related to several other tables. I'll create one just for this kind of situation... I hope it won't be a problem.

 

I really appreciate it 🙂 Have a nice week.

Hi Amanda,

 

Glad to hear that works. That's the correct approach--keep the main calendar table in your data model (with relationships to other tables).

 

Have a good week. 🙂





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.