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 a todos!
Cómo tirar de valores hacia abajo, necesita medida, no PQ.
@Bessonnizza1992
He visto tu expediente.. La Medida que ha escrito no devolverá ningún valor ni en la marca de tiempo 00:04:59 ni en ninguna otra marca de tiempo que tenga en blanco en timestamp.look anterior en el 00:00:01, su marca de tiempo anterior 00:00:00 tiene valor de 0 min por lo que por lo que obtendrá el valor mínimo de 00:00:00 en el 00:00:01 marca de tiempo.pero obtendrá el valor en blanco de 00:00:02,00:00:03 y así sucesivamente.beacause, no hay un mínimo de valor en la marca de tiempo anterior como (00:00:01 o 00:00:02).
La medida que he proporcionado no le permitirá ejecutar debido al tamaño de fila pesado en la tabla CalendarTime. La sección inactiva de hacer este tipo de cosas es la sección de manipulación.. ¿Por qué no puede usar la consulta de energía? Tomará sólo 1 min para lograr esto. Supongamos que está obligado a escribir una medida. Sólo puede crear una tabla auxiliar y después de eso puede extraer el valor por dax y luego puede ocultar esta tabla de la vista de informe.ver el archivo, lo que he hecho.
https://dropmefiles.com/AhgMB
Espero que consigas ayuda de esta manera.
Estoy etiquetando @Greg_Deckler .. Espero que te guíe más eficientemente.
saludos
Sanalytics
@sanalytics, ty para sus recomendaciones.
Como resultado final, esto es lo que necesito. Pero no puedo usar la consulta de energía porque obtengo la tabla Statistics del servicio web, su tiene más de 2 filas de facturas y actualizado todos los días. En el ejemplo que se me cayó sólo un sensor, en una petición real 102 sensores, así que necesito crear la tabla de soporte en cada sensor.
Hola @Bessonnizza1992,
Puedo usar la siguiente fórmula de medida para reproducir el gráfico como se muestra en la instantánea.
Measure =
VAR currDate =
MAX ( CalendarTime[Time] )
VAR prev =
CALCULATE (
MAX ( Statistics[Timestamp] ),
FILTER ( ALLSELECTED ( Statistics ), [Timestamp] <= currDate )
)
RETURN
CALCULATE (
MAX ( Statistics[Value] ),
FILTER ( ALLSELECTED ( Statistics ), [Timestamp] = prev )
)
¿Cómo te fue realmente estructura de mesa? ¿Puede compartir algunos datos ficticios con múltiples sensores y luego podemos probar la fórmula de codificación en él?
Cómo obtener respuestas a su pregunta rápidamente
saludos
Xiaoxin Sheng
@v-shex-msft , ty para la respuesta!
Todo está funcionando bien, pero un poco lento.
¿Puede explicarme cómo puedo filtrar estas filas? Solo es necesario dejar la línea actual (con el valor original) y la línea anterior. El resultado final debe tener el siguiente aspecto:
Hola @Bessonnizza1992,
Mi fórmula incluye el cálculo del iterador, si está manejando una gran cantidad de registros, puede reducir el rendimiento.
>>¿Puede explicarme cómo puedo filtrar estas filas? Solo es necesario dejar la línea actual (con el valor original) y la línea anterior.
No soy tan claro sobre su requisito, ¿puede explicar más sobre esto? ¿Quiere decir que la expresión debe finalizar el cálculo si se ejecutaron hasta el final de los registros de tabla de hechos?
Si se trata de un caso, puede agregar una instrucción if para empaquetar esta expresión para evitar el cálculo en el intervalo de fechas no existente:
Measure =
VAR _lastDate =
MAXX ( ALLSELECTED ( Statistics ), [Timestamp] )
VAR currDate =
MAX ( CalendarTime[Time] )
VAR prev =
CALCULATE (
MAX ( Statistics[Timestamp] ),
FILTER ( ALLSELECTED ( Statistics ), [Timestamp] <= currDate )
)
RETURN
IF (
currDate <= _lastDate,
CALCULATE (
MAX ( Statistics[Value] ),
FILTER ( ALLSELECTED ( Statistics ), [Timestamp] = prev )
)
)
saludos
Xiaoxin Sheng
¿Alguna idea?
@Bessonnizza1992 ,
Por favor, pruebe a continuación la fórmula,
Valor mínimo ?
Ty para respuesta, @sanalytics
Probamos tu medida, pero power bi froz y no podías cargar tantos datos. La tabla CalendarTime tiene 86400 filas. Tengo una idea con otra medida:
_DiscreteSensor / PreviousValue =
VAR _1 =
MAX ( 'CalendarTime'[Index] ) - 1
RETURN
CALCULATE (
MAX ( StatisticsDiscreteSensors[Value] ),
FILTER ( ALL ( 'CalendarTime' ), CalendarTime[Index] = _1)
)
Todo está bien, pero medir los valores devueltos en la fila de tiempo incorrecta. Por ejemplo:
Marca de tiempo - valor - valor anterior
05:53:40 - en blanco - 0 / marca de tiempo debe ser 07:00:03
07:00:04 - 0 - en blanco
07:00:05 - en blanco - 0 / marca de tiempo debe ser 08:02:58
08:02:59 - 0 - en blanco
¿Sabes cómo puedo hacerlo?
@Bessonnizza1992,
puede por favor proporcionarnos algunos datos ficticios y su salida exacta para que, podemos probar.. es muy difícil asumir su requisito exacto mediante una captura de pantalla.
saludos
sanéticas
@sanalytics,hola otra vez.
Aquí mi ejemplo: https://dropmefiles.com/vH1NG
TimeStamp aquí debe ser:
00:00:00
00:04:59
00:05:00
00:41:59
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 |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |