Calculadora asistente de condiciones

Calculadora que permite la construcción de condiciones a partir de las combinaciones de variables, códigos, expresiones, operadores y funciones.

Condiciones

Las condiciones se utilizan en muchas de las opciones del programa: en las propiedades de las variables, en la definición de controles y saltos, en las variables de tipo virtual, en las selecciones de registros para su consulta, en la búsqueda de cumplimiento de condiciones, y, en general, en todas las órdenes que supongan un proceso restrictivo de la información. El método abreviado para el acceso rápido es Ctrl+S.

Una expresión o condición no deja de ser una cadena alfanumérica de caracteres que, al ser interpretados por el programa, permiten incluir o excluir de un determinado proceso a un conjunto de registros.

En una expresión se distinguen: operadores, identificadores, constantes y funciones. Por ejemplo una expresión lógica podría ser la siguiente:

“SEXO”=1 Y “EDAD”>35

donde Sexo y Edad son identificadores o variables, 1 es el código o constante, Y es el operador en este caso lógico y> es el operador matemático. Con esta condición seleccionaríamos a todos los hombres que están codificados con un 1, y que, a la vez, sean mayores de 35 años. Cuando introducimos condiciones debemos observar ciertas reglas que se refieren a la manera en la que se deben escribir algunos componentes:

  • Los nombres de las variables se deben escribir siempre entre comillas y en mayúsculas.
  • Sobre una variable de tipo categoría no se pueden introducir operaciones matemáticas.
  • Las funciones deben escribirse con su formulación correcta en cuanto a argumentos.
  • Si utilizamos listas de códigos o intervalos sobre una misma variable, el conjunto debe ser encerrado entre paréntesis.

Redacción de condiciones y expresiones

Una condición puede constar de:

  • Nombres de variables o identificadores
  • Constantes o literales
  • Operadores
  • Funciones

Una condición siempre da como resultado un verdadero o falso, se cumple o no se cumple. Una expresión contiene lo mismo que la condición, pero se obtiene un resultado numérico.

Nombres de variables o identificadores

Identifica con qué dato o conjunto de datos del archivo queremos trabajar. Si contiene espacios en blanco o caracteres extraños, debe ir entrecomillado.

Constantes y literales

Llamaremos constantes o literales a aquellas cadenas numéricas o alfanuméricas que son el valor de comparación. En el programa, una constante o literal pueden ser:

  • Un código. VALOR=5000
  • Una lista de códigos. Para separar las listas se utiliza el separador de listas de Windows 95, normalmente de forma estándar es el; . VALOR=(5000;5005;5010)
  • Una lista de intervalos de códigos, VALOR=(1200_3000;5000;5100)
  • Una constante en una operación matemática, VALOR_REAL=VALOR*100
  • Un literal de comparación (el literal texto se entrecomilla), CIUDAD=“MADRID”
  • Un intervalo de literales de comparación (el literal texto se entrecomilla), CIUDAD=(“M”_”P”)
  • Una lista de literales de comparación (el literal texto se entrecomilla), CIUDAD=(“MADRID”;”VALENCIA”)
  • Una lista de intervalos de literales de comparación (el literal del texto se entrecomilla),de forma que la condición se escribiría como: APELLIDO=(“M”_”P”;”S”_”Z”)

Operadores lógicos y aritméticos<

Concepto

Los operadores son los elementos que tienen como misión relacionar dos partes de una expresión o condición, a la vez que especificar si la relación es matemática o lógica. Las partes en relación se llamarán por tanto operandos.

Existen dos tipos de operadores, los lógicos y los aritméticos.

Operadores lógicos

Se utilizan para condiciones que respondan a la operativa de verdadero o falso, se cumple o no se cumple.

  • Y, las dos proposiciones en la condición (operandos) han de ser verdaderos
  • O, una de las dos proposiciones o las dos proposiciones son verdaderas
  • NO, Y NO, la proposición que se niega es falsa
  • O NO, una proposición es falsa y la otra es verdadera

Operadores aritméticos

