Constrain | Qlik Sense en Windows Ayuda
Saltar al contenido principal Saltar al contenido complementario

Constrain

La sentencia Constrain puede utilizarse en combinación con las sentencias Let o Set para definir variables de script. La sentencia Constrain le permite definir restricciones en los posibles valores de estas variables. Si la definición de una variable viola las restricciones, la recarga falla. Con las restricciones, podemos exigir que los valores de las variables coincidan con determinados tipos específicos, que se encuentren dentro de rangos numéricos concretos o que coincidan con valores aceptables definidos por nosotros.

Constrain variablename = json

Donde:

  • variablename es una variable de script.

  • json es un objeto JSON válido que especifica las restricciones. Las restricciones individuales se añaden dentro de este objeto como pares de clave y valor.

Tipos de restricciones
Tipo de restricción (clave) Significado Requisitos de restricción (valor) Ejemplos
"type" Limitar los valores de las variables a un tipo de datos específico.

"text" especifica un tipo de texto.

"number" especifica un tipo numérico.

CONSTRAIN vExampleText = {"type": "text"}
CONSTRAIN vExampleNumeric = {"type": "number"}
"maxnum" Indique un valor máximo para una variable. Solo números (enteros o de punto flotante). Se permite la notación científica.
CONSTRAIN vExample = {"maxnum": 5000}
"minnum" Indique un valor mínimo para una variable. Solo números (enteros o de punto flotante). Se permite la notación científica.
CONSTRAIN vExample = {"minnum": 250}
"valuesnum" Defina una lista de valores numéricos aceptables para la variable. Lista separada por comas de números incluidos entre corchetes. Por ejemplo: [1,2,3]
CONSTRAIN vExample = {"valuesnum": [1,2,3]}
"valuestext" Defina una lista de valores de texto aceptables para la variable. Lista separada por comas de cadenas de texto entre corchetes. Por ejemplo: ["a","b","c"]
CONSTRAIN vExample = {"valuestext": ["Department A", "Department B", "Department C"]}

Cuándo usar una Constrain sentencia

Utilice la sentencia Constrain para evitar que se carguen valores de variables no deseados en las aplicaciones de análisis.

Consideraciones

  • La definición Constrain para la variable debe ser un objeto JSON válido.

  • Puede especificar más de una restricción para una misma variable. Todas las restricciones de una variable deben estar contenidas en un único objeto de restricción. Para ejemplos, vea Ejemplos: múltiples restricciones.

  • Si ya ha cargado una variable de script con un nombre determinado en la aplicación, los futuros intentos de definir restricciones y valores para esa variable pueden fallar debido a conflictos entre las variables originales y las redefinidas.

    Para resolver estos conflictos, restablezca las restricciones y los valores de las variables insertando definiciones en blanco. Ejemplos:

    CONSTRAIN x;
    LET x;
    
    CONSTRAIN x;
    SET x;

    A continuación, puede redefinir la variable y sus restricciones en secciones posteriores del script de carga. Para ver un ejemplo más extenso, consulte Ejemplo: resolución de conflictos en la definición de variables.

  • El orden de la definición de la variable y la definición de la restricción no importa. Sin embargo, en caso de fallo de recarga relacionado con la variable, la línea en la que se produce el punto de ruptura será diferente.

  • La sentencia de script Constrain solo restringe las definiciones de variables para las variables de script. También puede aplicar restricciones a las variables de script y de usuario final (las creadas o actualizadas en la vista de hoja o como variables de sesión mediante la API) utilizando la API pública. Para más información, vea Alternativas de desarrollo para definir las restricciones de las variables.

  • Se validan las restricciones para evitar escenarios que no pueden coincidir con ningún valor para la variable. Ejemplos de restricciones no válidas:

    • {"minnum": 5000, "maxnum": 4}
    • {"type": "text", "maxnum": 4}

Alternativas de desarrollo para definir las restricciones de las variables

También puede utilizar la API pública para definir restricciones de variables, en lugar de utilizar la sentencia Constrain en el script de carga. Al definir restricciones mediante la API, todos los intentos de actualizar los valores de las variables —ya sea directamente en el script de carga o en la vista de hoja— estarán sujetos a las restricciones.

Para definir restricciones de variables mediante la API pública, utilice la propiedad GenericVariableConstraints en la API QlikEngine JSON: GenericVariableProperties (solo en inglés).

Ejemplo - type

Ejemplo - maxnum

Ejemplo - minnum

Ejemplo - valuesnum

Ejemplo - valuestext

Ejemplos: SET versus LET

Estos ejemplos muestran las diferencias de aplicación entre las restricciones cuando se utiliza SET o LET durante la definición de las variables. Todos los ejemplos utilizan restricciones que aplican un requisito de type, pero estos principios se aplican a todos los tipos de restricciones en general.

Ejemplos: múltiples restricciones

Ejemplo: resolución de conflictos en la definición de variables

¿Esta página le ha sido útil?

Si encuentra algún problema con esta página o su contenido (errores tipográficos, pasos que faltan o errores técnicos), no dude en ponerse en contacto con nosotros.