cómo evitar la referencia circular en el modelo de datos

Un usuario Pregunto ✅

Anónimo

Hola a todos,

Tengo dos mesas Entrevista Tabla Registrada y Entrevista Tabla Redonda

si selecciono 01/02/2019 en el filtro de fecha, quiero mostrar el siguiente requisito

  • Ningún candidato registrado = 2 (DNI = 1,2)
  • Número de entrevistas de candidatos que asisten = 4 (DNI =3,4,5,2)

Nota: actualmente tengo mapeado por DNI para otros requisitos

Entrevista Tabla Registrada

IDENTIFICACIÓN La fecha registrada Nombre Número de teléfono
1 2/1/2019 A 32564
2 2/1/2019 B 2564
3 10/01/2019 C 98742
4 20/01/2019 D 369872
5 20/01/2019 mi 369862
6 15/01/2019 F 3862

Entrevista Tabla redonda

IDENTIFICACIÓN Fecha de la entrevista Ronda de entrevistas Resultado
3 2/1/2019 Tecnología 1 seleccionado
4 25/01/2019 Tecnología 1 seleccionado
4 2/1/2019 Tecnología 2 rechazado
5 2/1/2019 Tecnología 1 rechazado
6 27/01/2019 HORA seleccionado
2 2/1/2019 Tecnología 1 seleccionado

Alba

En respuesta a Anónimo

@Anónimo

No cree esa relación adicional entre los ID. Mantener las relaciones que ya teníamos.

Para la primera medida prueba esto:

1. En la tabla Fecha, agregue una columna con el número del mes para que tenga [Month] para nombres de meses y [Month number] por los numeros

2. Fecha Lugar'[Month] en las filas de una matriz visual.

3. Crear esta medida para el conteo de personas atendidas y registradas en el mes en curso

RegAndAttThisMonth = 
VAR _IdsRegisteredThisMonth =
    DISTINCT ( 'Interview Registered Table'[ID] )
VAR _IdsAttendedThisMonth =
    DISTINCT ( 'Interview Round table'[ID] )
RETURN
    COUNTROWS ( INTERSECT ( _IdsAttendedThisMonth; _IdsRegisteredThisMonth ) )

4. Coloque la medida en valores de la matriz visual. Obtendrás algo como esto:

imagen.png

Alba

En respuesta a Alba

@Anónimo

Ahora, para la segunda medida, prueba esto:

1. y 2. exactamente como arriba (ya hecho)

3. Cree esta medida para el conteo de personas que asistieron este mes pero se registraron en el mes anterior:

RegLastMonthAttThisMonth = 
VAR _IdsRegisteredLastMonth =
    CALCULATETABLE (
        DISTINCT ( 'Interview Registered Table'[ID] );
        ALL ( 'Date' );
        FILTER (
            ALL ( 'Date'[Month Number] );
            'Date'[Month Number]
                = SELECTEDVALUE ( 'Date'[Month Number] ) - 1
        )
    )
VAR _IdsAttendedThisMonth =
    DISTINCT ( 'Interview Round table'[ID] )
RETURN
    COUNTROWS ( INTERSECT ( _IdsAttendedThisMonth; _IdsRegisteredLastMonth ) )

4. Coloque las medidas en valores de la matriz visual. Obtendrás algo como esto (con ambas medidas):

imagen.png

Alba

hola @anonimo

Creo que lo mejor sería empezar por

1. Crear una tabla de fechas estándar

2. Cree una relación unidireccional de 1 a muchos entre Fecha[Date] y ‘Tabla Registrada de Entrevistas'[Registered Date]

3. Cree una relación unidireccional de 1 a muchos entre Fecha[Date] y ‘Tabla Redonda de Entrevistas'[Interview Date]

4. Fecha Lugar[Date] en un slicer donde seleccionarás el día que quieras.

5. Coloque estas dos medidas cada una en una tarjeta visual:

NumCandidatesRegistered = DISTINCTCOUNT('Interview Registered Table'[ID])

NumCandidatesAttendedInterview = DISTINCTCOUNT('Interview Round Table'[ID])

Esto le dará los números que necesita. Si también necesita la lista de identificaciones, nombres que se registraron o asistieron a entrevistas, tendremos que hacer algo más. No estoy seguro si lo necesitas.

¿Qué quieres decir con esto exactamente?

Nota: actualmente tengo mapeado por DNI para otros requisitos

Anónimo

En respuesta a Alba

Gracias @AlB

tengo algun requerimiento mas

  1. cuantas personas asisten a una entrevista con registro del mes en curso (Ej: DNI=2 registrados el 02-2019 y asisten el 02-2019)
  2. cuantas personas asisten a una entrevista con registro del mes anterior (EX: DNI=3,4,5 registrados el 01-2019 y asisten el 02-2019)

¿Cómo puedo lograr esta lógica?

por esta razón, He creado la relación entre ‘Entrevista Tabla Registrada’ [ID], ‘Tabla Redonda de Entrevistas’ [ID]

modelo de datos.png

¿Es posible crear dos relaciones (ID y fecha) entre dos tablas? Espero que cree un ciclo circular entre ‘Tabla registrada de entrevistas’, ‘Tabla redonda de entrevistas’, calendario maestro

Alba

En respuesta a Anónimo

@Anónimo

No cree esa relación adicional entre los ID. Mantener las relaciones que ya teníamos.

Para la primera medida prueba esto:

1. En la tabla Fecha, agregue una columna con el número del mes para que tenga [Month] para nombres de meses y [Month number] por los numeros

2. Fecha Lugar'[Month] en las filas de una matriz visual.

3. Crear esta medida para el conteo de personas atendidas y registradas en el mes en curso

RegAndAttThisMonth = 
VAR _IdsRegisteredThisMonth =
    DISTINCT ( 'Interview Registered Table'[ID] )
VAR _IdsAttendedThisMonth =
    DISTINCT ( 'Interview Round table'[ID] )
RETURN
    COUNTROWS ( INTERSECT ( _IdsAttendedThisMonth; _IdsRegisteredThisMonth ) )

4. Coloque la medida en valores de la matriz visual. Obtendrás algo como esto:

imagen.png

Alba

En respuesta a Alba

@Anónimo

Ahora, para la segunda medida, prueba esto:

1. y 2. exactamente como arriba (ya hecho)

3. Cree esta medida para el conteo de personas que asistieron este mes pero se registraron en el mes anterior:

RegLastMonthAttThisMonth = 
VAR _IdsRegisteredLastMonth =
    CALCULATETABLE (
        DISTINCT ( 'Interview Registered Table'[ID] );
        ALL ( 'Date' );
        FILTER (
            ALL ( 'Date'[Month Number] );
            'Date'[Month Number]
                = SELECTEDVALUE ( 'Date'[Month Number] ) - 1
        )
    )
VAR _IdsAttendedThisMonth =
    DISTINCT ( 'Interview Round table'[ID] )
RETURN
    COUNTROWS ( INTERSECT ( _IdsAttendedThisMonth; _IdsRegisteredLastMonth ) )

4. Coloque las medidas en valores de la matriz visual. Obtendrás algo como esto (con ambas medidas):

imagen.png

Deja un comentario

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