Forum Discussion
FILTERing a value from a RELATEDTABLE
Hi all
I have two tables, 'LGZ Schools' (1) <---> (*) 'CountYourCarbon'.
They're joined as follows: 'LGZ Schools'[_School ID] <---> 'CountYourCarbon'[sfct_letsgozero]
'CountYourCarbon' has three fields: [sfct_letsgozero], [CYC Date] and [CYC Score (Tonnes)].
I'm trying to read a value from CountYourCarbon into a new column called "Baseline" in LGZ Schools. I want to filter CountYourCarbon for where there's a match on [_School ID]<--->[sfct_letsgozero], which will return between 0 and 2 rows, then filter that for the earliest date in the [CYC Date] field, and then return the value in the field [CYC Score (Tonnes)].
The best I've got so far is:
Hi hiolgh please try this calculated column
Baseline =VAR RelatedRows =FILTER (CountYourCarbon,CountYourCarbon[sfct_letsgozero] = 'LGZ Schools'[_School ID])VAR EarliestDate =CALCULATE (MIN (CountYourCarbon[CYC Date]),RelatedRows)RETURNCALCULATE (MAX (CountYourCarbon[CYC Score (Tonnes)]),FILTER (RelatedRows,CountYourCarbon[CYC Date] = EarliestDate))- Anonymous1 year ago
Hi hiolgh ,
Thank you techies for the prompt response!
Upon reviewing the information provided,I tried to create it locally.
Try using the below calculated column:Baseline =VAR SchoolID = 'LGZ Schools'[_School ID]VAR FilteredTable =FILTER ('CountYourCarbon','CountYourCarbon'[sfct_letsgozero] = SchoolID)VAR MinDate =CALCULATE (MIN ( 'CountYourCarbon'[CYC Date] ),FilteredTable)VAR Result =CALCULATE (MAX ( 'CountYourCarbon'[CYC Score (Tonnes)] ),FILTER (FilteredTable,'CountYourCarbon'[CYC Date] = MinDate))RETURNResult
Please refer the screenshot and the file for your reference.
If the solution meets your requirement,consider accepting it as solution.
Thank you for being a part of Microsoft Fabic Community Forum!
Regards,
Pallavi.
4 Replies
- techies
Super User
Hi hiolgh please try this calculated column
Baseline =VAR RelatedRows =FILTER (CountYourCarbon,CountYourCarbon[sfct_letsgozero] = 'LGZ Schools'[_School ID])VAR EarliestDate =CALCULATE (MIN (CountYourCarbon[CYC Date]),RelatedRows)RETURNCALCULATE (MAX (CountYourCarbon[CYC Score (Tonnes)]),FILTER (RelatedRows,CountYourCarbon[CYC Date] = EarliestDate))- hiolghFrequent Visitor
This is great thanks, and I'll learn from your approach. I had tried using variables but then I couldn't manipulate RelatedRows with further filters. I now see that using it to filter the original table is the way to go.
- AnonymousNot applicable
Hi hiolgh ,
Thank you techies for the prompt response!
Upon reviewing the information provided,I tried to create it locally.
Try using the below calculated column:Baseline =VAR SchoolID = 'LGZ Schools'[_School ID]VAR FilteredTable =FILTER ('CountYourCarbon','CountYourCarbon'[sfct_letsgozero] = SchoolID)VAR MinDate =CALCULATE (MIN ( 'CountYourCarbon'[CYC Date] ),FilteredTable)VAR Result =CALCULATE (MAX ( 'CountYourCarbon'[CYC Score (Tonnes)] ),FILTER (FilteredTable,'CountYourCarbon'[CYC Date] = MinDate))RETURNResult
Please refer the screenshot and the file for your reference.
If the solution meets your requirement,consider accepting it as solution.
Thank you for being a part of Microsoft Fabic Community Forum!
Regards,
Pallavi.- hiolghFrequent Visitor
Thanks for taking the time to recreate the tables!