Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Renombrar campos en función de usuario

Buenas,

Estoy haciendo una aplicación en la que cargo unas tablas un poco generales(Tabla1, Tabla2...) que tienen la misma estructura y sus campos se llaman exactamente igual ya que tienen un nombre genérico ( Campo1, Campo2...).

En función del usuario que se conecte verá los datos de una tabla u otra y los campos de cada tabla realmente se llaman de distinta forma.

Lo que quiero es renombrar los campos en función del usuario que se conecte ( A través de sección de acceso) y no se me ocurre como.

Había pensado crear una tabla que relacione los nombres de los campos originales con los nombres de los campos a mostrar y la condición de restricción. Realmente no hay que renombrar los campos porque lo que quiero es utilizar esta relacion para el nombre de las columnas en las tablas o de los cuadros de lista.

¿Se os ocurre alguna forma?

Gracias

Un saludo,

Maria

1 Solution

Accepted Solutions
JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola María:

En mi caso tengo los campos ProcedenciaES y ProcedenciaEN como atributos de una tabla, por otra parte en la tabla de usuarios tengo el atributo Idioma.

Un disparador en el evento 'al abrir' en las propiedades selecciona en el atributo Idioma el correspondiente al usuario que inicia sesión ... en mi caso el campo Idioma puede valer ES o EN

Por último, tengo un cuadro de lista para seleccionar con esta expresión, también la uso como dimensión calculada cuando es necesario.

=Procedencia$(=ONLY( Idioma) )

....

Creo que necesitas una dimensión calculada con esta expresión

IF (Usuario = 'U1', 'Región', IF (Usuario = 'U2', 'País',  .... 'Campo por defecto'))

El campo por defecto es lo que verán los usuarios que no estén en tu lista

Saludos

Joaquín

View solution in original post

10 Replies
JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Buenos días María:

Sencillamente no podrás; el tiempo de ejecución es único y no es variable.

En su momento leí mucha documentación al respecto para tener los nombres de campo en formato multiidioma y no hay ninguna posibilidad técnica.

Tendrás que usar un alias más o menos genérico que te valga para todos ... o cargar los campos varias veces (si no hay muchos campos)  CampoES, CampoEN,CampoDE

Saludos

Joaquín

Anonymous
Not applicable
Author

Si, eso es lo que he hecho mas o menos, poner nombres de campo genéricos pero me queda un poco "cutre".

Lo voy a enfocar de otra forma.  Tengo una tabla que me relaciona cada campo con su descripción, las columnas son CAMPOS y DESCRIPCION:

CAMPOS, DESCRIPCION

Campo1, Des1

Campo2, Des2

Quiero poner un cuadro de texto en el que incluya la descripción del campo1 pero sin ponerle directamente Des1, sino diciéndole "Dame la DESCRIPCION de Campo1". ¿Como lo podría hacer?

Lo planteo así con la idea de en esa misma tabla que el campo 1 tenga varias descripciones, y que con la seccion de acceso se controle cual estoy viendo.

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Si el Campo1 ya está seleccionado o reducido por la sección de acceso con un ONLY(Descripcion) debe ser suficiente

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

María, los nombres de campo tienen que ver con los idiomas ?

Anonymous
Not applicable
Author

Hola Joaquin,

No tienen que ver con los idiomas, pero si con la seccion de acceso.

Cada usuario filtra por un departamento y los campos( aunque son los mismos) se llaman de una forma u otra en funcion del usuario.

Tal y como dices si filtra por seccion  de acceso cada campo tendria solo una descripción, pero ¿como puedo poner algo asi?

" Muestra ( Descripcion) cuando Campos=Campo1"

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola María:

Puedes mostrarme la lista de campos y un par de nombres de usuario ?

Anonymous
Not applicable
Author

Hola Joaquin,

La idea es tener una tabla con los siguientes campos

 

USUARIO
FECHA
DIM
DIM1
DIM2
DAT1
DAT2

De forma que tengamos dos usuarios: U1 y U2.

Quiero mostrar para un mismo valor ( Me da igual asociado al nombre del campo o un valor nuevo) los nombres de cada uno en funcion del usuario.

La relación es la siguiente

 

U1U2
USUARIOUsuario Usuario
FECHAFechaFecha
DIMIDID
DIM1RegionPais
DIM2AreaCentro Operativo
DAT1UsuariosVentas
DAT2GananciasBeneficios

La idea es crear un texbox en el que ponga por ejemplo: DIM1 ( o lo que sea) y me muestre el valor Región o País en función del usuario. En caso de que el usuario tenga acceso a todos los datos(Solo es el caso del Admin) no importa si no ve ningún valor.

Gracias!!

Maria

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola María:

En mi caso tengo los campos ProcedenciaES y ProcedenciaEN como atributos de una tabla, por otra parte en la tabla de usuarios tengo el atributo Idioma.

Un disparador en el evento 'al abrir' en las propiedades selecciona en el atributo Idioma el correspondiente al usuario que inicia sesión ... en mi caso el campo Idioma puede valer ES o EN

Por último, tengo un cuadro de lista para seleccionar con esta expresión, también la uso como dimensión calculada cuando es necesario.

=Procedencia$(=ONLY( Idioma) )

....

Creo que necesitas una dimensión calculada con esta expresión

IF (Usuario = 'U1', 'Región', IF (Usuario = 'U2', 'País',  .... 'Campo por defecto'))

El campo por defecto es lo que verán los usuarios que no estén en tu lista

Saludos

Joaquín

Anonymous
Not applicable
Author

Genial!!

Me sirve.

Muchas gracias!!!!

Saludos,

Maria