Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

View all the Fabric Data Days sessions on demand. View schedule

Reply
smath
Frequent Visitor

What's wrong in my measure? HELP!

I'm triying to do this measure 

 

metas rotacion = var area = VALUES('prebel area_nomina'[abr])
return IF( VALUES('prebel empleados'[empresa])<>"PREBEL" && [% Retirados acumulados]>0 && [Retirados]>0;
0,3 ;
IF(NOT(ISERROR(area));
IF([Retirados acumulados]>0;
SWITCH(area;
"PA"; CALCULATE(AVERAGE('prebel metas'[Valor])/100;'prebel metas'[Id_Indicador]=83;
FILTER('prebel metas'; 'prebel metas'[Fecha_Inicio]<=CALCULATE(MAX('prebel calendario'[db_date]))); FILTER('prebel metas'; 'prebel metas'[Fecha_Fin]>= CALCULATE(MIN('prebel calendario'[db_date]))));
"PI"; IF(ISERROR(VALUES('prebel cecos'[Procesos Rotacion PI])) && [% Retirados acumulados]>0 ;
CALCULATE(AVERAGE('prebel metas'[Valor])/100;'prebel metas'[Id_Indicador]=84;
FILTER('prebel metas'; 'prebel metas'[Fecha_Inicio]<=CALCULATE(MAX('prebel calendario'[db_date]))); FILTER('prebel metas'; 'prebel metas'[Fecha_Fin]>= CALCULATE(MIN('prebel calendario'[db_date])))));
"PO"; CALCULATE(AVERAGE('prebel metas'[Valor])/100;'prebel metas'[Id_Indicador]=85;
FILTER('prebel metas'; 'prebel metas'[Fecha_Inicio]<=CALCULATE(MAX('prebel calendario'[db_date]))); FILTER('prebel metas'; 'prebel metas'[Fecha_Fin]>= CALCULATE(MIN('prebel calendario'[db_date])))
)
;0)
)
)
)

 

 

 

But Power BI shows me an error "mDXsCRIPT(Model) (21 ,12) Calculation error in measure 'preber metas[metas rotacion]: A table of multiple values was supplied where a single value was expected"

 

What's wrong in my measure? Help me please

 

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

@smath,

This issue is caused by that you use VALUES()  in your DAX. VALUES() funtion returns a one-column table that contains the distinct values from the specified table or column.  Change your DAX to the following and check if you get expected result.

metas rotacion = var area = FIRSTNONBLANK('prebel area_nomina'[abr];1)
return IF( FIRSTNONBLANK('prebel empleados'[empresa];1)<>"PREBEL" && [% Retirados acumulados]>0 && [Retirados]>0;
0,3 ;
IF(NOT(ISERROR(area));
IF([Retirados acumulados]>0;
SWITCH(area;
"PA"; CALCULATE(AVERAGE('prebel metas'[Valor])/100;'prebel metas'[Id_Indicador]=83;
FILTER('prebel metas'; 'prebel metas'[Fecha_Inicio]<=CALCULATE(MAX('prebel calendario'[db_date]))); FILTER('prebel metas'; 'prebel metas'[Fecha_Fin]>= CALCULATE(MIN('prebel calendario'[db_date]))));
"PI"; IF(ISERROR(FIRSTNONBLANK('prebel cecos'[Procesos Rotacion PI];1)) && [% Retirados acumulados]>0 ;
CALCULATE(AVERAGE('prebel metas'[Valor])/100;'prebel metas'[Id_Indicador]=84;
FILTER('prebel metas'; 'prebel metas'[Fecha_Inicio]<=CALCULATE(MAX('prebel calendario'[db_date]))); FILTER('prebel metas'; 'prebel metas'[Fecha_Fin]>= CALCULATE(MIN('prebel calendario'[db_date])))));
"PO"; CALCULATE(AVERAGE('prebel metas'[Valor])/100;'prebel metas'[Id_Indicador]=85;
FILTER('prebel metas'; 'prebel metas'[Fecha_Inicio]<=CALCULATE(MAX('prebel calendario'[db_date]))); FILTER('prebel metas'; 'prebel metas'[Fecha_Fin]>= CALCULATE(MIN('prebel calendario'[db_date])))
)
;0)
)
)
)



Regards,
Lydia

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

@smath,

This issue is caused by that you use VALUES()  in your DAX. VALUES() funtion returns a one-column table that contains the distinct values from the specified table or column.  Change your DAX to the following and check if you get expected result.

metas rotacion = var area = FIRSTNONBLANK('prebel area_nomina'[abr];1)
return IF( FIRSTNONBLANK('prebel empleados'[empresa];1)<>"PREBEL" && [% Retirados acumulados]>0 && [Retirados]>0;
0,3 ;
IF(NOT(ISERROR(area));
IF([Retirados acumulados]>0;
SWITCH(area;
"PA"; CALCULATE(AVERAGE('prebel metas'[Valor])/100;'prebel metas'[Id_Indicador]=83;
FILTER('prebel metas'; 'prebel metas'[Fecha_Inicio]<=CALCULATE(MAX('prebel calendario'[db_date]))); FILTER('prebel metas'; 'prebel metas'[Fecha_Fin]>= CALCULATE(MIN('prebel calendario'[db_date]))));
"PI"; IF(ISERROR(FIRSTNONBLANK('prebel cecos'[Procesos Rotacion PI];1)) && [% Retirados acumulados]>0 ;
CALCULATE(AVERAGE('prebel metas'[Valor])/100;'prebel metas'[Id_Indicador]=84;
FILTER('prebel metas'; 'prebel metas'[Fecha_Inicio]<=CALCULATE(MAX('prebel calendario'[db_date]))); FILTER('prebel metas'; 'prebel metas'[Fecha_Fin]>= CALCULATE(MIN('prebel calendario'[db_date])))));
"PO"; CALCULATE(AVERAGE('prebel metas'[Valor])/100;'prebel metas'[Id_Indicador]=85;
FILTER('prebel metas'; 'prebel metas'[Fecha_Inicio]<=CALCULATE(MAX('prebel calendario'[db_date]))); FILTER('prebel metas'; 'prebel metas'[Fecha_Fin]>= CALCULATE(MIN('prebel calendario'[db_date])))
)
;0)
)
)
)



Regards,
Lydia

Hi Lydia, effectively this is a solution to my problem.

Thank u very much, was a super solutior.

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors