Forum Discussion

tc_WII's avatar
tc_WII
Frequent Visitor
3 years ago
Solved

USERELATIONSHIP Issue

Hello,

I have 2 tables.

ID Table:

IDPriceParent
A

25

 
B29A
C30A
D41 
E42D
F43D

 

shippingTable:

IDShipping
A3
D5

 

For B,C,E,F value, i don't have any shipping. I have parent column for those to fetch shipping.

 

my ID table is connected to shipping table on ID-ID 1on1 relationship. 2nd inactive relationship is Parent-ID that is many to one.

 

I used below measure to fetch shipping based on parent:

shipCost=
CALCULATE(MAX(tbShipping[Shipping]),
USERELATIONSHIP(tbShipping[ID],tbID[Parent]),CROSSFILTER(tbShipping[ID],tbID[Parent],Both))
 
But its not working. what might be the issue?

I can achieve this with a calculated column on table. But I want to figure out what is the issue  with measures

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi tc_WII ,

     

    I suggest you to try code as below to create a measure.

    shipCost =
    VAR _VALUE1 =
        CALCULATE ( MAX ( tbShipping[Shipping] ) )
    RETURN
        IF (
            ISBLANK ( _VALUE1 ),
            CALCULATE (
                MAX ( tbShipping[Shipping] ),
                FILTER ( ALL ( tbShipping ), tbShipping[ID] = MAX ( tbID[Parent] ) )
            ),
            _VALUE1
        )

    Result is as below.

    Best Regards,
    Rico Zhou

     

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

4 Replies

    • tc_WII's avatar
      tc_WII
      Frequent Visitor

      I used the same measure, but it did not work in my model. The only difference on your data model is, both of your relationship is one-to-many. but i used id-id as one to one, only because tbID[ID] is also unique value. Because of that one-to-one, my measure is not grabbing the result 😞

       

       

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi tc_WII ,

         

        I suggest you to try code as below to create a measure.

        shipCost =
        VAR _VALUE1 =
            CALCULATE ( MAX ( tbShipping[Shipping] ) )
        RETURN
            IF (
                ISBLANK ( _VALUE1 ),
                CALCULATE (
                    MAX ( tbShipping[Shipping] ),
                    FILTER ( ALL ( tbShipping ), tbShipping[ID] = MAX ( tbID[Parent] ) )
                ),
                _VALUE1
            )

        Result is as below.

        Best Regards,
        Rico Zhou

         

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