Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Dax Calculation Across Two Tables

I have a DAX calculation that perfectly works when using single table, now I ned to select columns across two tables bu I am getting error. Attaches is a screenshot. I would love if I can get help on this. Thanks.

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi Anonymous  ,

     

    If you are using a measure , you cannot directly reference a column in a table in a measure, you need to use a function to apply to a table column.

    If you are using calculated columns, if there is a correspondence between the two tables (such as one-to-many), you can use the related() function to refer to a column in another table.

    e.grelated(Alertsvulns[Created Date])

     

     Best Regards,

    Yolo Zhu

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

4 Replies

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

    Hi Anonymous 

    please try

    OOSLA =
    VAR _Today =
    TODAY ()
    VAR _Date =
    SELECTEDVALUE ( Alertsvulns[Created Date] )
    VAR _Severity =
    SELECTEDVALUE ( Machinevulns[severity] )
    VAR _DiffDays = _Today - _Date
    RETURN
    SWITCH (
    TRUE (),
    _Severity = "Medium"
    && _DiffDays >= 90, _DiffDays - 90,
    _Severity = "Low"
    && _DiffDays >= 120, _DiffDays - 120,
    _DiffDays >= 30, DiffDays - 30,
    _Severity = "Critical"
    && _DiffDays >= 30, _DiffDays - 30
    )

    • Anonymous's avatar
      Anonymous
      Not applicable

      tamerj1 Thanks for the respons. This throws no error but all the calculaton turns out to be 0.

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

        Anonymous 
        Please try

        OOSLA =
        VAR _Severity =
            SELECTEDVALUE ( Machinevulns[severity] )
        VAR _DiffDays =
            SUMX ( Alertsvulns, DATEDIFF ( Alertsvulns[Created Date], TODAY (), DAY ) )
        RETURN
            SWITCH (
                TRUE (),
                _Severity = "Medium"
                    && _DiffDays >= 90, _DiffDays - 90,
                _Severity = "Low"
                    && _DiffDays >= 120, _DiffDays - 120,
                _DiffDays >= 30, DiffDays - 30,
                _Severity = "Critical"
                    && _DiffDays >= 30, _DiffDays - 30
            )
  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous  ,

     

    If you are using a measure , you cannot directly reference a column in a table in a measure, you need to use a function to apply to a table column.

    If you are using calculated columns, if there is a correspondence between the two tables (such as one-to-many), you can use the related() function to refer to a column in another table.

    e.grelated(Alertsvulns[Created Date])

     

     Best Regards,

    Yolo Zhu

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