¿Funciones estadísticas para FireBird 2.0?
Hola a todos. Estoy tratando de aplicar funciones estadísticas a un conjunto de datos de una BD Firebird 2 agrupados con la sentencia group by. Las funciones COUNT, AVG, MIN, MAX y SUM funcionan perfectamente pero STDEV (desviación típica) y VAR (varianza) no las reconoce, sale el error "Function unknown".
¿Alguien sabe si Firebird 2 tiene más funciones estadísticas aparte de las indicadas (count, avg, min, max y sum)? Gracias y un saludo al foro. |
Saludos.
Esas funciones son las que trae Firebird por defecto. Para más funciones debes de crearlas tú, lo puedes hacer desde Delphi o tienes otra solución y es instalar las FreeAdhocUDF http://www.udf.adhoc-data.de/index_eng.html Estas librerías contienen bastantes funciones, no se si están las que necesitas, échales un vistazo. Hasta luego. |
Gracias Reyes
Gracias por tu respuesta. En un primer vistazo al enlace que me has indicado no encuentro estas funciones que busco. Ya lo miro más detenidamente y os digo algo.
Saludos |
Siempre Angel
Recuerda que también tienes la opción de crearlas desde Delphi, digo este lenguaje porque asumo que es el que estas usando.
Para documentación sobre como crear UDF (funciones) ve a http://www.ibphoenix.com Hasta luego. |
Hasta donde tengo entendido, no es posible aún crear aggregate functions dentro de un UDF, y de hecho, tampoco está en el roadmap... por lo que seguramente todavía tardaremos en ver esta característica implementada.
En el tracker, ya hay quien la ha solicitado. Hasta luego. ;) |
Saludos.
Osea no se puede realizar una UDF de calculo matemático? (No entendí bien tu planteamiento) |
Se puede crear una UDF que haga cualquier cosa, pero no una función agregada. Es decir, las operaciones podrán realizarse solo sobre un registro del conjunto de datos en el que se opera la función, y no sobre un conjunto de registros, como ocurre en el caso de sum(), avg(), etc.
En otras palabras, no podría calcularse la desviación o la varianza de esta manera. Hasta luego. ;) |
Descorazonador mensaje el del jachguate. Si él dice que no se puede hacer, difícilmente voy a llevarle yo la contraria con mis escasos conocimientos.
En mi opinión eso es un fallo de Firebird, máxime cuando las funciones stdev y var sí que son aceptadas en otros motores sql. Espero que la versión 3 corrija estos fallos. En fín, es lo que tiene el software libre... Gracias por vuestra colaboración. |
Siempre se puede crear un procemimiento almacenado que calcule esos valores
|
¿Fallo? ejem, Fallo si lo tuviese implementado y no diera el valor correcto, jeje.
Se supone que es un "todo" ;) Saludos |
Cita:
Cita:
Pero no solo eso... podrías hacerlo vos mismo o contratar a alguien que lo haga por vos... es lo que tiene el software libre que no tiene el privativo: libertad de modificar y adaptar a tus necesidades. Si tomas lo que te costaría un par de licencias de Oracle o de SQL Server, seguro hasta te queda para unos refrescos... y podrás hacer tantas instalaciones como te sea necesario sin pasar nuevamente por caja. ;) Hasta luego. ;) |
Cierto, más que "fallo", la palabra exacta es carencia. En cuanto a mi comentario sobre el software libre iba en el sentido de que uno no puede quejarse a los autores porque bastante hacen ya poniendo su trabajo de forma poco o nada remunerada como para encima ir diciendo "se te ha olvidado poner esto".
Firebird es, me parece, un gran motor. Bien pensado no tiene por qué tener funciones estadísticas avanzadas porque para eso ya están programas específicos como las hojas de cálculo que sí hacen estas cosas pero que no pueden almacenar millones de datos. Saludos al foro. Gracias por vuestros comentarios. |
Cita:
|
La franja horaria es GMT +2. Ahora son las 19:24:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi