Forum Discussion

Thackeb's avatar
Thackeb
Advocate I
4 years ago
Solved

IF with AND

Asking for assistance with a Dax using If(And) or Switch. Please note that my tables are read only and I'm limited with using regular Dax. 

 

Please assist if possible. Please note that my data tables are "read only" and I'm limited with what I can utilize. I cannot add calculated columns. In my Oracle/Hyperion query I have the following:

 

IF(Category_2 == "CUT SHEET PAPER" && PFX_NUM == "UNV" || PFX_NUM="OFF" || PFX_NUM== "IVR"|| PFX_NUM=="UFS") ("Excluded from Program") else ("Meets Criteria")

 

My thoughts are the below, however I can only add values, when trying to reference [Category 2] or [PFX_NUM]

IF(AND ([Category_2] = "CUT SHEET PAPER", [PFX_NUM] IN ("UNV","OFF","IVR","UFS"),

("Excluded from Program","Meet's Criteria")))

 

Is there a prior word such as ALL that I could add before [Category 2] or [PFX_NUM]?

 

My other thoughts were to CALCULATE Sales based on the conditions. 

 

All help is greatly appreciated! Happy Holidays!

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi Thackeb ,

     

    You could create a measure:

    measure = 
    IF(Category_2 in {"CUT SHEET PAPER", other values} && PFX_NUM in {"UNV", "OFF", "IVR", "UFS"}, "Excluded from Program", "Meets Criteria")

    You could also create slicers and use ALLSELECTED() or VALUES() function to get the dynamic value:

    measure = 
    IF(Category_2 in VALUES([column1]) && PFX_NUM in VALUES([column2]), "Excluded from Program", "Meets Criteria")

    If you want to calculate Sales based on the above conditions, you could refer:

    measure = 
    CALCULATE(sum(sales),Filter(ALLSELECTED('table'),Category_2 in {"CUT SHEET PAPER", other values} && PFX_NUM in {"UNV", "OFF", "IVR", "UFS"}))

     

    Best Regards,

    Jay

2 Replies

  • rsbin's avatar
    rsbin
    Community Champion

    Thackeb,

    I believe the "IN" function requires curly braces and you may have some parenthesis that are out of place.  Try:

     

    IF(AND ([Category_2] = "CUT SHEET PAPER", [PFX_NUM] IN {"UNV","OFF","IVR","UFS"}),
    
    "Excluded from Program","Meets Criteria")

    I'm not an expert at writing syntax on the fly, so above may need a tweak or two.

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Thackeb ,

     

    You could create a measure:

    measure = 
    IF(Category_2 in {"CUT SHEET PAPER", other values} && PFX_NUM in {"UNV", "OFF", "IVR", "UFS"}, "Excluded from Program", "Meets Criteria")

    You could also create slicers and use ALLSELECTED() or VALUES() function to get the dynamic value:

    measure = 
    IF(Category_2 in VALUES([column1]) && PFX_NUM in VALUES([column2]), "Excluded from Program", "Meets Criteria")

    If you want to calculate Sales based on the above conditions, you could refer:

    measure = 
    CALCULATE(sum(sales),Filter(ALLSELECTED('table'),Category_2 in {"CUT SHEET PAPER", other values} && PFX_NUM in {"UNV", "OFF", "IVR", "UFS"}))

     

    Best Regards,

    Jay