Por otro lado, disponemos de los operadores aritméticos, aquellos que nos permiten realizar operaciones matemáticas sencillas.

  • Suma +, se usa para sumar dos operandos. Sólo se pueden utilizar variables numéricas y expresiones aritméticas para efectuar esta operación
  • Resta –, se usa para restar dos operandos. Sólo se pueden utilizar variables numéricas y expresiones aritméticas para efectuar esta operación
  • Multiplicación *, se usa para multiplicar dos operandos. Sólo se pueden utilizar variables numéricas y expresiones aritméticas para efectuar esta operación
  • División /, se usa para dividir dos operandos. Sólo se pueden utilizar variables numéricas y expresiones aritméticas para efectuar esta operación
  • Exponenciación ^, se usa para elevar un operando a la potencia que marque el otro operando. Sólo se pueden utilizar variables numéricas y expresiones aritméticas para efectuar esta operación
  • Mayor que,>, se utiliza para comparar dos operandos que pueden ser variables de categoría, numéricas, expresiones aritméticas, fecha y hora.
  • Menor que <, se utiliza para comparar dos operandos que pueden ser variables de categoría, numéricas, expresiones aritméticas, fecha y hora.
  • Mayor igual que>=, se utiliza para comparar dos operandos que pueden ser variables de categoría, numéricas, expresiones aritméticas, fecha y hora.
  • Menor igual que <=, se utiliza para comparar dos operandos que pueden ser variables de categoría, numéricas, expresiones aritméticas, fecha y hora.
  • Distinto que <>, se utiliza para comparar dos operandos que pueden ser variables de categoría, numéricas, expresiones aritméticas, fecha y hora.
  • Igual =, se utiliza para comparar por igualdad dos operandos. En variables múltiples, un = permite que se cumpla individualmente las partes de la condición. De todas las posibilidades, al menos una debe cumplirse.
  • Igualmente estricto ==, en variables de tipo múltiple, se utiliza para seleccionar el cumplimiento estricto de una combinación múltiple, y no una de sus partes.
  • !=, el operador funciona como sigue en variables múltiples: devuelve ‘verdadero’ si al menos uno de los códigos de una variable múltiple está incluido en los códigos de la otra o devuelve ‘falso’ en caso contrario.

Evaluación de operadores en múltiples Top Previous Next Sean Var1, Var2, Var3 tres variables de tipo múltiple, y consideremos que TRUE es el resultado de cumplirse la condición y FALSE es el caso contrario (no cumplirse la condición).

Operador ‘=’ Evalúa todas y cada una de las menciones y comprueba que están incluidas en otra variable.Devuelve TRUE si todas y cada una de las menciones y comprueba que están incluidas en la otra vble. En caso contrario, es decir, si alguna de las menciones ni esta en la otra variable devuelve FALSE.

Var2 = Var1

Var1 = (1;2;3;4;5)

Si Var2=(1;2) ->TRUE

Si Var2=(6) ->FALSE

Si Var2=(5;6) ->FALSE (No todas las menciones de Var2 están en Var1)

Tiene la propiedad conmutativa Var1=Var2 es equivalente a Var2=Var1. no importa la posición de la variable respeto al operador, siempre compara la más pequeña con la más grande.

Var2 = Var1

Var1:=(1;2;3;4;5)

Si Var2=(1;2;6) ->FALSE

Si Var2=(1;2;3;4;5;6) ->TRUE (El 6 no está en Var1 pero todas las menciones de Var1 sí están en Var2)

Cuando evalúa comparará la más corta (menos menciones) con la más larga. Si se quisiera controlar esto (posición de la variable respecto al operador) y que el caso anterior (Var2:=(1;2;3;4;5;6)) hubiera devuelto FALSE tendríamos que haber controlado número de menciones y añadir al control una expresión del tipo (MENCIONES(Var2)<=MENCIONES(Var1)).

Operador ‘!=’ Evalúa todas y cada una de las menciones y comprueba si alguna está incluida en la otra variable. Devuelve TRUE si alguna de las menciones de Var2 está contenida en Var1. Devuelve FALSE únicamente su ninguna de las menciones de Var2 está contenida en Var1. Tiene la propiedad conmutativa: Var1=Var2 es equivalente a Var2=Var1.

