Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

RELATED function - how it works

i was trying to use RELATED function between two tables with Many to 1 relationship. It looks like it only works on the 'Many' side.  Like i can only add related columns to 'Many' table from '1' sid...
  • OwenAuger's avatar
    7 years ago

    Anonymous 

    That's right, RELATED (which can only be used in a row context) follows a chain of one or more many-to-one relationships to retrieve a column value on the one-side.

     

    Since RELATED returns a scalar value, isn't able to retrieve a value on the many-side, since there could be multiple values of a given column on the many-side.

     

    One way you could lookup a single value on the many-side is using a function like FIRSTNONBLANK to return the "minimum" value.

    Something like

    Min Value on many side =
    FIRSTNONBLANK ( ManyTable[ManyColumn], 0 )

    Since FIRSTNONBLANK carries out a context transition (behind the scenes), it ends up creating a filter context equivalent to the current row, which filters the table on the many-side. Read more here: https://dax.guide/firstnonblank/

     

    The RELATEDTABLE function is also available to return the entire table on the many-side corresponding to the current row. You could use RELATETABLE then manipulate that in some way to produce a scalar result.

     

    Regards,

    Owen