Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

Please help me for creating a DAX expression.

hi,

I need to implement the below logic in power bi in DAX:

 

 If (JMS_DELIVERED_DATE_TIME is not NULL) and (FIRST_TOUCH_DATE_TIME is not NULL) and (LW_RECEIVE_START_DATE_TIME  is not NULL ) then AVG (JMS_DELIVERED_DATE_TIME  - FIRST_TOUCH_DATE_TIME )


  • Anonymous wrote:

    hi,

    I need to implement the below logic in power bi in DAX:

     

     If (JMS_DELIVERED_DATE_TIME is not NULL) and (FIRST_TOUCH_DATE_TIME is not NULL) and (LW_RECEIVE_START_DATE_TIME  is not NULL ) then AVG (JMS_DELIVERED_DATE_TIME  - FIRST_TOUCH_DATE_TIME )


    You would use the following syntax:

    MeasureName =
    IF (
        MAX ( 'Table'[Field1] ) <> ""
            && MAX ( 'Table'[Field2] ) <> ""
            && MAX ( 'Table'[Field3] ) <> "",
        TrueCondition,
        FalseCondition
    )

    Comparing to "" will test for a null field. You could also use ISBLANK(). You need the MAX function to tease out the scalar value for the record as just referring to the field will return the entire column, and IF() cannot handle that.

     

    Use the && operator to act as the AND, and you can use as many as you like. Using the AND() function limits you to two.

1 Reply

  • edhans's avatar
    edhans
    Icon for Community Champion rankCommunity Champion

    Anonymous wrote:

    hi,

    I need to implement the below logic in power bi in DAX:

     

     If (JMS_DELIVERED_DATE_TIME is not NULL) and (FIRST_TOUCH_DATE_TIME is not NULL) and (LW_RECEIVE_START_DATE_TIME  is not NULL ) then AVG (JMS_DELIVERED_DATE_TIME  - FIRST_TOUCH_DATE_TIME )


    You would use the following syntax:

    MeasureName =
    IF (
        MAX ( 'Table'[Field1] ) <> ""
            && MAX ( 'Table'[Field2] ) <> ""
            && MAX ( 'Table'[Field3] ) <> "",
        TrueCondition,
        FalseCondition
    )

    Comparing to "" will test for a null field. You could also use ISBLANK(). You need the MAX function to tease out the scalar value for the record as just referring to the field will return the entire column, and IF() cannot handle that.

     

    Use the && operator to act as the AND, and you can use as many as you like. Using the AND() function limits you to two.