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.
Hola
Estoy creando un panel de power bi para la planificación de apagado de máquinas. Digamos que tengo 5 máquinas. Cada máquina se somete a uno o dos mantenimientos cada año. Durante cada período de mantenimiento, la capacidad de una máquina es "0". Hasta que una máquina se somete al primer mantenimiento, su capacidad es "1". Después del primer mantenimiento, la capacidad es "2" y después de la segunda maitenance, la capacidad es "3".
Básicamente, necesito algo similar a la búsqueda 3D donde comprueba si en la fecha seleccionada, si la máquina está con qué capacidad, es decir, 0/1/2/3 y devolver ese valor.
Tengo 3 tablas en mi tablero. Una es la lista de máquinas, la otra es la fecha y la tercera es la programación de la máquina maitenace como se indica a continuación. He hecho esto en Excel con el anidamiento de múltiples función "IF", pero strugging para desarrollar power bi DAX para el mismo.
Máquina | Fecha de inicio de Maint 1 | Fecha de finalización de Maint 1 | Fecha de inicio de Maint 2 | Fecha de finalización de Maint 2 |
Máquina 1 | 22-Sep-20 | 2-Oct-20 | 16-Nov-20 | 26-Nov-20 |
Máquina 2 | 3-Oct-20 | 13-Oct-20 | 27-Nov-20 | 7-Dic-20 |
Máquina 3 | 14-Oct-20 | 24-Oct-20 | 8-Dic-20 | 18-Dic-20 |
Máquina 4 | 25-Oct-20 | 4-Nov-20 | 19-Dic-20 | 29-Dic-20 |
Máquina 5 | 5-Nov-20 | 15-Nov-20 | 30-Dic-20 | 9-Enero-21 |
@ enlaces a los miembros
Solved! Go to Solution.
Hola @Anil59060
Es posible que desee mostrar valores en esta lógica de cálculo:
Si DATE no está en la fecha SD, muestre los valores en tabla de mayúsculas (máquina específica).
Si Date en SD DATE, muestra 0.
Creo que puede probar la función IF para lograr su objetivo.
Construyo una mesa como la tuya para hacerme una prueba.
Tabla de mayúsculas:
Tabla SD:
Crear una tabla de fechas:
Date = ADDCOLUMNS(CALENDARAUTO(),"Month",FORMAT([Date],"MMM"))
Medida:
Machine 1 =
VAR _SD_Start =
CALCULATE ( MAX ( SD[SD Start] ), FILTER ( SD, SD[Machine] = "Machine 1" ) )
VAR _SD_End =
CALCULATE ( MAX ( SD[ SD End] ), FILTER ( SD, SD[Machine] = "Machine 1" ) )
VAR _Value =
CALCULATE ( SUM ( Cap[Machine 1] ), FILTER ( Cap, Cap[Month] = 'Date'[Month] ) )
RETURN
IF ( 'Date'[Date] >= _SD_Start && 'Date'[Date] <= _SD_End, 0, _Value )
Resultado:
Otras medidas de la máquina son las mismas, sólo tiene que cambiar las tres medidas en var.
Puede descargar el archivo pbix desde este enlace: Devolver un valor si la fecha seleccionada está entre dos fechas
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Su mesa es innecesariamente compleja. Transformarlo así
Máquina | Fecha de inicio de Maint | Fecha de finalización de Maint |
Máquina 1 | 22-Sep-20 | 2-Oct-20 |
Máquina 2 | 3-Oct-20 | 13-Oct-20 |
Máquina 3 | 14-Oct-20 | 24-Oct-20 |
Máquina 4 | 25-Oct-20 | 4-Nov-20 |
Máquina 5 | 5-Nov-20 | 15-Nov-20 |
Máquina 1 | 16-Nov-20 | 26-Nov-20 |
Máquina 2 | 27-Nov-20 | 7-Dic-20 |
Máquina 3 | 8-Dic-20 | 18-Dic-20 |
Máquina 4 | 19-Dic-20 | 29-Dic-20 |
Máquina 5 | 30-Dic-20 | 9-Enero-21 |
A continuación, puede utilizar una columna o medida calculada (dependiendo de cómo desee filtrar) para identificar para cada día qué máquinas están en mantenimiento ese día, etc.
Thanks for reply. If you could help me with writing DAX for a calculated column to return capacity for selected machine if selected date is between SD start date and SD end date.
Machine | SD Type | SD Start | SD End | Capacity |
Machine 1 | PMI | 22-Sep-20 | 2-Oct-20 | 0 |
Machine 2 | PMI | 3-Oct-20 | 13-Oct-20 | 0 |
Machine 3 | PMI | 14-Oct-20 | 24-Oct-20 | 0 |
Machine 4 | PMI | 25-Oct-20 | 4-Nov-20 | 0 |
Machine 5 | PMI | 5-Nov-20 | 15-Nov-20 | 0 |
¿Su contador de capacidad siempre se restablece a cero el primero de enero?
Capacity of a machine is "0" when the machine is under maintenance i.e. between SD start date and SD end date. Machine capacity would be 30 when it is not under maintenance.
Thanks,
Anil
que entra en conflicto con su declaración inicial. Por favor, muestre el resultado esperado para un par de fechas alrededor de sus datos de muestra.
¡Hola!
Por favor, encuentre los detalles. Tengo un mes de la tabla de capacidad de la máquina. Si una máquina está en funcionamiento obtengo esta salida de cada máquina.
Cada máquina tiene un plan de mantenimiento como se indica a continuación. La capacidad de la máquina es cero durante el mantenimiento.
Por lo tanto, en una 3a tabla quiero ver la capacidad disponible para cada fecha y para eso he puesto a continuación DAX: Ver un DAX para la máquina 2
Hola @Anil59060
Es posible que desee mostrar valores en esta lógica de cálculo:
Si DATE no está en la fecha SD, muestre los valores en tabla de mayúsculas (máquina específica).
Si Date en SD DATE, muestra 0.
Creo que puede probar la función IF para lograr su objetivo.
Construyo una mesa como la tuya para hacerme una prueba.
Tabla de mayúsculas:
Tabla SD:
Crear una tabla de fechas:
Date = ADDCOLUMNS(CALENDARAUTO(),"Month",FORMAT([Date],"MMM"))
Medida:
Machine 1 =
VAR _SD_Start =
CALCULATE ( MAX ( SD[SD Start] ), FILTER ( SD, SD[Machine] = "Machine 1" ) )
VAR _SD_End =
CALCULATE ( MAX ( SD[ SD End] ), FILTER ( SD, SD[Machine] = "Machine 1" ) )
VAR _Value =
CALCULATE ( SUM ( Cap[Machine 1] ), FILTER ( Cap, Cap[Month] = 'Date'[Month] ) )
RETURN
IF ( 'Date'[Date] >= _SD_Start && 'Date'[Date] <= _SD_End, 0, _Value )
Resultado:
Otras medidas de la máquina son las mismas, sólo tiene que cambiar las tres medidas en var.
Puede descargar el archivo pbix desde este enlace: Devolver un valor si la fecha seleccionada está entre dos fechas
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |