Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Hola
Estoy tratando de encontrar la manera de hacer en Power BI lo que haría en Excel usando COUNTIFS (para la primera parte del mensaje)
Después de esto, un condicional con el valor mínimo (para la segunda parte).
El propósito es saber qué máquinas se están reparando y si no, cuándo es el próximo mantenimiento (dependiendo de la clasificación).
Para eso, lo primero que considero (puedo estar equivocado) es obtener una fórmula DAX (similar a Excel COUNTIFS) para obtener si una máquina está siendo reparada o no.
En excel sería algo así;
Podemos ver en la 'columna I' para cada registro la cantidad de tareas que se realizan para cada máquina.
Una vez que tenemos esto, quiero obtener otra columna (la buena) (en el ejemplo 'K'), donde todas las máquinas en proceso están en 'Sí' y aquellas máquinas que lo hicieron ('C' en el ejemplo), solo se muestra la siguiente (la que tiene el valor mínimo en la columna 'H') también.
Explicando esto de la manera opuesta, no quiero ver ninguna de las máquinas en estado 'Pendiente' a menos que ese registro tenga el valor mínimo en la columna 'H' y esa máquina no tenga ninguna actividad en proceso.
Finalmente, ¡gracias por su ayuda agradecida! Esto podría ser fácil si tienes la pista, pero para mí, se está volviendo demasiado complicado.
¡Saludos!
Gracias @Greg_Deckler . Ya te di un like en tu otro post. Muy interesante la comparación.
Sin embargo, todavía tengo dudas sobre la forma en que usas de filterexpression. Supongo que en filterexpression es donde se filtran otras máquinas (en el ejemplo) dependiendo de la fila?
¡Gracias de antemano! Ya probé con FILTER pero no encontré la manera de usar correctamente la filterexpression.
@jmateu88 ¿Puede publicar sus datos de muestra como texto y puedo crear una solución específica para ello? De lo contrario, es probable que me pierda un paréntesis o no tenga en cuenta un caso de borde en particular. Pero, podría ser:
Column =
VAR __Machine = [MachineID]
VAR __Seq = MINX(FILTER('Table',[MachineID] = __Machine),[Sequential Number])
RETURN
IF([Status] = "In process" || [Sequential Number] = __Seq,"Yes","No")
Hola @Greg_Deckler ,
Aquí los datos;
Máquina | Estado | Seq.no |
A | En proceso | 1 |
B | En proceso | 1 |
C | Pendiente | 1 |
A | En proceso | 2 |
B | Pendiente | 2 |
B | Pendiente | 3 |
C | Pendiente | 2 |
A | Pendiente | 3 |
B | Pendiente | 4 |
C | Pendiente | 3 |
A | Pendiente | 4 |
B | Pendiente | 5 |
A | Pendiente | 5 |
Aquí probando en Power BI.
¡¡Gracias!!
@jmateu88 PBIX se adjunta debajo de la firma. Esta es la columna que creé:
Column =
VAR __Machine = [Machine]
VAR __Seq = MINX(FILTER('Table',[Machine] = __Machine),[Seq.no])
RETURN
IF([Status] = "In process" || [Seq.no] = __Seq,1,0)
wow @Greg_Deckler . Eso fue increíble.
Aprendí mucho con esta expresión simple e increíble. ¡Muchas gracias!
¡La solución es más que válida!
@jmateu88 COUNTIF equivalente es COUNTX(FILTER(...),...) Traducción de CO-CU Excel a DAX - Microsoft Power BI Community