Mostrar líneas que coincidan entre fechas de otra tabla no relacionada

Un usuario Pregunto ✅

Hyperchef1969

Hola,

Tengo dos tablas separadas que no se pueden relacionar entre sí (dos fuentes diferentes). Una se llama tabla de referencia en la que se puede seleccionar una orden de trabajo, la otra es código_error. La funcionalidad debería ser que cuando filtre una orden de trabajo específica en la tabla de referencia, hay un ‘realBeginTime’ y ‘realEndTime’ presente en esa tabla. Los códigos de error relacionados deben mostrarse para el tiempo entre realbegintime y realendtime. Por tanto, debería comprobarse que ‘datStart’ (ver imagen) de la tabla error_code está entre realbegintime y realendtime de la tabla de referencia. En la imagen de beneeth, solo las líneas marcadas en rojo deben aparecer en la tabla.

Werma - comunidad Power BI.png

Hola @ Hyperchef1969,

Puede crear la medida Filter1 en la tabla de referencia y luego poner la medida Filtro1 en el filtro de nivel visual de la tabla de objetivos visual, y estableciendo el Filtro1 como «no está en blanco».

Filtro1= SI (COUNTROWS (ALLSELECTED (referencia[reference] )) <1, EN BLANCO (), SI (referencia[realBeginTime]<= MAX (código_error[datStart])&&referencia[realEndTime]> = MAX (código_error[datStart]), 1, EN BLANCO ()))

7.png

Atentamente,

Amy

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Hyperchef1969

En respuesta a v-xicai

Hola,

Gracias por su ayuda. Después de la segunda instrucción if no puedo seleccionar ‘referencia[realBeginTime’. Only a formula or measure. Any idea how to solve?

 

Cheers.

In response to Hyperchef1969

Hi @Hyperchef1969 ,

 

Please try this measure.

Filter1=IF(COUNTROWS ( ALLSELECTED ( reference[reference] )) <1, EN BLANCO (), SI (MAX(referencia[realBeginTime]) <= MAX (código_error[datStart]) &&MAX(referencia[realEndTime])> = MAX (código_error[datStart]), 1, EN BLANCO ()))

Atentamente,

Amy

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Hyperchef1969

En respuesta a v-xicai

Hola Amy,

Intenté seguir la fórmula de dax:

Comprobar = SI (COUNTROWS (ALLSELECTED (OrderView[reference])) <1, EN BLANCO (), SI (MAX (OrderView[realBeginTime])> = MAX (slaveStateMarker[datStart]) && MAX (OrderView[realEndTime]<= MAX (slaveStateMarker[datStart])), 1, EN BLANCO ()))
Estoy trabajando en una consulta directa y recibo el mensaje: «la función max solo acepta una referencia de columna como argumento»

En respuesta a Hyperchef1969

Hola @ Hyperchef1969,

¿Tiene sentido? Si no es así, avíseme y trataré de ayudarlo más.

Atentamente

Amy

En respuesta a Hyperchef1969

Hola @ Hyperchef1969,

¿Hay alguien para lo que se pueda medir? [realBeginTime], [realEndTime] y [datStart]? En caso afirmativo, puede eliminar la función MAX antes de esta medida de fecha e intentarlo de nuevo. O puede colocar el cubo «)» en un lugar incorrecto para la función MAX.

Atentamente,

Amy

Hyperchef1969

En respuesta a v-xicai

Resuelto mediante el siguiente cálculo:

Time_Range =
VAR
Start_error_code = VALUES (slaveStateMarker[datStart])
VAR
Begin_time_op_seq = LOOKUPVALUE (OrderView[realBeginTime], OrderView[reference], ALLSELECTED (OrderView[reference]))
VAR
End_time_op_seq = LOOKUPVALUE (OrderView[realEndTime], OrderView[reference], ALLSELECTED (OrderView[reference]))
REGRESO
IF (Start_error_code> = Begin_time_op_seq && Start_error_code <= End_time_op_seq, 1,0)

parry2k

@ Hyperchef1969 puede publicar algunos datos de muestra en Excel compartiendo a través de onedrive / google drive.

Deja un comentario

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