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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Exclusión de filas específicas en función del contenido

Lo siento de antemano si hay una solución fácil que simplemente no estoy encontrando. Estoy trabajando en un proyecto de dashboard de muy alta prioridad y he pasado 2 días tratando de averiguar cómo hacer que esto funcione. Necesito tener algo que mostrarles al final de la semana.

Tengo dos problemas que simplemente no puedo averiguar.

PROBLEMA 1:

Creé una tabla para tener solo columnas específicas de una tabla sql importada. Esto es para que pueda usar esto en una tabla EXCEPT más adelante:

RStars Viajes = SELECTCOLUMNS(RStarsTravelReport,
"VPN #", RStarsTravelReport[RSTravel_VPTNbr],
"Fecha",RStarsTravelReport[Final_Approv_Dt],
"Nombre del empleado",RStarsTravelReport[Vendor_Name], "Amount",IF(RStarsTravelReport[Sfms_Trans_Amt]>0,RStarsTravelReport[Sfms_Trans_Amt],0))
Aquí está una muestra de esa tabla:
SandeA_0-1624466748930.png

La otra tabla (Registro de reclamaciones de viaje) que utilicé en la tabla EXCEPT tiene estos datos: (nota: 61853 es el primer registro y el número más bajo de esta tabla)

SandeA_1-1624466857905.png

Luego creé la tabla EXCEPT:
OutstandingTravel = EXCEPT('Travel Claims Log','RStars Travel')
Éste es un ejemplo de esa tabla:
SandeA_2-1624466975455.png

La tabla genrated muy bien, sin embargo, tiró en filas que estaban en ambas tablas. Traté de cambiar el orden de la mesa y eso definitivamente no es lo que estoy buscando! Necesito ver todos los registros que están en el registro de reclamaciones de viaje, pero NO en el RStars Travel. Aunque extraía el primer registro correctamente, no debería haber extraído los elementos restantes porque están en ambas tablas. ¿Es porque los Reclamos de Viaje tienen cada VPT # resumido y el RStars Travel no? Si es así, ¿hay alguna manera de evitarlo?
PROBLEMA 2
Algunos de los registros VPT # en la tabla RStars Travel comienzan con una 'C' o 'LT'. No queremos incluir estas filas en ninguno de nuestros objetos visuales o recuentos del panel. ¿Hay alguna manera de excluirlos cuando estoy creando la tabla? No pude encontrar una función u operador que fuera para 'no incluye' que funcionaría en esta situación.
Gracias por cualquier ayuda que puedas dar, todos ustedes son GENIALES!!!
Arenas

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Problema 1:

EXCEPT ( <LeftTable>, <RightTable> )

excluye de LeftTable las filas también existentes en RightTable; lo que significa que se tienen en cuenta todas las columnas de una fila, es decir, VPT, DATE, EMP NAME y AMOUNT en su caso. En un vistazo, para la fila 'Travel Claims Log'[VPT #]=61854, 'Travel Claims Log'[AMOUNT]=477.45 no existe en 'RStars Travel', por lo que esta fila se mantiene.

Problema 2,

RStars Travel =
SELECTCOLUMNS(
    FILTER(
        RStarsTravelReport,
        NOT (
            LEFT( RStarsTravelReport[RSTravel_VPTNbr] ) = "C"
                || LEFT( RStarsTravelReport[RSTravel_VPTNbr], 2 ) = "LT"
        )
    ),
    "VPT #", RStarsTravelReport[RSTravel_VPTNbr],
    "Date", RStarsTravelReport[Final_Approv_Dt],
    "Employee Name", RStarsTravelReport[Vendor_Name],
    "Amount", MAX( RStarsTravelReport[Sfms_Trans_Amt], 0 )
)

filtrar las filas no deseadas con símbolos específicos al crear la nueva tabla.

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Problema 1:

EXCEPT ( <LeftTable>, <RightTable> )

excluye de LeftTable las filas también existentes en RightTable; lo que significa que se tienen en cuenta todas las columnas de una fila, es decir, VPT, DATE, EMP NAME y AMOUNT en su caso. En un vistazo, para la fila 'Travel Claims Log'[VPT #]=61854, 'Travel Claims Log'[AMOUNT]=477.45 no existe en 'RStars Travel', por lo que esta fila se mantiene.

Problema 2,

RStars Travel =
SELECTCOLUMNS(
    FILTER(
        RStarsTravelReport,
        NOT (
            LEFT( RStarsTravelReport[RSTravel_VPTNbr] ) = "C"
                || LEFT( RStarsTravelReport[RSTravel_VPTNbr], 2 ) = "LT"
        )
    ),
    "VPT #", RStarsTravelReport[RSTravel_VPTNbr],
    "Date", RStarsTravelReport[Final_Approv_Dt],
    "Employee Name", RStarsTravelReport[Vendor_Name],
    "Amount", MAX( RStarsTravelReport[Sfms_Trans_Amt], 0 )
)

filtrar las filas no deseadas con símbolos específicos al crear la nueva tabla.

@CNENFRNL

¿Sabes cómo usar ROLLUPADDISSUBTOTAL o tal vez otra función para crear otra tabla para combinar el VPT # y SUMAR la cantidad para la tabla RStars Travel para solucionar mi PROBLEMA 1?

Syndicate_Admin
Administrator
Administrator

@SandeA

Cuando se utiliza EXCEPT, coincide con las columnas de ambas tablas por posiciones y se comparan las columnas
"Si una fila aparece en ambas tablas, ella y sus duplicados no están presentes en el conjunto de resultados. Si una fila aparece solo en table_expression1, ella y sus duplicados aparecerán en el conjunto de resultados".

Con respecto a los problemas # 2 sí es posible.

¿Puede compartir un archivo PBIX con datos de ejemplo con el escenario y los resultados esperados?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Kudoed Authors