¿Alguien puede verificar esta fórmula DAX, por favor?

Un usuario Pregunto ✅

Anónimo

Así que mi objetivo final es:

– Filtrar solo por regiones = Medio Oeste 2

– Filtrar solo por tipo de contrato = Garantía extendida + Garantía de fabricación solo de piezas + Servicios remotos

Problema actual: la salida devolverá el filtro para los tipos de contrato pero no respetará el filtro de región. ¿Alguna idea de por qué este filtro de región no funcionará?

RutaVendidaContrato =
CONCATENATEX(
UNIÓN(
FILTRO(Contratos_vendidos, Contratos_vendidos[Region] = «Medio Oeste 2»),
FILTRO(Contratos_vendidos, Contratos_vendidos[contract_type] = «Garantía extendida»),
FILTRO(Contratos_vendidos, Contratos_vendidos[contract_type] = «Garantía de fabricación solo de piezas»),
FILTRO(Contratos_vendidos, Contratos_vendidos[contract_type] = «Servicios Remotos»)
),
‘Contratos_vendidos'[machine], «|»)

TAMBIÉN, traté de insertar 2 filtros adicionales, pero siempre hay un error… estoy bastante seguro de que eliminé la sintaxis de DAX, pero esperaba que alguien pudiera arrojar algunos consejos sobre cómo aplicar correctamente la función DISTINCT + ALLEXCEPT en esta sintaxis. :

– FILTRO(Contratos_vendidos, DISTINCT(Contratos_vendidos[contract_id])) –> el objetivo es obtener solo un retorno distinto para este campo pero no funciona

– ALLEXCEPT(Filter(Contracts_sold, Contracts_sold[contract_type] = «Mantenimiento anterior»)) –> el objetivo es obtener todos los tipos de contrato EXCEPTO anterior. mantenimiento

RutaVendidaContrato =
CONCATENATEX(
UNIÓN(
FILTRO(Contratos_vendidos, DISTINCT(Contratos_vendidos[cconth_id])),
FILTRO(Contratos_vendidos, Contratos_vendidos[Region] = «Medio Oeste 2»),
ALLEXCEPT(Contracts_sold,Contracts_sold[contract_type] = «Mantenimiento anterior»)
),
‘Contratos_vendidos'[machine], «|»)

¡Cualquier orientación de la comunidad será muy apreciada!

Anónimo

Hola @Anónimo, creo que esto es lo que necesitas.

PRUEBA =
CALCULAR (
CONCATENATEX ( MW2_WEDM_máquinas; MW2_WEDM_máquinas[Machine_ID]; » | « );
FILTRAR ( Contratos_vendidos; Contratos_vendidos[Region] = «Medio Oeste 2» );
FILTRAR (
Contratos_vendidos;
Contratos_vendidos[contract_type]
EN { «Garantía extendida»; «Garantía de fabricación solo de piezas»; «Servicios Remotos» }
)
)

Descargué el archivo, así se ve con esta medida:

Captura.PNG

Anónimo

Hola @Anónimo, creo que esto es lo que necesitas.

PRUEBA =
CALCULAR (
CONCATENATEX ( MW2_WEDM_máquinas; MW2_WEDM_máquinas[Machine_ID]; » | « );
FILTRAR ( Contratos_vendidos; Contratos_vendidos[Region] = «Medio Oeste 2» );
FILTRAR (
Contratos_vendidos;
Contratos_vendidos[contract_type]
EN { «Garantía extendida»; «Garantía de fabricación solo de piezas»; «Servicios Remotos» }
)
)

Descargué el archivo, así se ve con esta medida:

Captura.PNG

Anónimo

En respuesta a Anónimo

¡Impresionante! ¡Simplemente impresionante! ¡Muchas gracias!

Pregunta para usted, esta fórmula DAX se aplica solo para filtrar la tabla Contracts_sold. ¿Cómo aplicaría un filtro similar en la tabla Historial de FS + tablas de PM pendientes?

En última instancia, todos los clientes se enumeran en la tabla de datos maestra MW2_WEDM y me gustaría filtrar hacia abajo desde esa tabla porque todas las demás tablas (Contracts_sold, FS History y Pending PM) se derivan de la tabla de datos MW2_WEDM.

Anónimo

En respuesta a Anónimo

@Anónimo si todas las tablas de su modelo de datos están relacionadas, puede aplicar esos filtros.

Anónimo

A continuación se muestra un enlace a mi proyecto:

https://github.com/anthonynguyen3/Power-BI/blob/master/WireEDM%20-%20MW2%20BI.excel.pbix

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *