📈 Power BI DAX examples

DATESINPERIOD Examples in Power BI DAX

Build rolling period calculations. This page gives you the syntax, five practical business examples, common mistakes, and copy-ready DAX you can adapt for reports.

Updated 2026-06-125 business examplesCopy-ready DAX

What DATESINPERIOD does

Build rolling period calculations. In Power BI, the key is not only the formula itself but how it behaves with slicers, relationships, visuals and totals.

Syntax or pattern

DATESINPERIOD(dates, start_date, number_of_intervals, interval)
✍️

5 practical business examples

1

DATESINPERIOD in a sales report

Calculate sales from the start of the year to the current date.

Sales Rolling 90 Days = CALCULATE([Total Sales], DATESINPERIOD(Calendar[Date], MAX(Calendar[Date]), -90, DAY))

Requires a proper marked date table.

2

Sales last year

Shift the current period to last year.

Sales Rolling 90 Days = CALCULATE([Total Sales], DATESINPERIOD(Calendar[Date], MAX(Calendar[Date]), -90, DAY))

Use this for year-over-year comparisons.

3

Previous month sales

Compare current sales to the previous month.

Sales Rolling 90 Days = CALCULATE([Total Sales], DATESINPERIOD(Calendar[Date], MAX(Calendar[Date]), -90, DAY))

Useful for monthly trend cards.

4

Rolling 12 month sales

Calculate sales over the last 12 months.

Sales Rolling 90 Days = CALCULATE([Total Sales], DATESINPERIOD(Calendar[Date], MAX(Calendar[Date]), -90, DAY))

Good for smoothing seasonality.

5

Month-to-date target check

Compare current sales against current month target.

Sales Rolling 90 Days = CALCULATE([Total Sales], DATESINPERIOD(Calendar[Date], MAX(Calendar[Date]), -90, DAY))

Use with month filters for target reporting.

Common mistakes to avoid

  • Using DATESINPERIOD before checking whether the data model has the right relationships and filter direction.
  • Writing one complex measure instead of creating simple base measures first.
  • Testing only at the total level and not checking row, category and date contexts.
  • Forgetting that slicers, visuals and relationships can all change the filter context.

FAQ

When should I use DATESINPERIOD in DAX?

Use DATESINPERIOD when the calculation pattern matches the business question and the result behaves correctly in the current filter context.

Why is my DATESINPERIOD measure returning the wrong total?

Most total issues come from row context, filter context, relationships, or using a column aggregation where an iterator or CALCULATE pattern is needed.

Can I use this DATESINPERIOD pattern in a calculated column?

Some patterns work in calculated columns, but most reporting calculations should be measures so they respond to slicers and report filters.

💡 Useful resources

Here are some ideas for you

Optional resources that may help if you are learning Power BI, building dashboards, or writing DAX measures often.

  • 📘
    Power BI books

    Learn modeling, report design and DAX patterns with structured references.

    See ideas
  • 🧠
    DAX books

    Keep a DAX reference close when building measures and troubleshooting context.

    See ideas
  • 📊
    Data visualization books

    Improve charts, dashboards and storytelling beyond the formula itself.

    See ideas
  • 🖥️
    Ultrawide monitors

    Useful for viewing the report canvas, data model and DAX editor side by side.

    See ideas
  • 🖱️
    Ergonomic mouse

    Helpful during long report-building and data-modeling sessions.

    See ideas
  • 📒
    Dashboard planning notebooks

    Sketch relationships, measures and report layouts before building.

    See ideas

Some links in this section may be affiliate links. Choose only what is useful for your own work.