Var2 != Var1 Var1:= (1;2;3;4;5)

  • Si Var2=(1;2) ->TRUE
  • Si Var2=(6) ->FALSE
  • Si Var2=(5;6) ->TRUE

Ejemplos de aplicación - Por ejemplo, tenemos 3 variables Var1, Var2 i Var3, sobre las cuales queremos aplicar los siguientes controles de grabación. Los valores registrados en Var2 tienen que estar grabados en Var1. Para eso definiremos el siguiente control en la vble Var2: NO VAR2=VAR1 - Los valores grabados en Var3 han de estar registrados en Var1 pero no en Var2. Definimos el siguiente control en Var3: NO (VAR3 = VAR1 Y NO VAR3 != VAR2). Apreciar que la utilización del operador ‘!=’ sin el cual no seria posible la aplicación correcta del control.

Expresiones aritméticas

Concepto

En algunos lugares del programa se pueden utilizar expresiones aritméticas en lugar de variables. Estas expresiones aritméticas son fórmulas matemáticas o generadas con funciones que tiene un resultado aritméticos y no booleano (verdadero o falso). Para poder escribirlas se pueden utilizar operadores aritméticos y también funciones.

Debemos distinguir lo que es una expresión aritmética que como resultado ofrece un número, de las condiciones aritméticas que combinan las expresiones aritméticas con operadores y que como resultado devuelven un TRUE / FALSE (se cumple / no se cumple)

Ejemplos de uso de expresiones - XSUMA(V1;V2;V3)>100 - ((V1+V2)/100)>3 - MEDIA(V1;V2)

Funciones

Concepto

Denominamos función a las herramientas de cálculo que se pone a nuestro alcance para obtener cálculos de operaciones más o menos complejas. Existen funciones de dos tipos:

  • Denominamos funciones lógicas, a aquellas funciones que nos devuelven como resultado de su aplicación un verdadero o falso. -Denominamos funciones aritméticas a aquellas expresiones que nos van a devolver como resultado de la operación un número que podrá ser operado con una expresión aritmética, constante o variable numérica.

