Skip to main content
Announcements
Introducing a new Enhanced File Management feature in Qlik Cloud! GET THE DETAILS!
cancel
Showing results for 
Search instead for 
Did you mean: 
Tomas_Martin
Contributor III
Contributor III

Error if

Buenos días,

Estoy empezando a manejar Qlik Sense y quería saber si me podéis solucionar el siguiente problema.

Introduzco una fórmula de if donde el cliente me solicita bastantes condiciones y llego a un punto que no me deja introducir más porque me indica: if takes 2-3 parameters.

He introducido tres condiciones con dos if cada una pero cuando voy a meter otra, me da el problema reseñado.

Un saludo.

38 Replies
lorenzoconforti
Specialist II
Specialist II

I don't think there is a limit to how many nested if you can use. Can you post your formula? 

Tomas_Martin
Contributor III
Contributor III
Author

Después de cada número va una descripción diferente pero te indico lo que reflejo.
A partir de /* ya no me admite más.
=if([Estado Informes]='0.Descripción' or [Estado Informes]='1.2. Descripción '
or [Estado Informes]='1.3 Descripción 'or [Estado Informes]='3. Descripción
or [Estado Informes]='3.1 Descripción ' or [Estado Informes]='6.4 Descripción ',
if([SOLICITANTE]='Primero','Solicitante','Otro-Solicitante'),

if([Estado Informes]='1.1. Descripción ' or [Estado Informes]='2. Descripción '
or [Estado Informes]='6.3 Descripción ' or [Estado Informes]='7. Descripción '
or [Estado Informes]='7.3 Descripción ' or [Estado Informes]='7.4 Descripción ',
if([TITULAR]='Segundo','Titular','Otro-Titular'),

if([Estado Informes]='1. Descripción ' or [Estado Informes]='4. Descripción '
or [Estado Informes]='5. Descripción ',if ([Modalidad Compartición]='Ampliación', 'NA',
if([TITULAR]='Tercero','Titular','Otro-Titular')))))





/*if([Estado Informes]='6. Descripción ' or [Estado Informes]=' Descripción '
and [Modalidad Compartición]='Nuevo'and [SOLICITANTE]='Primero','Solicitante',
if([Estado Informes]='6. Descripción ' or [Estado Informes]='6.2. Descripción '
and [Modalidad Compartición]='Ampliación' and [TITULAR]='Segundo','Titular',
if([Estado Informes]='6. Descripción ' or [Estado Informes]='6.2. Descripción '
and [Modalidad Compartición]='Ampliación'
and [TITULAR]<>'Segundo','Otro-titular','Otro-Solicitante')))



/*and if([Estado Informes]='6.1. Descripción ' and [Modalidad Compartición]='Nuevo'
and [TITULAR]='Primero','Titular',
if([Estado Informes]='6.1. Descripción ' and [Modalidad Compartición]='Ampliación'
and [SOLICITANTE]='Segundo','Solicitante',
if([Estado Informes]='6.1. Descripción ' and [Modalidad Compartición]='Ampliación'
and [SOLICITANTE]<>'Tercero','Otro-titular','Otro-Solicitante'))


/*if([Estado Informes]='7.1. Descripción ' or [Estado Informes]='7.2 Descripción '
or [Estado Informes]='8. Descripción ' or [Estado Informes]='8.1. Descripción ', 'NA','NA')
Un saludo.
lorenzoconforti
Specialist II
Specialist II

Although complex, the sequence of ifs seems fine.

There seems to be a missing single quote in this line:

or [Estado Informes]='1.3 Descripción 'or [Estado Informes]='3. Descripción

Where it should be

or [Estado Informes]='1.3 Descripción 'or [Estado Informes]='3. Descripción'

 

Can you send the expression without the */? The way you have put it below clearly doesn't work when I remove */ because the subsequent sections are not included correctly in the nested ifs; I would like to see the complete expression

Tomas_Martin
Contributor III
Contributor III
Author

No observo diferencia en lo que me indicas.

Te envío toda la secuencia;

