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
Locco
Helper III
Helper III

Coincidir con valores en tablas separadas

Tengo una lista de nombres de empleados en una tabla y quiero hacer referencias cruzadas a una lista en otra tabla para ver si se ha completado una tarea.

Tabla 1

Nombre / Fecha / Tarea / Mes

Tabla 2

Nombre

Las tareas se deben mensualmente, por lo que alguien podría tener 9 entradas y otra podría tener 3. Lo que intenté no funciona ya que devuelve TRUE para una persona con solo 1 entrada.

Lo que pensé que era mejor era hacer una nueva mesa y hacer que incluyese el nombre del empleado y los meses del año. Cada mes indicaría TRUE si la tarea se completó para esa persona para ese mes.

Nombre / Mes / Tarea Completada /

Locc / Sept / Verdadero

No puedo hacer que funcione, sin embargo, y no estoy seguro de si ese es el mejor método.

No sé si he hecho un buen trabajo explicando, y no puedo compartir mis datos, pero si alguien tiene alguna sugerencia por favor hágamelo saber.

1 ACCEPTED SOLUTION

Hola @Locco

Uso de los datos de ejemplo y adición de una tabla de fechas con la siguiente fórmula

Dates = ADDCOLUMNS(CALENDAR("2019-01-01", "2020-12-31"), "Month", format([Date], "MMMM"), "MonthIndex", MONTH([Date]), "Year", YEAR([Date]))

relacionados con la tabla Hecho en la fecha, puede crear las siguientes fórmulas

Task Complete = if(COUNTROWS('Tasks_Complete') = BLANK(), 0, 1)

Task Incomplete = if(Tasks_Complete[Task Complete] = 0, 1, 0)

ahora si trae Mes de la Tabla de Fechas y Usuario de la Tabla de Usuarios al objeto visual junto con la tarea de medida completa y la tarea incompleta con un poco de filtrado verá lo siguiente

richbenmintz_0-1600374769626.png

Enlace a la muestra pbix, sample.pbix

Espero que esto ayude,
Richard
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
¿Mis respuestas ayudaron a llegar a una solución? Dale un kudos haciendo clic en Thumbs Up!



I hope this helps,
Richard

Did I answer your question? Mark my post as a solution! Kudos Appreciated!

Proud to be a Super User!


View solution in original post

23 REPLIES 23
PaulDBrown
Community Champion
Community Champion

@Locco

Bien, ¿puedes comprobar este resultado? No coincide con lo que publicaste como tu ejemplo en tu último post, pero realmente no pude hacer el criterium para el "no completado" para un mes en particular (parecías incluir algunos valores, pero no otros, pero no había un criterium obvio...)

Result.JPG

Si esto no es lo que espera, ¿puede explicar qué valores no deben incluirse en ninguna de las tablas por mes?

Además, ¿cuál sería el resultado esperado si el mismo ID tiene tareas completadas en diferentes meses?





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






Locco
Helper III
Helper III

En lugar de Verdadero/Falso y 1/0 Probé un simple Sí/No.

Todavía no se puede mostrar el objeto visual...

La función 'SWITCH' no admite la comparación de valores de tipo Text con valores de tipo True/False. Considere la posibilidad de utilizar la función VALUE o FORMAT para convertir uno de los valores.

Locco
Helper III
Helper III

Todavía no estoy avanzando en esto y realmente necesito ayuda.

Actualmente estoy tratando de que esta medida funcione y no estoy teniendo ningún éxito real...