Sintaxis de las funciones

  • ABS(EXPRESIÓN) Valor absoluto de una determinada expresión.
  • ACUMULADO(VARIABLE) Calcula el acumulado registro a registro de una variable del estudio
  • AÑOS(FECHA 1;FECHA 2) Años que hay entre una variable de tipo fecha y otra variable de tipo fecha.
  • CAMBIA.ESCALA(EXPRESIÓN;MÁXIMO) Valor invertido de una escala, dónde máximo es el mayor valor que se puede alcanzar en la escala.
  • COND.DESVTIP(EXPRESIÓN;”CONDICIÓN”) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas; el estadístico calculado se obtendrá sólo sobre los casos que cumplan la condición del parámetro)
  • COND.MAX(EXPRESIÓN;”CONDICIÓN”) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas; el estadístico calculado se obtendrá sólo sobre los casos que cumplan la condición del parámetro)
  • COND.MEDIA(EXPRESIÓN;”CONDICIÓN”) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas; el estadístico calculado se obtendrá sólo sobre los casos que cumplan la condición del parámetro)
  • COND.MIN(EXPRESIÓN;”CONDICIÓN”) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas; el estadístico calculado se obtendrá sólo sobre los casos que cumplan la condición del parámetro)
  • COND.SUMA(EXPRESIÓN;”CONDICIÓN”) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas; el estadístico calculado se obtendrá sólo sobre los casos que cumplan la condición del parámetro)
  • COND.VARI(EXPRESIÓN;”CONDICIÓN”) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas; el estadístico calculado se obtendrá sólo sobre los casos que cumplan la condición del parámetro)
  • CREARFECHA(EXPRESION DE AÑOS;EXPRESIÓN DE MESES;EXPRESION DE DIAS) A partir de tres variables numéricas se unirán formando una fecha. Si alguna de ellas no existe, se substituye por un 0
  • CREARHORA(EXPRESION DE HORAS;EXPRESION DE MINUTOS;EXPRESION DE SEGUNDOS) A partir de tres variables numéricas se unirán formando una hora. Si alguna de ellas no existe, se substituye por un 0
  • DECIMALES(EXPRESION) Devuelve la parte decimal de una expresión numérica.
  • DESVTIP(EXPRESIÓN_1;EXPRESIÓN_2;…;EXPRESIÓN_N) Desviación típica de una serie de expresiones registro a registro.
  • DIAS(FECHA 1;FECHA 2) Días que hay entre una variable de tipo fecha y otra variable de tipo fecha.
  • DIASEMANA(VarFecha) retorna un número de 1 a 7, donde 1 es lunes.
  • EXTRAEFECHA(EXPRESIÓN;”A” ó “Mes” ó “D” ó “S” ó “DS”) De una variable tipo fecha, extrae la información solicitada por el parámetro: A para Años, Mes para meses o D para días, S para número de semana y DS para día de la semana a una variable numérica métrica
  • EXTRAEHORA(EXPRESIÓN;”H” ó “Min” ó “S”) De una variable tipo hora, extrae la información solicitada por el parámetro: H para horas, Min para minutos o S para segundos a una variable numérica métrica
  • GRUPOS(VARIABLE)
  • HORAS(HORA 1;HORA 2) Horas que hay entre una variable de tipo hora y otra variable de tipo hora.
  • INDEFINIDA(VARIABLE) Función lógica que devuelve un 1 si es un código indefinido o un 0 si es un código definido.
  • LAST(VARIABLE DE TIPO MULTIPLE), devuelve el último valor grabado en una múltiple
  • LN(EXPRESIÓN) Logaritmo neperiano de una expresión.
  • LOG(EXPRESIÓN) Logaritmo base 10 de una expresión.
  • MAX(EXPRESIÓN_1;EXPRESIÓN_2;…;EXPRESIÓN_N) Dadas unas expresiones aritméticas, máximo registro a registro.
  • MAXINDEX(EXPRESIÓN_1;EXPRESIÓN_2;…;EXPRESIÓN_N) Retorna el valor del índice (orden de variable) que cumple con el estadístico máximo. Si ponemos tres variables, 1 será la primera variable, 2 la segunda y 3 la tercera.
  • MAXRANGO(VARIABLE_1; VARIABLE_2; …;VARIABLE_N) Devuelve el valor máximo del rango localizado al realizar trade – offs entre parejas de variables.
  • MEDIA(EXPRESIÓN1;EXPRESIÓN2;…;EXPRESIÓNN) Dadas unas expresiones aritméticas, se calcula la media registro a registro.
  • MENCIONES(VAR. ) Número de ítemes que se contestan en una variable múltiple.
  • MESES(FECHA 1;FECHA 2) Meses que hay entre una variable de tipo fecha y otra variable de tipo fecha.
  • MIN(EXPRESIÓN1;EXPRESIÓN2;…;EXPRESIÓNN) Dadas unas expresiones aritméticas, mínimo registro a registro.
  • MININDEX(EXPRESIÓN_1;EXPRESIÓN_2;…;EXPRESIÓN_N) Retorna el valor del índice (orden de variable) que cumple con el estadístico mínimo. Si ponemos tres variable 1 será la primera variable, 2 la segunda y 3 la tercera.
  • MINRANGO(VARIABLE_1; VARIABLE_2; …;VARIABLE_N) Devuelve el valor mínimo del rango localizado al realizar trade – offs entre parejas de variables.
  • MINUTOS(HORA 1;HORA 2) Minutos que hay entre una expresión de tipo hora y otra variable de tipo hora.
  • MOD(Exp1;Exp2), calcula el resto de la división entre la variable o expresión 1 y la variable o expresión 2.
  • NUMALEATORIO(EXPRESIÓN) Cálculo de un número aleatorio entre 0 y el valor de la expresión
  • NUMERAR(MÁXIMO VALOR A NUMERAR) Numerar los registros con un máximo. Llegado a ese máximo se reinicia la numeración.
  • RAIZ.C(EXPRESIÓN) Raíz cuadrada de una expresión.
  • RAIZ.N(N;EXPRESIÓN) Raíz n – ésima de una expresión.
  • REDONDEA(EXPRESIÓN;DECIMALES) Redondear según normas internacionales una expresión y con los decimales indicados.
  • ROUND(EXPRESION) Redondea a valor intro
  • SEGUNDOS(H1;H2) Segundos que hay entre una variable de tipo hora y otra variable de tipo hora.
  • SUBCADENA(VARIABLE;CADENA DE CARACTERES) Función booleana que retorna un 1 si localiza la subcadena de caracteres buscada en otra cadena.
  • SUBSTR(CADENA DE CARACTERES;INTERVALO) Función que retorna una cadena de caracteres buscando a partir del intervalo establecido
  • SUMA(EXPRESIÓN_1;EXPRESIÓN_2;…;EXPRESIÓN_N) Suma las variables numéricas contenidas en la expresión. Se puede utilizar un intervalo de variables con la opción SUMA(VAR1..VARn), es decir, incluyendo 1ª y última variable del intervalo. En caso de haber variables con distinto tipo por medio, no serían contabilizadas.
  • SUMAFECHA(EXPRESIÓN_1 DE AÑOS;EXPRESIÓN_2 DE MESES;…;EXPRESIÓN_N DE DIAS; “A” o “Mes” o “D”) Suma transformando a días los valores de una fecha PERO CONTABILIZADA EN TRES VARIABLES NUMÉRICAS MÉTRICAS, la primera contiene los años, la segunda los meses y la tercera los días. Es necesario indicar también el formato en el que se desea el resultado: Años (A), Meses (Mes) o Días (D)
  • SUMAHORA(EXPRESIÓN_1 DE HORAS;EXPRESIÓN_2 DE MINUTOS;…;EXPRESIÓN_N DE SEGUNDOS; “H” o “Min” o “S”) Suma transformando a días los valores de una hora PERO CONTABILIZADA EN TRES VARIABLES NUMÉRICAS MÉTRICAS, la primera contiene las horas, la segunda los minutos y la tercera los segundos. Es necesario indicar también el formato en el que se desea el resultado: Horas (H), Minutos (Min) o segundos (S).
  • TRUNCA(EXPRESIÓN) Elimina la parte decimal de una expresión.
  • VALOR.DESVTIP(variable) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas
  • VALOR.MAX(variable) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas
  • VALOR.MEDIA(variable) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas
  • VALOR.MIN(variable) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas
  • VALOR.SUMA(variable) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas
  • VALOR.VARI(variable) Expresión que nos permite calcular es estadístico del mismo nombre sobre una variable del archivo, y utilizarlo en otras expresiones aritméticas
  • VALOR. Z(EXPRESIÓN) Calcula el valor normalizado de la expresión, valor menos su media cociente con la desviación típica.
  • VARIANZA(EXPRESIÓN1;EXPRESIÓN2;…;EXPRESIÓNN) Varianza de una serie de expresiones aritméticas registro a registro
  • XDESVTIP(EXPRESIÓN_1;EXPRESIÓN_2;…;EXPRESIÓN_N) Calcula el estadístico del mismo nombre pero no contabilizando los valores perdidos o especiales
  • XMEDIA(EXPRESIÓN_1;EXPRESIÓN_2;…;EXPRESIÓN_N) Calcula el estadístico del mismo nombre pero no contabilizando los valores perdidos o especiales
  • XSUMA(EXPRESIÓN_1;EXPRESIÓN_2;…;EXPRESIÓN_N) Calcula el estadístico del mismo nombre pero no contabilizando los valores perdidos o especiales
  • XVARIANZA(EXPRESIÓN_1;EXPRESIÓN_2;…;EXPRESIÓN_N) Calcula el estadístico del mismo nombre pero no contabilizando los valores perdidos o especiales