This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreDid you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now
Hi all, i've tried searching for an answer on the internet for this but no joy, so wondering if someone might be able to advise.
Basically, I have the following two data items built into the same table:
Column: Prior Yr Value = LOOKUPVALUE(Main[Value],Main[Measure_Date Key],Main[Measure_EquivDate Key])
Measure: new = IF(MAX('Main'[Combined Metadata.Value type]) = "Percentage", AVERAGE('Main'[Value]), SUM('Main'[Value]))
The lookupvalue is finding the value from from the previous year (equivalent date). However, if a the value type is a % then i need it to average and not sum. I can now do this for the Value column by using a measure, but i'm not sure how to combine the two so that it also does it in the LOOKUPVALUE, as i don't appear to be able to reference the measure in my lookup.
Logically in my head it would be either of these statements, but these cause the following errors :
Measure 2 = LOOKUPVALUE('Main'[new)], Main[Measure_Date Key], Main[Measure_EquivDate Key])
ERROR: a single value for column 'Measure_EquivDate' in table 'Main' connot be determined.
Or at least
LOOKUPVALUE(
(IF(MAX('Main'[Combined Metadata.Value type]) = "Percentage", AVERAGE('Main'[Value]),SUM('Main'[Value]))),
Main[Measure_Date Key],
Main[Measure_EquivDate Key])
ERROR: Function LOOKUPVALUE expects a column reference as argument number 1.
Many Thanks
S
Solved! Go to Solution.
Hi @Sdg8481,
The correct syntax for LOOKUPVALUE should be:
LOOKUPVALUE( <result_columnName>, <search_columnName>, <search_value>[, <search_columnName>, <search_value>]…)
As we can see, the returned value is a column rather than a measure. So, we cannot refer to a measure in LOOKUPVALUE function.
In your scenario, rather than create a measure using IF statement, why don't you create a calculated column:
Column: new = IF('Main'[Combined Metadata.Value type] = "Percentage", <Average expression>, <Sum expression>)
Then, refer to above new column in LOOKUPVALUE.
Column: Prior Yr Value = LOOKUPVALUE(Main[new],Main[Measure_Date Key],Main[Measure_EquivDate Key])
Best regards,
Yuliana Gu
Hi @Sdg8481,
The correct syntax for LOOKUPVALUE should be:
LOOKUPVALUE( <result_columnName>, <search_columnName>, <search_value>[, <search_columnName>, <search_value>]…)
As we can see, the returned value is a column rather than a measure. So, we cannot refer to a measure in LOOKUPVALUE function.
In your scenario, rather than create a measure using IF statement, why don't you create a calculated column:
Column: new = IF('Main'[Combined Metadata.Value type] = "Percentage", <Average expression>, <Sum expression>)
Then, refer to above new column in LOOKUPVALUE.
Column: Prior Yr Value = LOOKUPVALUE(Main[new],Main[Measure_Date Key],Main[Measure_EquivDate Key])
Best regards,
Yuliana Gu
Hello,
it seems quite complicated with LOOKUPVALUE.
Maybe you should check out SAMEPERIODLASTEYEAR or DATEADD, if you have a contigous Date Column.
Apart from that I think you have to create two measures.
Measure 1: SUMX(Main,If(LookupDateType="Percentage",BLANK(),Main[Value]).
Measure 2: AVERAGEX(Main,If(LookupDateType<>"Percentage",BLANK(),Main[Value]).
LookupDateType is your LOOKUPVALUE Measure for DateType.
Afterwards you can add these Measures in a separate Measure if you like to have it in one.
For further support you should provide the structure of your table and your expected result.
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 35 | |
| 32 | |
| 25 | |
| 23 | |
| 16 |
| User | Count |
|---|---|
| 65 | |
| 50 | |
| 30 | |
| 24 | |
| 23 |