Forum Discussion

daxbeginner's avatar
daxbeginner
Frequent Visitor
6 years ago
Solved

MDX to Dax Code Migration

Hi,

 

I am struggling a bit to rewrite the below MDX code to DAX equivalent:

 

M1:
Iif(Isleaf([Invoice].[Invoice ID]),[Measures].[Product Invoice Amount EUR Days Due Date To Payment Date], SUM(Descendants([Invoice].[Invoice ID],,Leaves), [Measures].[Product Invoice Amount EUR Days Due Date To Payment Date]))

M2:
Iif(Isleaf([Invoice].[Invoice ID]),Int([Measures].[Invoiced Amount EUR]), Int(SUM(Descendants([Invoice].[Invoice ID],,Leaves), [Measures].[Invoiced Amount EUR])))

Result:
Iif([Measures].[M2],[Measures].[M1]/M2,null)

 

Any help is really appreciated.

Thanks in Advance.

  • Hi daxbeginner ,

    Maybe you can try this:

    M1:

    =
    IF (
        ISFILTERED ( 'Invoice'[Invoice ID] ),
        [Product Invoice Amount EUR Days Due Date To Payment Date],
        SUMX (
            ALLEXCEPT ( 'Invoice', 'Invoice'[Your Level Column] ),
            [Product Invoice Amount EUR Days Due Date To Payment Date]
        )
    )

    M2:

    =
    IF (
        ISFILTERED ( 'Invoice'[Invoice ID] ),
        INT ( [Invoiced Amount EUR] ),
        INT (
            SUMX (
                ALLEXCEPT ( 'Invoice', 'Invoice'[Your Level Column] ),
                [Invoiced Amount EUR]
            )
        )
    )

    Best Regards,
    Icey

     

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

2 Replies

  • Icey's avatar
    Icey
    Community Support

    Hi daxbeginner ,

    I don't know much about the DXA language. Maybe you can refer to this article: Converting MDX to DAX.

     

    Best Regards,
    Icey

     

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

  • Icey's avatar
    Icey
    Community Support

    Hi daxbeginner ,

    Maybe you can try this:

    M1:

    =
    IF (
        ISFILTERED ( 'Invoice'[Invoice ID] ),
        [Product Invoice Amount EUR Days Due Date To Payment Date],
        SUMX (
            ALLEXCEPT ( 'Invoice', 'Invoice'[Your Level Column] ),
            [Product Invoice Amount EUR Days Due Date To Payment Date]
        )
    )

    M2:

    =
    IF (
        ISFILTERED ( 'Invoice'[Invoice ID] ),
        INT ( [Invoiced Amount EUR] ),
        INT (
            SUMX (
                ALLEXCEPT ( 'Invoice', 'Invoice'[Your Level Column] ),
                [Invoiced Amount EUR]
            )
        )
    )

    Best Regards,
    Icey

     

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