= if ([Estado Informes] = '0.Descripción' o [Estado Informes] = '1.2. Descripción'
o [Estado Informes] = '1.3 Descripción' o [Estado Informes] = '3. Descripción
o [Estado Informes] = '3.1 Descripción' o [Estado Informes] = '6.4 Descripción',
if ([SOLICITANTE] = 'Primero', 'Solicitante', 'Otro-Solicitante'),

if ([Estado Informes] = '1.1. Descripción' o [ Estado Informes] = '2. Descripción'
o [Estado Informes] = '6.3 Descripción' o [Estado Informes] = '7. Descripción'
o [Estado Informes] = '7.3 Descripción'


if ([Estado Informes] = '1. Descripción' o [Estado Informes] = '4. Descripción'
o [Estado Informes] = '5. Descripción', if ([Modalidad Compartición] = 'Ampliación', 'NA',
if ([TITULAR] = 'Tercero', 'Titular', 'Otro-Titular'),


 if ([Estado Informes] = '6. Descripción' o [Estado Informes] = 'Descripción'
y [Modalidad Compartición] = 'Nuevo' y [SOLICITANTE] = 'Primero', 'Solicitante',
si ([Estado Informes] = '6. Descripción' o [Estado Informes] = '6.2. Descripción'
y [Modalidad Compartición] = 'Ampliación 'y [TITULAR] =' Segundo ',' Titular ',
if ([Estado Informes] =' 6. Descripción 'o [Estado Informes] =' 6.2. Descripción '
y [Modalidad Compartición] = 'Ampliación'
y [TITULAR] <> 'Segundo', 'Otro-titular', 'Otro-Solicitante'),



if ([Estado Informes] = '6.1. Descripción' y [Modalidad Compartición] = 'Nuevo'
y [TITULAR] = 'Primero', 'Titular',
if ([Estado Informes] = '6.1. Descripción' y [Modalidad Compartición] = 'Ampliación'
y [SOLICITANTE] = 'Segundo', 'Solicitante',
if ([Estado Informes] = '6.1. Descripción' y [Modalidad Compartición] = 'Ampliación'
y [SOLICITANTE] <> 'Tercero ',' Otro-titular ',' Otro-Solicitante '),

 if ([Estado Informes] =' 7.1. Descripción 'o [Estado Informes] =' 7.2 Descripción '
o [Estado Informes] =' 8. Descripción ' o [Estado Informes] = '8.1. Descripción', 'NA', 'NA')))))))))
Un saludo.

Tomas_Martin
Contributor III
Contributor III
Author

A partir de donde te indico /* ya no lo admite.

Si lo vas haciendo por separaciones lo admite sin ningún problema.

= if ([Estado Informes] = '0.Descripción' o [Estado Informes] = '1.2. Descripción'
o [Estado Informes] = '1.3 Descripción' o [Estado Informes] = '3. Descripción'
o [Estado Informes] = '3.1 Descripción' o [Estado Informes] = '6.4 Descripción',
if ([SOLICITANTE] = 'Primero', 'Solicitante', 'Otro-Solicitante'),

if ([Estado Informes] = '1.1. Descripción' o [ Estado Informes] = '2. Descripción'
o [Estado Informes] = '6.3 Descripción' o [Estado Informes] = '7. Descripción'
o [Estado Informes] = '7.3 Descripción'


if ([Estado Informes] = '1. Descripción 'o [Estado Informes] =' 4. Descripción '
o [Estado Informes] =' 5. Descripción ',if ([Modalidad Compartición] = 'Ampliación', 'NA',
if ([TITULAR] = 'Tercero', 'Titular', 'Otro-Titular'),


 if ([Estado Informes] = '6. Descripción' o [Estado Informes] = 'Descripción'
y [Modalidad Compartición] = 'Nuevo' y [SOLICITANTE] = 'Primero', 'Solicitante',
si ([Estado Informes] = '6. Descripción' o [Estado Informes] = '6.2. Descripción'
y [Modalidad Compartición] = 'Ampliación' y [TITULAR] = 'Segundo', 'Titular',
if ([Estado Informes] = '6. Descripción' o [Estado Informes] = '6.2. Descripción'
y [Modalidad Compartición] = 'Ampliación'
y [TITULAR] <> 'Segundo', 'Otro-titular', 'Otro-Solicitante'),



if ([Estado Informes] = '6.1. Descripción' y [Modalidad Compartición] = 'Nuevo'
y [TITULAR] = 'Primero','Titular',
if ([Estado Informes] = '6.1. Descripción' y [Modalidad Compartición] = 'Ampliación'
y [SOLICITANTE] = 'Segundo', 'Solicitante',
if ([Estado Informes] = '6.1. Descripción' y [Modalidad Compartición] = 'Ampliación'
y [SOLICITANTE] <> 'Tercero', 'Otro-titular', 'Otro-Solicitante'),

 if ([Estado Informes] = '7.1. Descripción' o [Estado Informes] = '7.2 Descripción'
o [Estado Informes] = '8. Descripción' o [Estado Informes] = '8.1. Descripción ',' NA ',' NA ')))))))))
Un saludo.

lorenzoconforti
Specialist II
Specialist II

Hi

I'm not sure where you are copying the expression from. What are all the "o", "y", "si"? 

Can you provide a screenshot of the expression? Copying and pasting in this thread is clearly not working

Trying to interpret your expression, I can see the following errors:

- row 7, you are missing a comma at the end of the line

- you have a bunch of ifs that are incorrect; if takes max 3 parameters; for example, the one that starts in row 9 has 4 parameters 

Tomas_Martin
Contributor III
Contributor III
Author

Hola,

La coma que indicas si está puesta pero no lo he copiado bien.

Para cada condición, ¿solo admite 3 if cómo máximo?.

¿Qué es lo que considera como parámetro, mal, que tengo que modificar?.

Un saludo.

 

Tomas_Martin
Contributor III
Contributor III
Author

Hola,

La "o" indica diferentes condiciones que se pueden dar en una columna de la tabla de excel extraída y la "y" son diferentes condiciones de columnas diferentes.

Un saludo.

Tomas_Martin
Contributor III
Contributor III
Author

A partir de:

if ([Estado Informes] = '6. Descripción' o [Estado Informes] = 'Descripción'

Es cuando da error indicando: If takes 2-3 parameters.

Un saludo.