Forum Discussion

PBIDevNoob's avatar
PBIDevNoob
Helper I
6 years ago
Solved

Relationships and Reference Measure vs Direct Formula

Hi! 

 

I'm trying to understand why my relationships doesn't seem to be working correctly and the difference between calling a measure from another measure and directly applying the formula in a measure. 

 

I have 2 tables with a one-to-many relationship. The first table just describes the ID, the second table has columns for ID, Year, Category, and Value. 

 

I added 3 measures for average. 

  1. Average = AVERAGE('VALUE'[Value])
  2. Average by ID Direct = AVERAGEX( VALUES('VALUE'[ID]), AVERAGE('VALUE'[Value]))
  3. Average by Measure = AVERAGEX( VALUES('VALUE'[ID]), [Average]))

I then created a table/matrix with 'Values'[ID], 'Description'[Description], 'Values'[Category], with measures 2 and 3, and slicers for Category and Year.

 

For some reason, when I select from the Year and Category slicers, the measure "Average by Measure" I get a table where the description returns 2 rows for 1 ID:

Result

 

 

So I have questions regarding this.

  1. Why did Measure 2 and 3 return different values when in essence they should be the same?
  2. Why doesn't the relationship work even though I've set the direction to filter both. 

Note:

I realize that I can fix this by adding the relatedtable to measure 3, but I want to understand why. I also know that I can just use the ID from the Description table, but again, I want to understand why.

 

I've attached my sample in Google Drive: GDrive PBIX File 

 

Values TableDescription Table

Relationship

 

 

 

5 Replies

    • PBIDevNoob's avatar
      PBIDevNoob
      Helper I

      Can you tell me why? Also, if I create "Measure = 1" it returns something like a cartesian join for the IDs between the tables. Why does this happen even though I have a bi-directional filter on the tables. This doesn't make sense to me, and it feels like I'm not understanding a basic concept of relationships and measures. 

       

       

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    Try using DISTINCT instead of VALUES. VALUES and VALUE aren't the greatest functions in the world and tend to be overused. They tend to mask data modeling issues.

     

    • PBIDevNoob's avatar
      PBIDevNoob
      Helper I

      Thanks, but it pretty much returns the same thing. I'm also more concerned with knowing why the relationship isn't working correctly and why the using a measure in a measure returns a different value than using the same formula directly.