Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
AMiron19
Contributor II
Contributor II

Sentencia condicional de navegación (botón de acción)

  Buenas tardes

 Estoy comenzando a crear apps en Qlik Sense. Me gustaría crear un botón en una hoja que al pulsarlo me llevará  a otras hojas creadas, pero de acuerdo a condiciones. Si he seleccionado en una grafico de Tabla (un listado) un campo concreto y se ha creado una selección, al pulsar el botón quiero que me dirija a una hoja determinada (la hoja 1, la hoja 2, o la hoja 3....) dependiendo de que el valor del campo seleccionado sea 1, 2,3....

Estoy intentando crear una sentencia condicional en el Botón, en el apartado de Acciones y navegación, eligiendo Navegación (Ir a una hoja) pero no me funciona por mas vueltas que le doy.

¿Alguien puede ayudarme?¿Alguien se ha creado algo parecido de Ir a una Hoja en concreto de acuerdo a condiciones?

 Gracias. Un saludo.

Labels (1)
2 Solutions

Accepted Solutions
AMiron19
Contributor II
Contributor II
Author

Finalmente he utilizado la función pick y me funciona muy bien para poder dirigirme a la HOJA en concreto que necesito. He creado una sentencia como la siguiente en el apartado de Navegación del Botón que funciona:

=pick(only(idKPI),'f7cb3933-0980-49d0-8dd7-bf7348738d3b','cab2b506-02fe-4f79-8346-a5403d5a478e','458e55dd-9729-4f70-918e-07a5e5e88d5c','a4adc0ed-85cd-4e6a-9873-b36db61ab875', 'cf03a161-5255-49ca-8d76-49e9048f1012','33530966-61f6-4e58-b7db-d30161f9e7cc', '506b830f-5fd2-49d8-b8ce-082b8301dff9', '841f10dd-4279-4a72-9a27-748abccedd35', 'f649faf7-5642-43a7-a6ed-22b8c7899a73', '437c71a5-5015-458e-ac88-009de3e90d18', 'f2f55ed3-1a17-4c50-8dba-e10928cd05cf', '6d8a8336-8df8-4566-92b6-6ca27a545226', '7c982ef1-d729-475d-b0c4-7902f6c9a103', 'b1f5f605-c558-4b74-8a2f-8d01c2c316aa', '282a90a5-dca4-4bc4-8baa-d6bd6d0f1a62', 'ec759d03-fc9e-419a-be89-0ed7238efec5', '5f1b3025-ecad-4447-bdd9-caadf116323e', '4b343810-345f-4bb3-afab-f32794e4a931', '94e441b9-6ab6-4bc3-9ed3-668cc1592588', 'abe380df-de03-47ba-971b-909d033a14bf', 'ce8e1326-ce37-4cb6-a498-1803fb4b0a90')

  Gracias por vuestra ayuda. Un saludo.

 

 

 

View solution in original post

ruben_antelo
Partner - Contributor III
Partner - Contributor III

Es decir: lo que has hecho es usar la solución del pick() que te había sugerido en el comentario anterior. 

Un saludo,

Rubén Antelo

View solution in original post

7 Replies
danielrozental
Master II
Master II

Entiendo que no es posible que un mismo botón te lleve a dos hojas distintas.

Lo que si puedes hacer es poner varios botones en un contenedor y solo mostrar la solapa del contenedor que lleve a la hoja deseada de acuerdo a la condición. 

AMiron19
Contributor II
Contributor II
Author

Muchas gracias Daniel por tu idea. La estoy probando y creo que me podría valer para intentar conseguir lo que quiero.  Estoy comenzando a crear apps en Qlik Sense y el principio no es fácil.

¿Sabrías como escribir una sentencia de visualización para que solo se muestre la solapa que quiero si he hecho una selección determinada en una tabla (un listado) por un campo con un valor concreto?

Por ejemplo, estoy probando algo como  if GetCurrentSelections()=1.....

