Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hola
He creado varios parámetros de Power BI que se establecen en el servicio Power BI. Estos parámetros se alimentan, a través de PQ, al informe. Estos parámetros (estos valores) se utilizan como valor objetivo.
El objeto visual de segmentación de equipos consta de tres equipos (LS, PG y AHSS). Cada equipo tiene un valor de parámetro.
Me gustaría que si el usuario selecciona los tres equipos (ya sea individualmente todos o a través de un 'seleccionar todo') en la segmentación, se sumen los valores de los parámetros de los tres equipos.
Si sólo, por ejemplo, se seleccionan los equipos LS y PS, solo se suman los valores de los parámetros LS y PS.
Si sólo, por ejemplo, se seleccionan equipos LS, solo se muestra el valor del parámetro LS.
A continuación se muestra mi intento de hacer que esto funcione.
__Deal objetivo =
VAR _selectedvalues = VALORES( '__dim_Sub-Equipo'[Sub-Equipo] )
DONDE _result =
SI(
CONTIENE( _selectedvalues, '__dim_Sub-Team'[Sub-Team], "200000000" && "200000001" & "200000002" ),
VALUES( 'LS Deal target'[LS Deal target] ) + VALUES( 'PS Deal target'[PS Deal target] ) + VALUES( 'AHSS Deal target'[AHSS Deal target] ),
SI(
CONTIENE ( _selectedvalues, '__dim_Sub-Team'[Sub-Team], "200000000" && "200000001" ),
VALUES( 'LS Deal target'[LS Deal target] ) + VALUES( 'PS Deal target'[PS Deal target] ),
SI(
CONTIENE( _selectedvalues, '__dim_Sub-Team'[Sub-Team], "200000000" && "200000002" ),
VALUES( 'LS Deal target'[LS Deal target] ) + VALUES( 'AHSS Deal target'[AHSS Deal target] ),
SI(
CONTAINS( _selectedvalues, '__dim_Sub-Team'[Sub-Team], "200000001" && "200000002" ),
VALUES( 'PS Deal target'[PS Deal target] ) + VALUES( 'AHSS Deal target'[AHSS Deal target] ),
SI(
CONTAINS( _selectedvalues, '__dim_Sub-Team'[Sub-Team], "200000000" ), //"LS"
VALUES( 'LS Deal target'[LS Deal target] ),
SI(
CONTAINS( _selectedvalues, '__dim_Sub-Team'[Sub-Team], "200000001" ), //"PS"
VALUES( 'PS Deal target'[PS Deal target] ),
SI(
CONTAINS( _selectedvalues, '__dim_Sub-Team'[Sub-Team], "200000002" ), //"AHSS"
VALUES( 'Objetivo de la oferta AHSS'[Objetivo de la oferta AHSS]),
100
)
)
)
)
)
)
)
DEVOLUCIÓN
_result + 0
Lo que me devuelven es el siguiente error:
Por favor, ¿alguien puede ayudar con este error?
Gracias.
Hola @D_PBI
De acuerdo con la captura de pantalla del error, los tipos de parámetros de la función CONTAINS tienen un tipo de texto y un tipo verdadero/falso, que no se pueden comparar, por ejemplo, "CONTAINS( _selectedvalues, '__dim_Sub-Team'[Sub-Team], "200000000" && " 200000001" && "200000002" )", donde los dos primeros argumentos son tipos de texto y el último es un tipo verdadero/falso. Mi sugerencia actual es que debe cambiar uno de los tipos de parámetros para que la comparación funcione.
Si su problema persiste, proporcione los datos de muestra y los resultados esperados basados en los datos de muestra para que pueda ayudarlo mejor. Proporcionar datos de ejemplo en el foro de Power BI - Microsoft Fabric Community O muéstralo como capturas de pantalla. Elimine cualquier dato confidencial por adelantado.
Saludos
Yulia Xu
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@D_PBI , creo que el problema se debe a los valores, Pruebe como
Objetivo del negocio =
VAR _selectedValues = VALORES('__dim_Sub-Equipo'[Sub-Equipo])
DEVOLUCIÓN
INTERRUPTOR(
TRUE(),
CONTIENE(_selectedValues, '__dim_Sub-Equipo'[Sub-Equipo], "2000000000") && CONTIENE(_selectedValues, '__dim_Sub-Equipo'[Sub-Equipo], "200000001") && CONTIENE(_selectedValues, '__dim_Sub-Equipo'[Sub-Equipo], "200000002"),
SUMX(values('LS Deal target'[LS Deal target]), [LS Deal target]) +
SUMX(values('PS Deal target'[PS Deal target]), [PS Deal target]) +
SUMX(values('Objetivo del acuerdo AHSS'[Objetivo del acuerdo AHSS]), [Objetivo del acuerdo AHSS]),
CONTAINS(_selectedValues, '__dim_Sub-Team'[Sub-Team], "2000000000") && CONTAINS(_selectedValues, '__dim_Sub-Team'[Sub-Team], "200000001"),
SUMX(values('LS Deal target'[LS Deal target]), [LS Deal target]) +
SUMX(values('PS Deal target'[PS Deal target]), [PS Deal target]),
CONTIENE(_selectedValues, '__dim_Sub-Equipo'[Sub-Equipo], "2000000000") && CONTIENE(_selectedValues, '__dim_Sub-Equipo'[Sub-Equipo], "200000002"),
SUMX(values('LS Deal target'[LS Deal target]), [LS Deal target]) +
SUMX(values('Objetivo del acuerdo AHSS'[Objetivo del acuerdo AHSS]), [Objetivo del acuerdo AHSS]),
CONTIENE(_selectedValues, '__dim_Sub-Equipo'[Sub-Equipo], "200000001") && CONTIENE(_selectedValues, '__dim_Sub-Equipo'[Sub-Equipo], "200000002"),
SUMX(values('PS Deal target'[PS Deal target]), [PS Deal target]) +
SUMX(values('Objetivo del acuerdo AHSS'[Objetivo del acuerdo AHSS]), [Objetivo del acuerdo AHSS]),
CONTIENE(_selectedValues, '__dim_Sub-Team'[Sub-Team], "200000000"),
SUM('LS Deal target'[LS Deal target]),
CONTAINS(_selectedValues, '__dim_Sub-Team'[Sub-Team], "200000001"),
SUM('Objetivo del acuerdo PS'[Objetivo del acuerdo PS]),
CONTIENE(_selectedValues, '__dim_Sub-Team'[Sub-Team], "200000002"),
SUM('Objetivo de la oferta AHSS'[Objetivo de la oferta AHSS]),
100 // Incumplimiento u otros casos
)
@amitchandak - Gracias. Eso funcionó como se necesitaba.
@v-xuxinyi-msft - gracias por su respuesta. He seguido @amitchandak método para resolver la necesidad.