Forum Discussion

mluanacruz's avatar
mluanacruz
Helper I
2 years ago
Solved

Help! Tableau measure into power Bi

Hi everyone,
Can someone please help me transforme this Tableau measure into Power Bi?

Tableau:

countd(if ([NOL to 1st BI offer] <= 30 or [NOL to payment] <= 30) and [ATTY_REP_IND]='N' then [EXPOSURE_ID] end)/
total(countd(if [ATTY_REP_IND]='N' then [EXPOSURE_ID] end))

 

Power BI:

 

 CALCULATE(COUNTA('BI-PD'[EXPOSURE_ID]),
filter('BI-PD', 'BI-PD'[NOL to 1st BI offer]<=30 || 'BI-PD'[NOLTOPAY]<=30 && 'BI-PD'[ATTY_REP_IND]="N"))

    / CALCULATE(COUNTA('BI-PD'[EXPOSURE_ID]),
filter('BI-PD', 'BI-PD'[ATTY_REP_IND]="N"))
  • Hi,

     

    Try this out:

     

    CombinedRatio =
    VAR Numerator =
        COUNTROWS(
            FILTER(
                'YourTableName',
                ([NOL to 1st BI offer] <= 30 || [NOL to payment] <= 30) && [ATTY_REP_IND] = "N"
            )
        )
    VAR Denominator =
        COUNTROWS(
            FILTER(
                'YourTableName',
                [ATTY_REP_IND] = "N"
            )
        )
    RETURN
    DIVIDE(Numerator, Denominator)

     

4 Replies

  • Hi,

     

    Try this out:

     

    CombinedRatio =
    VAR Numerator =
        COUNTROWS(
            FILTER(
                'YourTableName',
                ([NOL to 1st BI offer] <= 30 || [NOL to payment] <= 30) && [ATTY_REP_IND] = "N"
            )
        )
    VAR Denominator =
        COUNTROWS(
            FILTER(
                'YourTableName',
                [ATTY_REP_IND] = "N"
            )
        )
    RETURN
    DIVIDE(Numerator, Denominator)

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    Kaviraj11 's formula is great.

     

    And I found countd means count the unique number of rows, it is more recommended that you use DISTINCTCOUNT function, mluanacruz .

    Measure = 
    DIVIDE(
        CALCULATE(
            DISTINCTCOUNT('Table'[EXPOSURE_ID]),
            'Table'[NOL to 1st BI offer] <= 30 || 'Table'[NOL to payment] <= 30,
            'Table'[ATTY_REP_IND] = "N"
        ),
        CALCULATE(
            DISTINCTCOUNT('Table'[EXPOSURE_ID]),
            'Table'[ATTY_REP_IND] = "N"
        )
    )
    

     

    Best Regards,

    Stephen Tao

     

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

     

     

    • mluanacruz's avatar
      mluanacruz
      Helper I

      Hi, thank you so much for the answer,
      I am getting this error: "A function 'PLACEHOLDER' has been used in a True/False expression that is used as a table filter expression. This is not allowed."

       

      Do you know how can I modify the measure to fix this issue? Thanks again

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi mluanacruz ,

         

        How about this?

        MEASURE =
        DIVIDE (
            CALCULATE (
                DISTINCTCOUNT ( 'Table'[EXPOSURE_ID] ),
                FILTER (
                    'Table',
                    ( [NOL to 1st BI offer] <= 30
                        || [NOL to payment] <= 30 )
                        && ( [ATTY_REP_IND] = "N" )
                )
            ),
            CALCULATE (
                DISTINCTCOUNT ( 'Table'[EXPOSURE_ID] ),
                FILTER ( 'Table', [ATTY_REP_IND] = "N" )
            )
        )
        

         

        Best Regards,

        Stephen Tao

         

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