Cálculo de la tasa de aprobación por primera vez

Un usuario Pregunto ✅

Anónimo

Hola a todos,

Estoy tratando de crear una medida (pero no valiosa si necesita ser una columna) para calcular la Tasa de aprobación por primera vez semanal para nuestras pruebas de productos. Esto se basa en una tabla que contiene los resultados de las pruebas de productos individuales (consulte los datos de muestra a continuación).

La primera tasa de aprobación del tiempo debe ser el número de productos (cada uno con un número de serie único) que pasan la prueba por primera vez dividido por el número total de productos únicos.

A partir de los datos siguientes, la cantidad de placas que pasan la primera vez es 6 y la cantidad total de productos probados es 10, por lo que la tasa de aprobación de la primera vez debe ser del 60%.

Se puede suponer que una vez que un producto pasa, no se volverá a probar. Sin embargo, no se puede suponer que un producto siempre pasará en algún momento, a veces fallan y no se vuelven a probar (como en el ejemplo a continuación, número de serie ARH1001293).

Tengo un grupo «Start_time (bins)» derivado de «Start_time» que son grupos de 7 días y, en última instancia, me gustaría graficar los datos en esta escala.

Si alguien puede ayudar con el DAX, sería fantástico, ya que hasta ahora no he podido encontrar la manera.

table1.png

mnayar

En respuesta a Anónimo

@Anónimo cree lo siguiente y debería tener su ans

Primera hora = CALCULAR (MIN (Datos[Start_Time]), ALLEXCEPT (Datos[Serial_Number]))

FirstTimePassed = CALCULAR (MIN (Datos[Start_Time]), ALLEXCEPT (Datos[Serial_Number]), FITLER (Datos[Test_Status] = «Aprobado»))

FirstTimePassedCount =

VAR SerialCount = Calcular (DISTINCTCOUNT (Datos[Serial_Number], FILTRO (TODOS (Datos)))

VAR PassedCount = Calcular (DISTINCTCOUNT (Datos[Serial_Number], FILTRO (Datos, Datos[FirstTime] = Datos[FirstTimePassed]))

Devolver PassedCount / SerialCount

Veles

Supongo aquí que ha creado una tabla de dimensiones llena de números de serie únicos que tiene una relación con su tabla de datos que puede crear usando el nuevo comando de tabla y luego

Serials = DISTINCT ( Data[Serial_Number]  )

La idea detrás de lo siguiente es que irá por su lista de publicaciones periódicas únicas y encontrará el estado de la prueba más antigua para ese número de serie y lo contará si es aprobado.

VAR SerialCount = DISTINCTCOUNT ( Serials[Serial_Number] )
VAR FirstPasses = SUMX ( Serials, IF ( CALCULATE ( MAX ( Data[Test_Status] ), FILTER ( Data, Data[Start_Time] = MIN( Data[Start_Time] ) ) ) = "PASSED", 1, 0 ) )
RETURN
FirstPasses / SerialCount

Anónimo

En respuesta a Veles

Hola Veles,

Muchas gracias por responderme tan rápido. He implementado lo que sugirió, pero no me funciona del todo, probablemente mi problema con los dedos es nuevo en BI.

Para encontrar el problema, eliminé su código para poder ver el recuento de pases por primera vez. Esto parecía devolver 0, así que eliminé la declaración SUMX dejando el valor de retorno como se muestra a continuación:

VAR FirstPasses = IF (CALCULATE (MAX (Combined_temp[Test_Status] ), FILTRO (Combined_temp, Combined_temp[Start_time] = MIN (Combined_temp[Start_time] ))) = «APROBADO», 1, 0)

Cuando arrojé esto en una tabla junto a los números de serie, parece que está haciendo lo correcto. Hay un 1 para cada número de serie que se pasó por primera vez. Sin embargo, cuando coloco el SUMX alrededor y muestro los datos con una hora de inicio agrupada semanalmente, el valor siempre es 0, como si no sumara el resultado del IF. ¿Algunas ideas?

mnayar

En respuesta a Anónimo

@Anónimo cree lo siguiente y debería tener su ans

Primera hora = CALCULAR (MIN (Datos[Start_Time]), ALLEXCEPT (Datos[Serial_Number]))

FirstTimePassed = CALCULAR (MIN (Datos[Start_Time]), ALLEXCEPT (Datos[Serial_Number]), FITLER (Datos[Test_Status] = «Aprobado»))

FirstTimePassedCount =

VAR SerialCount = Calcular (DISTINCTCOUNT (Datos[Serial_Number], FILTRO (TODOS (Datos)))

VAR PassedCount = Calcular (DISTINCTCOUNT (Datos[Serial_Number], FILTRO (Datos, Datos[FirstTime] = Datos[FirstTimePassed]))

Devolver PassedCount / SerialCount

Anónimo

En respuesta a mnayar

Fantástico, muchas gracias. De hecho, esto resolvió el problema y ahora se está calculando la Tasa de aprobación por primera vez.

Deja un comentario

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