Pero no me funciona, por mas vueltas que le he dado. Algo se me escapa.

Gracias por tu ayuda. Un saludo.

danielrozental
Master II
Master II

Puedes usar GetSelectedCount(NombreCampo) o GetPossibleCount(NombreCampo)

ruben_antelo
Partner - Contributor III
Partner - Contributor III

Hola,

utilizar esa funcionalidad es sencillo. En el botón creas una acción "Ir a hoja" y en el nombre de hoja puedes poner esto:

=if(only(nombredemicampo)='valor1seleccionado',

                                    '2ac0eaff-901a-4d5d-b8f3-7db9c271d893',

                                    if(only(nombredemicampo)='valor2seleccionado',

                                                                           '2ac0eaff-901a-4d5d-b8f3-7db9f'

                                    ) //end if

                                   '2ac0eaff-901a-4d5d-b8f3-7db9f' //else

) //end if

Nota: Ya sé que existe "Ir a hoja ID", pero tal y como lo comento funciona. Del otro modo, no podría asegurarte.

 

Yo pongo en algunas apps un botón que me lleva siempre a la anterior hoja de la que viene el usuario (suele funcionar bien con hojas de "Ayuda", para salir de la ayuda volviendo a donde la has solicitado). La idea es que cada hoja tiene un trigger que le da un valor determinado a una variable. El botón tiene en "Ir a hoja" el siguiente código:

=pick($(vMenuOption),'2ac0eaff-901a-4d5d-b8f3-7db9c271d893','2ac0eaff-901a-4d5d-b8f3-7db9c271d893')

 

Espero haberte ayudado.

 

Un saludo,

Rubén Antelo

 

AMiron19
Contributor II
Contributor II
Author

Muchas gracias Daniel, muchas gracias Rubén por vuestra aportación.

Voy a hacer pruebas a ver si puedo avanzar.

  Un saludo

AMiron19
Contributor II
Contributor II
Author

Finalmente he utilizado la función pick y me funciona muy bien para poder dirigirme a la HOJA en concreto que necesito. He creado una sentencia como la siguiente en el apartado de Navegación del Botón que funciona:

=pick(only(idKPI),'f7cb3933-0980-49d0-8dd7-bf7348738d3b','cab2b506-02fe-4f79-8346-a5403d5a478e','458e55dd-9729-4f70-918e-07a5e5e88d5c','a4adc0ed-85cd-4e6a-9873-b36db61ab875', 'cf03a161-5255-49ca-8d76-49e9048f1012','33530966-61f6-4e58-b7db-d30161f9e7cc', '506b830f-5fd2-49d8-b8ce-082b8301dff9', '841f10dd-4279-4a72-9a27-748abccedd35', 'f649faf7-5642-43a7-a6ed-22b8c7899a73', '437c71a5-5015-458e-ac88-009de3e90d18', 'f2f55ed3-1a17-4c50-8dba-e10928cd05cf', '6d8a8336-8df8-4566-92b6-6ca27a545226', '7c982ef1-d729-475d-b0c4-7902f6c9a103', 'b1f5f605-c558-4b74-8a2f-8d01c2c316aa', '282a90a5-dca4-4bc4-8baa-d6bd6d0f1a62', 'ec759d03-fc9e-419a-be89-0ed7238efec5', '5f1b3025-ecad-4447-bdd9-caadf116323e', '4b343810-345f-4bb3-afab-f32794e4a931', '94e441b9-6ab6-4bc3-9ed3-668cc1592588', 'abe380df-de03-47ba-971b-909d033a14bf', 'ce8e1326-ce37-4cb6-a498-1803fb4b0a90')

  Gracias por vuestra ayuda. Un saludo.

 

 

 

ruben_antelo
Partner - Contributor III
Partner - Contributor III

Es decir: lo que has hecho es usar la solución del pick() que te había sugerido en el comentario anterior. 

Un saludo,

Rubén Antelo