Medida: VAR __filter - SELECTEDVALUE( 'Observación'[Mes] )
VAR __Isfilter -  
    SWITCH(
        __filter,
        "Enero", SELECTEDVALUE( 'Observación'[Enero]  ) - FALSE(),
        "Febrero", SELECTEDVALUE( 'Observation'[febrero]  ) á FALSE(),
        "March", SELECTEDVALUE( 'Observation'[March]  ) ? FALSE(),
        "April", SELECTEDVALUE( 'Observation'[April]  ) ? FALSE(),
        "May", SELECTEDVALUE( 'Observation'[May]  ) ? FALSE(),
        "June", SELECTEDVALUE( 'Observation'[June]  ) ? FALSE(),   
        "July", SELECTEDVALUE( 'Observation'[Julio]  ) á FALSE(),    
        "August", SELECTEDVALUE( 'Observation'[August]  ) ? FALSE(), 
        "September", SELECTEDVALUE( 'Observation'[Septiembre]  ) ? FALSE(),
        "October", SELECTEDVALUE( 'Observation'[Octubre'[Octubre ]  á FALSE(),
        "November", SELECTEDVALUE( 'Observation'[November]  ) á FALSE(),
        "December", SELECTEDVALUE( 'Observation'[December]  ) ? FALSE()
    ) RETURN
    IF( __Isfilter ? True(), 1, 0 )

Intenté reemplazar el "," después de FALSE() con &&, ahora tengo un error que dice que el objeto visual no se puede mostrar. El estado de detalles No puedo comparar los valores de texto con el tipo True/False. He cambiado la columna Verdadero/Falso a Texto, pero esto no funciona.

Luego cambié los valores TRUE/FALSE para que sean 1/O en su lugar, ahora obtengo un error nother que dice que no puedo comparar Text y Integer.

¿Qué puedo hacer para que esto funcione?

PaulDBrown
Community Champion
Community Champion

@Locco

Mencionas que has añadido un ID para aclarar las cosas. ¿Puede compartir datos de muestra (o mejor aún, un archivo PBIX de ejemplo) y cuál sería la salida esperada? (maqueta de Excel).

Estoy feliz de darle una opción a esto, pero preferiría trabajar en un archivo de conjunto de datos/PBIX de ejemplo.





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






Gracias Pablo,

Dado que se trata de datos "confidenciales", no estoy seguro de si puedo obtener mejores datos de muestra que los que hay en el OP.

Puedo tratar de limpiar un poco y ponerlo en un archivo pbix / Excel si eso ayudaría sin embargo.

PaulDBrown
Community Champion
Community Champion

@Locco

Déjeme probarlo con lo que publicó originalmente. Sin embargo, ¿mencionó que agregó una identificación? ¿Es eso relevante?
lo que sería genial es si pudiera proporcionar un ejemplo de lo que espera ver basado en los datos que ha proporcionado (una tabla / matriz o lo que sea hackeado en Excel, por ejemplo, para ver la representación del resultado esperado basado en los datos de muestra)





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






Hola @Locco

Uso de los datos de ejemplo y adición de una tabla de fechas con la siguiente fórmula

Dates = ADDCOLUMNS(CALENDAR("2019-01-01", "2020-12-31"), "Month", format([Date], "MMMM"), "MonthIndex", MONTH([Date]), "Year", YEAR([Date]))

relacionados con la tabla Hecho en la fecha, puede crear las siguientes fórmulas

Task Complete = if(COUNTROWS('Tasks_Complete') = BLANK(), 0, 1)

Task Incomplete = if(Tasks_Complete[Task Complete] = 0, 1, 0)

ahora si trae Mes de la Tabla de Fechas y Usuario de la Tabla de Usuarios al objeto visual junto con la tarea de medida completa y la tarea incompleta con un poco de filtrado verá lo siguiente

richbenmintz_0-1600374769626.png

Enlace a la muestra pbix, sample.pbix

Espero que esto ayude,
Richard
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
¿Mis respuestas ayudaron a llegar a una solución? Dale un kudos haciendo clic en Thumbs Up!



I hope this helps,
Richard

Did I answer your question? Mark my post as a solution! Kudos Appreciated!

Proud to be a Super User!


Esto funcionó y fue muy simple. Definitivamente pensé en todo esto.

¡Muchas gracias a todos por su ayuda!

Hola @Locco,

Encantado de ayudar



I hope this helps,
Richard

Did I answer your question? Mark my post as a solution! Kudos Appreciated!

Proud to be a Super User!


Sí, todo el mundo tiene un número de identificación único de 5 dígitos y estoy usando eso en lugar del nombre. Sólo lo estoy usando como una relación realmente ya que los nombres en ambas listas no son exactamente los mismos y los ID son.

Estas dos "tablas de entrada" son representaciones de mi conjunto de datos.

Una tabla tiene toda la información relativa a las tareas que contiene. Esto incluye el nombre/ID de la persona, la fecha completada, la tarea específica y el mes.

(He añadido otras columnas para cada mes del año, si una persona ha completado la tarea ese mes, entonces tienen "sí" en ese mes y un "no" si no, estos no tienen que ser utilizados estaba pensando que podría conseguir que funcione usando esa ruta, que era la razón de la medida anterior que estaba tratando de usar.)

La segunda tabla es una lista de todos los empleados.

Tablas de entrada

Tabla 1

E_IDFechaTareaMes
1111101/01/2020AaaEnero
2222201/07/2020BbbEnero
3333301/25/2020CccEnero
4444402/01/2020DddFebrero
5555502/25/2020EeeFebrero
6666602/05/2020FffFebrero
7777702/17/2020GggFebrero
8888803/01/2020HhhMarzo
9999903/01/2020Marzo
1010103/21/2020JjjMarzo

Tabla 2

E_ID
11111
22222
33333
44444
55555
66666
77777
88888
99999
10101

Estoy tratando de crear 2 visualizaciones de 'tabla' separadas. Uno para Completado, otro para Filtro No Completado, así como un Filtro de Mes. Cuando se selecciona "Enero", la salida de las visualizaciones se

Visual completado
E_ID
11111
22222
33333

Visual no completado
E_ID
44444
55555
66666
77777
88888
99999
10101

Si se selecciona "Febrero" en el filtro Mes, la salida de las tablas de visualización

Visual completado
E_ID
22222
11111
66666
55555

Visual no completado
E_ID
33333
44444
77777
88888
99999
101010

Siento que no estoy haciendo un buen trabajo explicando esto, mis disculpas si es así.

PaulDBrown
Community Champion
Community Champion

@Locco

Ok, gracias por eso. Déjame indarme a cuando lo hagas y te avisaré si me quedo atascado en algo.





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






Locco
Helper III
Helper III

Me di cuenta de que mi medida no está devolviendo ningún 1, sólo 0.

PaulDBrown
Community Champion
Community Champion

@Locco

Disculpe mi torpeza, pero ¿qué define un estatus "completado"?





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






No te preocupes Paul, estoy seguro de que he creado cierta confusión.

Un estado "completado" se definiría por el nombre que aparece en "Tabla 1." Todos los nombres de esa lista han completado la tarea.

Locco
Helper III
Helper III

He creado columnas en la tabla de tareas principal para los meses del año. Cada columna devuelve TRUE o FALSE si una persona completó la tarea ese mes.

Lo que me gustaría es una medida, así que si selecciono "Enero" en el filtro las personas con TRUE se mostrarán en un objeto visual y las personas con FALSE se mostrarán en otro. No quiero filtros individuales para cada mes.

Intenté esta medida:

Measure = VAR __filter = SELECTEDVALUE( 'Observation'[Month] )
VAR __Isfilter =  
    SWITCH(
        __filter,
        "January", SELECTEDVALUE( 'Observation'[January]  ) = FALSE(),
        "February", SELECTEDVALUE( 'Observation'[February]  ) = FALSE(),
        "March", SELECTEDVALUE( 'Observation'[March]  ) = FALSE(),
        "April", SELECTEDVALUE( 'Observation'[April]  ) = FALSE(),
        "May", SELECTEDVALUE( 'Observation'[May]  ) = FALSE(),
        "June", SELECTEDVALUE( 'Observation'[June]  ) = FALSE(),   
        "July", SELECTEDVALUE( 'Observation'[July]  ) = FALSE(),    
        "August", SELECTEDVALUE( 'Observation'[August]  ) = FALSE(), 
        "September", SELECTEDVALUE( 'Observation'[September]  ) = FALSE(),
        "October", SELECTEDVALUE( 'Observation'[October]  ) = FALSE(),
        "November", SELECTEDVALUE( 'Observation'[November]  ) = FALSE(),
        "December", SELECTEDVALUE( 'Observation'[December]  ) = FALSE()
    )
    RETURN IF( __Isfilter = True(), 1, 0 )
Deteblé un filtro en el objeto visual FALSE para mostrar solo los elementos con 1 pero no se muestra nada en absoluto.
¿Alguna idea?
v-stephen-msft
Community Support
Community Support

Hola @Locco ,

Mis datos de muestra son estos.

Nombre

Fecha

Tarea

Mes

A

2020-9-1

101

Septiembre

B

2020-9-2

102

Septiembre

C

2020-8-10

102

Agosto

D

2020-8-11

101

Agosto

A

2020-7-5

102

Jul

B

2020-6-5

103

Junio

Nombre

A

B

C

D

E

F

G

1.Cree una tabla de calendario.

Date = 
ADDCOLUMNS (
    CALENDAR ( DATE ( 2020, 1, 1 ), DATE ( 2020, 12, 31 ) ),
    "Month", FORMAT ( [Date], "MMM" ),
    "Sort", MONTH ( [Date] )
)

1.png

2.Combine las dos tablas en una tabla.

Table =
SUMMARIZE ( CROSSJOIN ( 'Name', 'Date' ), [Name], [Month], [Sort] )

2.png

3.Cree una columna calculada.

Task Completed =
IF (
    [Month]
        IN SUMMARIZE ( FILTER ( 'Task', [Name] = 'Table'[Name] ), [Month] ),
    "False",
    "True"
)

3.png

4.Deje que la columna Mes se ordene por la columna Ordenar.

4.png

5.El resultado es el siguiente.

5.png

Puede consultar más detalles desde aquí.

Saludos

Stephen Tao

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias, pero no creo que esto vaya a funcionar tampoco. Parece que me encuentro con el mismo problema.

Por ejemplo, tiene el nombre "G" en la lista de nombres, pero no en la lista de tareas completadas. Aunque el nombre "G" no ha completado ninguna tarea para ningún mes, en los datos de ejemplo cada mes se indica "Verdadero".

Intentaré obtener un libro de datos de ejemplo hecho ya que no puedo compartir mis datos reales.

Hola @Locco ,

De acuerdo con los datos de ejemplo que proporcionó, puede probar el siguiente método.

1.Para mostrar el nombre de la persona que completó la tarea, puede usar directamente la columna Nombre de Table1 como imagen de tabla. Porque cuando se usa la columna Mes como segmentación de datos para filtrar, Nombre se filtrará automáticamente.

Untitled picture1.png

2.Para mostrar los nombres de las personas que no han completado la tarea, podría intentar usar la columna Nombre de Table2 como un objeto visual de tabla, crear una medida y luego arrastrarla a Filtros y establecerla.

Measure = 
IF ( MAX ( 'Table1'[Name] ) <> MAX ( 'Table2'[Name] ), 1 )

Untitled picture.png

3.Los resultados son los siguientes.

Untitled picture2.pngUntitled picture3.pngUntitled picture4.png

Puede consultar más detalles desde aquí.

Saludos
Stephen Tao

Si este post Ayuda, entonces por favor considere Acédárlo como solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Stephen

Esto funciona más que cualquier otra cosa tiene, pero no está dando los resultados deseados.

Hay nombres que no se están rellenando en ninguna de las dos categorías.

Por ejemplo, soy una persona que solo ha completado una tarea en enero (slacker), Mi nombre se rellena en el objeto visual "Completar" cuando se selecciona Enero, pero mi nombre no está en ninguno de los objetos visuales una vez que selecciona cualquier otro mes. Mi nombre debe rellenarse en el objeto visual "No completo" cuando selecciono esos meses y no lo es. Estoy usando el mío como prueba ya que sé qué meses hice/no completé.

Hola @Locco ,

Los datos de ejemplo que proporcionó no indican que la tarea no se haya completado. Si puede, por favor mejore sus datos de muestra, haré todo lo posible para ayudarle, gracias.

Saludos

Stephen Tao

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.