-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Collapse de intervalo de tiempo semestral #59
Comments
El Date Histogram de Elasticsearch usado para calcular las agregaciones por intervalo de tiempo tiene un soporte para unos intervalos de tiempo predeterminados (ref), en los cuales no se encuentra el período semestral. La posible solución pensada de usar el concepto de Una solución alternativa puede ser calcular agregaciones a nivel trimestral, y luego juntar los resultados de manera tal para obtener valores semestrales, es decir para un año determinado, juntar los resultados de los cálculos para los primeros dos trimestres para el primer semestre, y el tercero y cuarto para el segundo semestre. Esta operación se haría en memoria durante el procesamiento de la query, teniendo el cuidado necesario para devolver los valores correctos, y no por ejemplo el promedio de los resultados parciales trimestrales. |
@lucaslavandeira no es posible hacer el equivalente a un "group by" donde cada fecha de distintas frecuencias (de trimestral a diaria) mapea siempre a un trimestre (usando los meses: los meses del 1 al 6 mapean al semestre 1, los meses del 7 al 12 mapean al semestre 2) y se aplica la función de agregación sobre esos valores?? |
Quizás si cuando indexamos le agregamos a qué trimestre corresponde podemos hacer algo así... qué decís Lucas? |
@abenassi Sí, eso funcionaría pero es una operación hecha en memoria, "a mano", por nosotros, que no aprovecha en absoluto el motor de Elasticsearch @pgarcia-uv Esto quizás puede funcionar mejor: indexar el semestre al que pertenece el dato de una serie, en orden secuencial (semestre 1, 2, 3, ..., n), y luego al necesitar calcular operaciones se hace sobre los semestres agrupados |
@lucaslavandeira @poligarcia le bajo la prioridad a esto, dentro de la cola del |
@lucaslavandeira este hay que revisarlo.. la definición de semestre que usa es un "cada 6 meses desde el primer período de la serie" cuando en realidad debería ser que el semestre 1 es de Enero a Junio y el semestre 2 es de Julio a Diciembre. Esta llamada: http://181.209.63.223:8095/api/series/?ids=101.1_I2ABA_2016_M_28&format=csv&collapse=semester debería sólo devolver 2 valores: segundo semestre de 2016 y primer semestre de 2017. 2016-07 Revisemos que estemos tratando a los trimestres de esta manera también por las dudas. |
Aparte de esto: esta operación la estás indexando @lucaslavandeira ?? Me pareció que la llamada tardaba bastante más de lo habitual |
@lucaslavandeira veo que el trimestre tiene el mismo problema: http://181.209.63.223:8095/api/series/?ids=101.1_I2ABA_2016_M_28&format=csv&collapse=quarter Este lo agrego aparte como un bug. EDIT: @lucaslavandeira falsa alarma! los trimestres parecen estar bien, esa llamada que puse recién estaba OK. Sólo habría que revisar los semestres. |
Por las dudas, las operaciones de agregación temporal deben interpretarse siempre como: "se hace la operación sobre todos aquellos valores que estén dentro del período al cual se agrega, siempre que se disponga de la serie completa de valores subyacentes para los períodos de las puntas (comienzo y fin)"
|
Discutir como implementar este colapso de datos, no soportado por default en Elasticsearch.
Probablemente habrá que usar un intervalo definido por
time units
:https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#time-units
The text was updated successfully, but these errors were encountered: