Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Measure with IF OR

Hi All,

I am trying to create a measure based below condition

I have Sales and Cost Measure,I need to calculate margin based on below

IF (Sales[Region] in {"FPT","BRT","ZXT"}|| LEFT(Sales[Region],3)="FRT",Sales[SalesAmt],Sales[SalesAmt]-Sales[Margin])

 

I get the single table error,I tried calulated column but it errors out as soon as i add it to the report.I am ASS bulit models.

 

 

Regards,

Sri

 

  • Hi, Anonymous ;

    Try to create a measure.

    Result =
    VAR a =
        SUM ( Sales[SalesAmt] )
    RETURN
        IF (
            MAX ( Sales[Region] )
                IN { "FPT", "BRT", "ZXT" }
                    || LEFT ( MAX ( Sales[Region] ), 3 ) = "FRT",
            a,
            a - SUM ( Sales[Margin] )
        )
    

    If not right, can you share a simple example so that we can better test it?

    Best Regards,
    Community Support Team _ Yalan Wu
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

8 Replies

  • truptis's avatar
    truptis
    Community Champion

    Hi Anonymous , Try this:
    Result =
    var value1 = LEFT(Sales[Region],3)
    var a = sum(Sales[SalesAmt])
    var b = sum(Sales[SalesAmt])-sum(Sales[Margin])
    RETURN
    IF (
    Sales[Region] in {"FPT","BRT","ZXT"}
    || value1 in {"FRT"},
    a, b
    )

    • Anonymous's avatar
      Anonymous
      Not applicable

      I get error single value for Region in table Sales cannot be determined.

       

  • truptis's avatar
    truptis
    Community Champion

    This usually happens when a measure formula refers to a column that contains many values without specifying an aggregation such as min, max, count or sum to get a single result. Anonymous 
    Try this:
    Result =
    var value1 = LEFT(values(Sales[Region],3))
    var a = sum(Sales[SalesAmt])
    var b = sum(Sales[SalesAmt])-sum(Sales[Margin])
    RETURN
    IF (
    values(Sales[Region]) in {"FPT","BRT","ZXT"}
    || value1 in {"FRT"},
    a, b
    )

    • Anonymous's avatar
      Anonymous
      Not applicable

      When i create calulcated column .. i get circular dependency error ....

  • Wrap each mention of Sales[Region] inside SELECTEDVALUE()

  • v-yalanwu-msft's avatar
    v-yalanwu-msft
    Community Support

    Hi, Anonymous ;

    Try to create a measure.

    Result =
    VAR a =
        SUM ( Sales[SalesAmt] )
    RETURN
        IF (
            MAX ( Sales[Region] )
                IN { "FPT", "BRT", "ZXT" }
                    || LEFT ( MAX ( Sales[Region] ), 3 ) = "FRT",
            a,
            a - SUM ( Sales[Margin] )
        )
    

    If not right, can you share a simple example so that we can better test it?

    Best Regards,
    Community Support Team _ Yalan Wu
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.