cancel
Showing results for
Did you mean:
Helper V

## Create calculated column with datesbetween

hello,

I am trying to create a calculated column where I am trying to flag only clients that are earning more thn \$50,000 per year.

My main table is my clients table and that clients table is connected to a dates table called Fiscal Year.

This is the dax that I created:

50000 Earning = SWITCH(

TRUE(),

'Clients'[Currently_working]="Yes" && 'Clients'[Wage]>=50000 && DATESBETWEEN(('Clients'[STARTDATE],min('Fiscal Year'[Date]),max('fiscal Year'[Date])),
"Yes", "No"
)
)

I think Dates between is not possible in a calculated column but I am trying to flag clients that are making more than 50,000 within the date range in the Fiscal Year Dates table. If someone could please help me solve this issue and correct my dax, that would be very helpful.

Thank you
1 ACCEPTED SOLUTION
Community Support

Hi @OPS-MLTSD ,

DATESBETWEEN() returns a table that contains a column of dates that begins with a specified start date and continues until a specified end date.

This function is suited to pass as a filter to the CALCULATE function. Use it to filter an expression by a custom date range.

So you may try:

``````50000 Earning =
var _sum= CALCULATE(SUM(Clients[Wage]),DATESBETWEEN('Clients'[STARTDATE],MIN('fiscal Year'[Date]), MAX('fiscal Year'[Date])))
return SWITCH(TRUE(),[Currently_working]="Yes"&&_sum>=50000,"Yes","No")``````

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

4 REPLIES 4
Super User

Hi,

Ideally you should solve this problem with a measure.  If you need help with writing a measure, please share some data to work with.

Regards,
Ashish Mathur
http://www.ashishmathur.com
Community Support

Hi @OPS-MLTSD ,

DATESBETWEEN() returns a table that contains a column of dates that begins with a specified start date and continues until a specified end date.

This function is suited to pass as a filter to the CALCULATE function. Use it to filter an expression by a custom date range.

So you may try:

``````50000 Earning =
var _sum= CALCULATE(SUM(Clients[Wage]),DATESBETWEEN('Clients'[STARTDATE],MIN('fiscal Year'[Date]), MAX('fiscal Year'[Date])))
return SWITCH(TRUE(),[Currently_working]="Yes"&&_sum>=50000,"Yes","No")``````

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

Helper V

thank you so much! it worked!

Helper II

Hi,

I think the FILTER() function in DAX can filter rows based on the given conditions.

Here's the link: Using FILTER() as a Table function - Power BI Training Australia