Forum Discussion

OPS-MLTSD's avatar
OPS-MLTSD
Post Patron
4 years ago
Solved

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
  • Anonymous's avatar
    Anonymous
    4 years ago

    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")

     

    Or if you are still confused about it, please provide me with more details about your table and your problem or share me with your pbix file after removing sensitive data.

     

    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

  • Anonymous's avatar
    Anonymous
    Not applicable

    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")

     

    Or if you are still confused about it, please provide me with more details about your table and your problem or share me with your pbix file after removing sensitive data.

     

    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.

  • 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.