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 chicos! espero que lo estés haciendo todo bien.
Aquí hay uno complicado (al menos para mi conocimiento modesto):
Tengo un conjunto de artículos (pozos productores de petróleo - Pozo),y cada uno de ellos tiene un historial de producción de petróleo (Aceite producido - qoil, en cada mes - fechamensual). Así que mis datos se ven así:
Bien Date qoil
ME-0001 01/08/2020 1.5
ME-0001 01/09/2020 1.5
ME-0001 01/10/2020 1.4
ME-5000 01/08/2020 4.4
ME-5000 01/09/2020 4.0
ME-5000 01/10/2020 3.7
ME-3251 01/08/2020 0.2
ME-3251 01/09/2020 0.2
ME-3251 01/10/2020 0.2
(tenga en cuenta que esto es sólo una muestra, siendo los datos reales miles de pozos y todas las fechas desde la década de 1950 hasta la fecha actual).
La evolución de estas curvas de producción de petróleo suele seguir una forma exponencial, como la siguiente:
Matemáticamente hablando, esta curva se modela como:
si en la fecha t0 --> qoil0 - Qo0
a continuación, en la siguiente fecha1 --> qoil1 - Qo0 x Exp (-ADN/12)
donde el ADN es la tasa de declinación nominal anual, que en la ecuación se divide por 12 porque el ADN es anual, y el período es en meses.
Mis datos se obtienen de las mediciones en un campo de petróleo, por lo que tengo una curva de historial de producción para cada pozo,y muestra un cierto comportamiento ruidoso debido a los métodos inherentes de mediciones (y muchas otras razones). Como es una curva histórica, todas las fechas son fechas pasadas (comienzan alrededor de 1950 y se siguen agregando a mi conjunto de datos cada mes), siendo la última fecha disponible igual a octubre-2020. Sobre la base de estos puntos de datos, quiero calcular el valor de ADN para cada pozo, mirando las últimas 24 fechas (2 años atrás).
Básicamente, el método para estimar el ADN es:
He logrado calcular este valor de ADN para cada pozo, pero solo usando la última fecha disponible como TargetDate (así que tengo la tasa de declinación nominal de los últimos 24 meses). Lo he hecho filtrando mis columnas calculadas auxiliares utilizando la función MAX(data[Date]), como en la siguiente imagen:
Tenga en cuenta que para un determinado Well, todas las filas tienen el mismo valor numérico para la columna DNA calculada, es decir, porque, para ese pozo concreto, todas las fórmulas calculadas utilizan el mismo TargetDate como punto de partida (que es Fecha máxima o fecha histórica más reciente)
En el siguiente enlace está el *.pbix que contiene lo que ya he hecho.
Aquí está mi petición:
El objetivo es ser capaz de saber en cualquier momento de la historia que fue la tasa de declinación de un pozo en particular. Necesito usar DAX (no Power Query) para resolverlo.
Su ayuda será muy apreciada. Gracias de antemano por su amable apoyo, He estado luchando con este problema durante un par de semanas hasta ahora. ¡Saludos!
@amitchandak, en el siguiente enlace puede encontrar:
No hay datos confidenciales, ya que todos los datos contenidos en estos archivos no son reales.
Muchas gracias por su interés.
saludos
Hola Ibendlin, gracias por su respuesta.
Con el objetivo de simplificar el problema, mostré un ejemplo de un Pozo que tiene una historia de producción exponencial casi perfecta, pero esto está lejos de ser el caso común: la producción de pozos a menudo muestran cambios muy complejos de tendencias en su producción, a veces aumentando y a veces disminuyendo. Las causas de estos cambios son muchas, tales como:
La siguiente imagen es datos reales de un pozo, donde se puede observar la variabilidad del ADN.
Entonces, toda la historia de producción de un pozo no se puede caracterizar por un solo valor de ADN. En su lugar, los DNA se estiman a lo largo de toda la vida de un pozo productor, porque es una medida del pozo está funcionando en comparación con las expectativas, u otros pozos similares.
El problema que estoy intentando resolver está relacionado con cómo usar cada fecha de fila como parámetro, en lugar de usar MAX(data[Date]).
Gracias de nuevo por su ayuda.
Saludos
Marcelo
@MarceloSaez ¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O una muestra de pbix después de eliminar datos confidenciales.
Eso suena demasiado complejo. ¿Por qué no hacer esto completamente en el mundo logarítmico? Todo lo que necesita saber es la pendiente logarítmica y el valor actual. Todo lo demás se puede calcular, ¿no?
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 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
1 | |
1 |