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

Join the FabCon + SQLCon recap series. Up next: Power BI, Real-Time Intelligence, IQ and AI, and Data Factory take center stage. All sessions are available on-demand after the live show. Register now

Reply
js-2017
Regular Visitor

Creating a Dynamic Dates Table for a Cash Flow Model In Power BI

I am trying to recreate my excel based Monthly Cash Flow model in Power BI. I am having trouble creating the correct number of records when creating my dynamic dates table. When I hard code in a value (64), it shows the correct number of values for dates; however, when I use a measure (measure should also return 64), I only return 1 value. The measure is calculated within a separate 'Measures Table'.

Here is excel table I am attempting to recreate:

js2017_0-1722701725874.png


This is my formula when I hard code in 64:

DateRange =
VAR MinDate = MIN(PurchaseDates[Date])
// VAR InvestmentPeriod = [Investment Period] -- Convert measure into a column for EDATE() calculation
VAR MaxDate = EDATE(MinDate, 64)
RETURN

ADDCOLUMNS (
    CALENDAR (MinDate, MaxDate),
    "M-YYYY", MONTH([Date]) & "-" & YEAR([Date]),
    "Month", MONTH([Date]),
    "Year", YEAR([Date]),
    "MonthEnding", EOMONTH([Date], 0),
    "CustomMonthYear",
        VAR MonthsElapsed = DATEDIFF(MinDate, [Date], MONTH)
        VAR CustomMonth = MonthsElapsed
        VAR CustomYear = IF(MOD(MonthsElapsed, 12) = 0, INT(MonthsElapsed / 12), INT(MonthsElapsed / 12) + 1)
        RETURN

        "Year: " & CustomYear & UNICHAR(10) & "Month: " & CustomMonth
)
 
js2017_1-1722701804032.png

 

This is the formula when using the measures:

DateRange =
VAR MinDate = MIN(PurchaseDates[Date])
VAR InvestmentPeriod = [Investment Period] -- Convert measure into a column for EDATE() calculation
VAR MaxDate = EDATE(MinDate, InvestmentPeriod)
RETURN

ADDCOLUMNS (
    CALENDAR (MinDate, MaxDate),
    "M-YYYY", MONTH([Date]) & "-" & YEAR([Date]),
    "Month", MONTH([Date]),
    "Year", YEAR([Date]),
    "MonthEnding", EOMONTH([Date], 0),
    "CustomMonthYear",
        VAR MonthsElapsed = DATEDIFF(MinDate, [Date], MONTH)
        VAR CustomMonth = MonthsElapsed
        VAR CustomYear = IF(MOD(MonthsElapsed, 12) = 0, INT(MonthsElapsed / 12), INT(MonthsElapsed / 12) + 1)
        RETURN

        "Year: " & CustomYear & UNICHAR(10) & "Month: " & CustomMonth
)
 
js2017_2-1722701921621.png

 

2 REPLIES 2
Anonymous
Not applicable

Hi @js-2017 ,
According to your description, when we use column, we are doing a calculation for the whole table. If you use measure, it will be affected by the context, in your expression, mindate will always select only the initial data, it can not select the smallest data in the whole table, you can try to add all function in front of the table to clear the current filtering.

Best regards,
Albert He


If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

Greg_Deckler
Community Champion
Community Champion

@js-2017 Sorry, having trouble following, can you post sample data as text and expected output?
Not really enough information to go on, please first check if your issue is a common issue listed here: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

Also, please see this post regarding How to Get Your Question Answered Quickly: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

The most important parts are:
1. Sample data as text, use the table tool in the editing bar
2. Expected output from sample data
3. Explanation in words of how to get from 1. to 2.



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
April Power BI Update Carousel

Power BI Monthly Update - April 2026

Check out the April 2026 Power BI update to learn about new features.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

FabCon and SQLCon Highlights Carousel

FabCon & SQLCon Highlights

Experience the highlights from FabCon & SQLCon, available live and on-demand starting April 14th.