OOoES/Traduccion/Calc: Funciones Bases de Datos
Contents
Lista de las funciones para Bases de Datos de Calc
BDCONTAR | Cuenta las entradas numéicas en una columna de una tabla de base de datos, las cuales se encuentran en las filas que cumplan los criterios. |
BDCONTARA | No cuenta las celdas vacías en una columna de una tabla de base de datos, las cuales se encuentran en las filas que cumplan los criterios. |
BDEXTRAER | Devuelve el contenido de una celda en una columna de una tabla de base de datos, en la única fila que cumpla el criterio. |
BDMAX | Devuelve el valor mayor en una columna de una tabla de base de datos, en filas que cumplan los criterios. |
BDMIN | Devuelve el valor menor en una columna de una tabla de base de datos, en filas que cumplan los criterios. |
BDPROMEDIO | Devuelve el promedio de las entradas en una columna de una tala de bases de datos, en filas que cumplan los criterios. |
BDPRODUCTO | Devuelve el producto de las entradas en una columna de una tabla de base de datos, en filas que cumplan los criterios. |
BDDESVEST | Calcula la desviación estándar de las entradas en una columna de una tabla de base de datos, en filas que cumplan los criterios. Los registros son tratados como una muestra, no como el conjunto de la población. |
BDDESVESTP | Calcula la desviación estándar de las entradas en una columna de una tabla de base de datos, en filas que cumplan los criterios. Los registros son tratados como el conjunto de la población, no como una muestra de la población. |
BDSUMA | Devuelve el total de las entradas en una columna de una tabla de base de datos, en filas que cumplan los criterios. |
BDVAR | Devuelve el total de las entradas en una columna de una tabla de base de datos, en filas que cumplan los criterios. Los registros son tratados como una muestra, no como el conjunto de la población. |
BDVARP | Calcula la varianza de las entradas en una columna de una tabla de base de datos, en filas que cumplan los criterios. Los registros son tratados como el conjunto de la población, no como una muestra de la población. |
Información General
En la hoja de cálculo OpenOffice.org 'Calc', una 'basededatos' es simplemente una tabla de valores, y no tiene nada que ver con las bases de datos más complejas de OpenOffice.org 'Base'. Las funciones de 'basesdedatos' en Calc (listadas aquí) son muy simples para utilizar, y le permite elegir y procesar datos en una tabla.
Una tabla de 'basededatos' Calc puede tener este aspecto:
La primera fila de la tabla de 'basededatos' tiene los encabezados (Nombre, Grado, Edad ... ), y cada fila subsiguiente contiene los valores de datos.
Los 'criterios', los cuales se utilizan para seleccionar filas desde la 'basededatos', son introducidos en otra tabla:
Cal Funciones de Bases de Datos Tabla 'criterios'
La primera fila de esta tabla tiene encabezados. Las filas subsiguientes especifican los criterios: por ejemplo, utilizando los criterios de la tabla arriba pueden coincidir aquellos niños cuya distancia a la escuela sea mayor a 600.
Todas las funciones de 'basededatos' en Calc tienen una forma similar. Como un primer ejemplo simple, utilizamos las tablas de arriba:
BDCONTAR(A1:E10; 0; A13:E14)
- devuelve 5, el número de niños cuya “Distancia a la Escuela” es mayor a 600.
- A1:E10 es la tabla de base de datos y A13:E14 es la tabla de criterios.
Existen otras funciones de 'basededatos' para devolver una suma, un promedio, una desviación estándar, y así sucesivamente.
Criterios
La tabla de criterios puede ubicarse en cualquier parte sobre la hoja de cálculo, pero con frecuencia es conveniente tenerla cerca de la tabla de base de datos.
Los encabezados de la tabla de criterios deben coincidir exactamente con los encabezados en la tabla de base de datos, pero pueden aparecer en cualquier orden, y más de una vez:
Todos los criterios sobre una fila deben cumplirse para que la fila esté satisfecha, así que en el ejemplo de arriba nosotros encontramos filas que tienen:
- “Distancia a la Escuela” mayor que 600 Y
- “Edad” mayor que 8 Y
- “Edad” menor que o igual a 10
en otras palabras niños entre '9 y 10 años de edad quienes viajan más de 600 a escuela'.
Si la tabla de criterios tiene más de una fila del criterio, y si se satisface al menos una fila significa que la tabla del criterio general es satisfecha:
En este ejemplo la prueba es:
- (“Distancia a la Escuela” mayor que 600 Y
- “Edad” mayor que 8 Y
- “Edad” mayor que o igual a 10)
- O
- ( “Edad” menor que o igual a 8)
En otras palabras nos encontramos con filas donde los niños son o bien de '9 o 10 años de edad con 600 o más para viajar a la escuela', o 'de 8 años o menores'.
La condición que se introduce en una celda de una tabla de criterios (por ejemplo >4 ) es simplemente texto y tiene la siguiente forma:
- valor de comparación donde
- valordecomparación es uno de >, <, >=, <=, =, <> (si valordecomparación es omitido = es asumido );
- valor es el valor (numérico o texto) a ser comparado.
Por ejemplo:
- la condición “>4” prueba si los contenidos de las celdas son mayores que 4.
- la condición “<tren” prueba si los contenidos de las celdas vienen alfabéticamente antes de tren (entonces señora y hormiga cumplen la condición, pero trueno y zapato no).
- la condición “tren” prueba si los contenidos de las celdas son tren - pero Calc tiene un número de configuraciones las cuales definen el comportamiento exacto - por favor lea la siguiente sección:
Configuraciones para Criterios de Texto
When matching a simple text condition, (such as “<lamp”) it can be important to check the settings on the Tools menu→Options→OpenOffice.org Calc→Calculate dialog:
Case sensitive
- this check box has no effect on Calc database functions. Case is ignored - so that “lamp” will always match lamp, Lamp and LAMP, etc.
Search criteria = and <> must apply to whole cells
- if this check box is ticked, “lamp” will only match a cell containing just lamp. If this check box is not ticked, “lamp” will match lamp, clamp, lampoon, etc. - in other words it will match if lamp is found anywhere in the cell's text.
Enable regular expressions in formulas
- if this check box is ticked, then the condition is treated as a regular expression. For example the condition “l?amp” would match lamp and amp (in regular expressions “l?” means the “l” is optional).Regular expressions are similar to wildcards, but more powerful; they are described in the HowTo: Regular Expressions in Calc. (Note that the ' Search criteria = and <> must apply to whole cells ' setting above also works when regular expressions are selected.)
The functions results can depend on these settings - but unfortunately they are rather hidden away so that a user may be unaware if the settings are wrong.
There are two ways to combat this:
Firstly you can design the spreadsheet to work irrespective of the settings
- most easily, never do a text comparison - or if you do, always look for a whole cell match, and make sure that none of the cells that you check is a submatch of any other cell (eg if you search for 'apple' as the sole contents of a cell, make sure no other cell can contain 'crabapple'), AND
- do not use regular expressions AND
- do not use regular expressions special characters such as ., *, + [, { in criteria
Secondly you can include on your spreadsheet a warning if the settings are wrong.
- in cell A3 enter the text:
- Check:
- Now note that
- COUNTIF(A3;".*") returns 1 if regular expressions are turned on.
- COUNTIF(A3;"<>e") returns 1 if whole cell matching is turned on.
- and construct an appropriate formula in cell A4 - for example:
- To check for both regular expressions and whole cell matching:
- =IF( AND(COUNTIF(A3;".*"); COUNTIF(A3;"<>e")); "OK"; "Error: " & IF(COUNTIF(A3;".*")=0; "Turn on regular expressions. "; "") & IF(COUNTIF(A3;"<>e")=0; "Turn on whole cell matching."; "") )
- To check for regular expressions but no whole cell matching:
- =IF( AND(COUNTIF(A3;".*"); COUNTIF(A3;"<>e")=0); "OK"; "Error: " & IF(COUNTIF(A3;".*")=0; "Turn on regular expressions. "; "") & IF(COUNTIF(A3;"<>e"); "Turn off whole cell matching."; "") )
- To check for whole cell matching but no regular expressions:
- =IF( AND(COUNTIF(A3;".*")=0; COUNTIF(A3;"<>e")); "OK"; "Error: " & IF(COUNTIF(A3;".*"); "Turn off regular expressions. "; "") & IF(COUNTIF(A3;"<>e")=0; "Turn on whole cell matching."; "") )
- To check for neither regular expressions nor whole cell matching:
- =IF( AND(COUNTIF(A3;".*")=0; COUNTIF(A3;"<>e")=0); "OK"; "Error: " & IF(COUNTIF(A3;".*"); "Turn off regular expressions. "; "") & IF(COUNTIF(A3;"<>e"); "Turn off whole cell matching."; "") )
Ayudas y Trucos
- To make sure that the criteria table headings exactly match the database table headings, you can either copy and paste, or use '='. For example, in the table above =D1 will give 'Distance to School'
- If the criteria do not seem to work, make sure that any apparently empty cells really are empty by selecting them and deleting.