Forum Discussion
Filtering lookup
Hi,
I am trying to look up values using DAX, but only where a text entry is = to something. I have the look up element working:
RTSG_Costs = LOOKUPVALUE(RTSGMatrix[RTSGAmount],RTSGMatrix[Award],LOOKUPVALUE(StudentDetails[Award],StudentDetails[SITS_StudentNumber],StudentYearsActive[SITS_StudentNumber]),RTSGMatrix[AcademicYear],StudentYearsActive[AcademicYear])*StudentYearsActive[MonthDecimal]
If I was working in excel I would add something like:
IF(RTSGMatrix[annualised]="Annual", FORMULA AS ABOVE, 0)
so that only look ups from entries that have 'Annual' against them are pulled through, with the rest returning a 0 value.
- Anonymous7 years ago
SamGibbs1,
Firstly, please ensure that you use "New Column" option in Power BI Desktop to create calculated columns.
Secondly, please split the above DAX formula into multiple formulas to better troubleshoot the issue.Col2=LOOKUPVALUE(RTSGMatrix[RTSGAmount],RTSGMatrix[Award],LOOKUPVALUE(StudentDetails[Award],StudentDetails[SITS_StudentNumber],StudentYearsActive[SITS_StudentNumber]),RTSGMatrix[AcademicYear],StudentYearsActive[AcademicYear])*StudentYearsActive[MonthDecimal]
Col1=LOOKUPVALUE(RTSGMatrix[RTSGPaidLump_or_Annual],RTSGMatrix[Award],LOOKUPVALUE(StudentDetails[Award],StudentDetails[SITS_StudentNumber],StudentYearsActive[SITS_StudentNumber]))
LastColumn = IF(TableName[Col1]="Annual",TableName[Col2],0)
If you still get errors, please share sample data of your table and post expected result here following the guide in this thread:https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490.
Regards,
Lydia
2 Replies
- SamGibbs1Frequent Visitor
Hi,
To expand a bit further I have tried this:
RTSG_Costs = If(LOOKUPVALUE(RTSGMatrix[RTSGPaidLump_or_Annual],RTSGMatrix[Award],LOOKUPVALUE(StudentDetails[Award],StudentDetails[SITS_StudentNumber],StudentYearsActive[SITS_StudentNumber]))="Annual",LOOKUPVALUE(RTSGMatrix[RTSGAmount],RTSGMatrix[Award],LOOKUPVALUE(StudentDetails[Award],StudentDetails[SITS_StudentNumber],StudentYearsActive[SITS_StudentNumber]),RTSGMatrix[AcademicYear],StudentYearsActive[AcademicYear])*StudentYearsActive[MonthDecimal],0)
but it returns an error "A table of multiple values was supplied where a single value was expected". I am guessing this is due to the IF statement returning multiple records to check?
- AnonymousNot applicable
SamGibbs1,
Firstly, please ensure that you use "New Column" option in Power BI Desktop to create calculated columns.
Secondly, please split the above DAX formula into multiple formulas to better troubleshoot the issue.Col2=LOOKUPVALUE(RTSGMatrix[RTSGAmount],RTSGMatrix[Award],LOOKUPVALUE(StudentDetails[Award],StudentDetails[SITS_StudentNumber],StudentYearsActive[SITS_StudentNumber]),RTSGMatrix[AcademicYear],StudentYearsActive[AcademicYear])*StudentYearsActive[MonthDecimal]
Col1=LOOKUPVALUE(RTSGMatrix[RTSGPaidLump_or_Annual],RTSGMatrix[Award],LOOKUPVALUE(StudentDetails[Award],StudentDetails[SITS_StudentNumber],StudentYearsActive[SITS_StudentNumber]))
LastColumn = IF(TableName[Col1]="Annual",TableName[Col2],0)
If you still get errors, please share sample data of your table and post expected result here following the guide in this thread:https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490.
Regards,
Lydia