[RESUELTO] STDEV: Cálc de la desviación estandar de un rango

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

[RESUELTO] STDEV: Cálc de la desviación estandar de un rango

Notapor valenteres » Jue Ene 28, 2016 10:38 pm

Buenas noches:

Necesito obtener los parámetros estadísticos de los dato de un rango. Pare ello utilizo com.sun.star.sheet.GeneralFunction
Calculo los valores máximo, mínimo, media y desviación estandar. Con los tres primeros no hay problema, pero la desviación estandar da valores sin sentido.

El código utilizado es:
Código: Seleccionar todo   Expandir vistaContraer vista
Sub UseCompute
  Dim oRange        'The primary range
  Dim oSheet        'The fourth sheet
  Dim d As Double   'Return value
 
  oSheet = ThisComponent.Sheets(0)
  oRange = oSheet.getCellRangeByName("A5:C9")
  d = oRange.computeFunction(com.sun.star.sheet.GeneralFunction.MAX)
  MsgBox "Maximo de A5:C9 = " & d, 0, "ComputeFuntion()"
  d = oRange.computeFunction(com.sun.star.sheet.GeneralFunction.MIN)
  MsgBox "Minimo de  A5:C9 = " & d, 0, "ComputeFuntion()"
  d = oRange.computeFunction(com.sun.star.sheet.GeneralFunction.AVERAGE)
  MsgBox "Media de  A5:C9 = " & d, 0, "ComputeFuntion()"
  d = oRange.computeFunction(com.sun.star.sheet.GeneralFunction.STDEV)
  MsgBox "Desviación Estandar de  A5:C9 = " & d, 0, "ComputeFuntion()"
 
End Sub


Adjunto hoja de cálculo con el rango de datos, los valores calculados y el código.
Ejecutando el código, se puede comprobar que los tres primeros valores coinciden con los calculados en la hoja. Sin embargo, el valor de la desviación estandar no tiene nada que ver.

¿Alguna idea?

Muchas gracias
Adjuntos
Estadistica.ods
(11.36 KiB) 80 veces
Última edición por mauricio el Jue Ene 28, 2016 11:06 pm, editado 2 veces en total
Razón: Marcar resuelto correctamente
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"

Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
valenteres
 
Mensajes: 81
Registrado: Mié Jun 17, 2015 6:04 pm

Re: STDEV: Cálculo de la desviación estandar de un rango

Notapor mauricio » Jue Ene 28, 2016 10:49 pm

Prueba con:
Código: Seleccionar todo   Expandir vistaContraer vista
  result = callFunction("STDEV", Array(oRange))
  MsgBox "Desviación Estandar de  A5:C9 = " & result, 0, "ComputeFuntion()"
 
End Sub


Function callFunction( Nombre As String, Datos() )
  ' Esta función permite llamar a una función de Calc por su nombre en Inglés   
   Dim oSFA As Object
   oSFA = createUnoService( "com.sun.star.sheet.FunctionAccess" )
   callFunction = oSFA.callFunction( Nombre, Datos() )
End Function

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 6061
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: STDEV: Cálculo de la desviación estandar de un rango

Notapor valenteres » Jue Ene 28, 2016 11:02 pm

Perfecto Mauricio ... Como siempre
Mañana lo incluyo en la rutina

Muchas gracias de nuevo
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"

Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
valenteres
 
Mensajes: 81
Registrado: Mié Jun 17, 2015 6:04 pm


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados