Forum Discussion

DataStraine's avatar
DataStraine
Icon for Advocate I rankAdvocate I
5 years ago
Solved

Ignore Future Dates in Calculations?

I have an issue due to the way my data is currently being calculated that I hope you can help me with. Previously, I got help on creating a forumla to properly get churned customers. You can find the help I recieved  here. The issue I have is that the way the current data works is that I have future dates in my calendar table because subscriptions can last for up to 5 years. When I use the formula as written in that response with my current data, I get all future dates as well. I need to hardcode the end date filter in my churn forumla or in the sumx forumla in order to stop showing future dates in visuals and other displayed resutls. I know I can limit this in visuals through filters; however, due to the way that visuals interact, it carries the carries the filter forward which I do not want. Is there a way to apply a filter onto either of these formulas in order to ignore all dates beyond the current (real time) month? 

Note - I cannot edit the calendar table as the way it is set up currently is needed for other forumlas and functions. 

Current forumulas

 

 

Churned Count = SUMX(
                    VALUES('Calendar'[Month-Year]),
                    [Churned Count Helper]
                )

Churned Count Helper = 
        COUNTROWS(
                FILTER(
                     CALCULATETABLE(
                         VALUES(Customers[Tenant Id])),
                    CALCULATE([Total Billable Count],
                        DATESBETWEEN('Calendar'[Date],EDATE(MIN('Calendar'[Date]),-6),
                        MAX('Calendar'[Date])
                        )) = 0 && 
                    CALCULATE([Total Billable Count],
                        DATESBETWEEN('Calendar'[Date],
                                    EDATE(MIN('Calendar'[Date]),-7),
                                    EOMONTH(EDATE(MIN('Calendar'[Date]),-7),0)
                                    )
                                )>0
                        )
                    )

 

 

Attempted Forumla

 

 

Churned Count Helper = 
        COUNTROWS(
                FILTER(
                     CALCULATETABLE(
                         VALUES(Customers[Tenant Id])),
                    CALCULATE([Total Billable Count],
                        DATESBETWEEN('Calendar'[Date],EDATE(MIN('Calendar'[Date]),-6),
                        MAX('Calendar'[Date])
                        )) = 0 && 
                    CALCULATE([Total Billable Count],
                        DATESBETWEEN('Calendar'[Date],
                                    EDATE(MIN('Calendar'[Date]),-7),
                                    EOMONTH(EDATE(MIN('Calendar'[Date]),-7),0)
                                    )
                                )>0 && CALCULATE([Total Billable Count], 'Calendar'[Date] <= EOMONTH(TODAY(), 0))
                        )
                    )

 

 

 

 

2 Replies