Funciones de usuario
En este artículo se presentan las funciones de usuario y sus usos en Tableau. También se muestra cómo crear un cálculo de usuario mediante un ejemplo.
Por qué usar funciones de usuario
Las funciones de usuario sirven para crear filtros de usuario o filtros de seguridad de nivel de fila que afectan a las visualizaciones publicadas en Tableau Server o Tableau Cloud de forma que solo determinadas personas puedan ver la visualización.
Por ejemplo, si tiene una visualización que muestra el rendimiento de ventas de cada empleado en su departamento publicado en Tableau Server o Tableau Cloud, es posible que quiera que los empleados solo puedan ver sus propias cifras de ventas cuando acceden a la visualización.
En este caso, puede usar la función ISMEMBEROF para crear un campo que indique true si el nombre de usuario de la persona que ha iniciado sesión en el servidor es un miembro del grupo especificado (en el servidor), como el grupo "Managers", por ejemplo. Entonces, cuando filtre la vista con este campo calculado, solo una persona que forme parte de dicho grupo podrá ver los datos.
El cálculo en este caso será similar al siguiente:
ISMEMBEROF('Managers')
Nota: Si sus nombres de grupo o de usuario contienen ciertos caracteres no alfanuméricos, debe usar la codificación HTML URL para los caracteres especiales al emplear las siguientes funciones.
Algunos caracteres especiales están permitidos sin codificación HTML URL, como guiones bajos, paréntesis y signos de exclamación. _ ( ) !
Muchos otros caracteres deben estar codificados.
Por ejemplo, la función ISMEMBEROF("USERS+")
se debe escribir como ISMEMBEROF("USERS%2B")
, porque “%2B” es la codificación HTML URL del símbolo “+”. Para obtener información sobre la codificación HTML URL, consulte HTML URL Encoding Reference(El enlace se abre en una ventana nueva) (Referencia para codificación HTML URL) en el sitio para desarrolladores web W3schools.
Solo para insertar flujos de trabajo en Tableau Cloud
Entre las funciones de usuario, se puede utilizar un subconjunto de funciones de atributo de usuario con Aplicaciones conectadas de Tableau(El enlace se abre en una ventana nueva). Las funciones de atributos de usuario (USERATTRIBUTE and USERATTRIBUTEINCLUDES) permiten que Tableau capture atributos de usuario en tiempo de ejecución como parte del flujo de trabajo de autenticación. Cuando los atributos de usuario se pasan desde JSON Web Tokens (JWT), el contenido insertado creado con estas funciones puede controlar y personalizar los datos que se muestran a los usuarios.
Notas:
Consulte la ayuda de la API de inserción (versión 3)(El enlace se abre en una ventana nueva) para ver los problemas conocidos que podrían afectar a su flujo de trabajo.
Las funciones de atributos de usuario se pueden incluir en el contenido creado en Tableau Desktop o Tableau Cloud.
La vista previa del contenido con estas funciones no está disponible cuando se crea en Tableau Desktop o Tableau Cloud. Las funciones de atributo de usuario devolverán valores NULL o FALSE. Para asegurarse de que las funciones de atributos de usuario funcionen como se espera, le recomendamos que revise el contenido después de incorporarlo en su aplicación externa. Para obtener más información sobre la incorporación de flujos de trabajo que incluyen estas funciones de usuario, consulte la ayuda de la API de inserción (versión 3)(El enlace se abre en una ventana nueva).
Las funciones de atributos de usuario no se pueden utilizar en flujos de trabajo sin incrustación ni con protocolos OIDC o SAML.
Funciones de usuario disponibles en Tableau
FULLNAME( )
Sintaxis | FULLNAME( ) |
Resultado | Cadena |
Definición | Indica el nombre completo del usuario actual. |
Ejemplo | FULLNAME( ) Esto devuelve el nombre completo del usuario que ha iniciado sesión, como "Hamlin Myrer". [Manager] = FULLNAME( ) Si el gerente "Hamlin Myrer" inició sesión, este ejemplo solo devolverá el valor TRUE si el campo Gerente de la vista contiene la cadena "Hamlin Myrer". |
Notas | Esta función comprueba:
Filtros de usuario Cuando se usa como filtro, un campo calculado, como |
ISFULLNAME
Sintaxis | ISFULLNAME("User Full Name") |
Resultado | Booleano |
Definición | Devuelve |
Ejemplo | ISFULLNAME("Hamlin Myrer") |
Notas | La expresión Esta función comprueba:
|
ISMEMBEROF
Sintaxis | ISMEMBEROF("Group Name") |
Resultado | Booleano o null |
Definición | Devuelve |
Ejemplo | ISMEMBEROF('Superstars') ISMEMBEROF('domain.lan\Sales') |
Notas | La expresión Si el usuario ha iniciado sesión en Tableau Cloud o Tableau Server, la membresía del grupo la determinan los grupos de Tableau. La función devolverá TRUE si la cadena dada es "Todos los usuarios" La función Si se realiza un cambio en la pertenencia al grupo de un usuario, el cambio en los datos que se basan en la pertenencia al grupo se refleja en un libro de trabajo o vista con una nueva sesión. La sesión existente reflejará datos obsoletos. |
ISUSERNAME
Sintaxis | ISUSERNAME("username") |
Resultado | Booleano |
Definición | Indica TRUE si el nombre del usuario actual coincide con el nombre del usuario especificado. Si no coincide, indicará FALSE . |
Ejemplo | ISUSERNAME("hmyrer") |
Notas | La expresión Esta función comprueba:
|
USERDOMAIN( )
Sintaxis | USERDOMAIN( ) |
Resultado | Cadena |
Definición | Devuelve el dominio del usuario actual. |
Notas | Esta función comprueba:
|
USERNAME( )
Sintaxis | USERNAME( ) |
Resultado | Cadena |
Definición | Indica el nombre de usuario del usuario actual. |
Ejemplo | USERNAME( ) Esto devuelve el nombre del usuario que ha iniciado sesión, como “hmyrer”. [Manager] = USERNAME( ) Si el gerente "hmyrer" inició sesión, este ejemplo solo devolverá el valor TRUE si el campo Gerente de la vista contiene la cadena "hmyrer". |
Notas | Esta función comprueba:
Filtros de usuario Cuando se usa como filtro, un campo calculado, como |
USERATTRIBUTE
Nota: Antes de utilizar esta función, consulte Solo para insertar flujos de trabajo en Tableau Cloud. Para obtener más información, consulte Autenticación y vistas insertadas.(El enlace se abre en una ventana nueva) en la ayuda de la API de inserción v3.
Sintaxis | USERATTRIBUTE('attribute_name') |
Resultado | Cadena o valor nulo |
Definición | Si Devuelve NULL si |
Ejemplo | Supongamos que “Region” es el atributo de usuario que se incluye en el JWT y se pasa a Tableau (mediante la aplicación conectada que ya configuró el administrador de su sitio). Como autor del libro de trabajo, puede configurar su visualización para filtrar datos según una región específica. En ese filtro, puede hacer referencia al siguiente cálculo. [Region] = USERATTRIBUTE("Region") Cuando User2, de la región oeste, ve la visualización insertada, Tableau muestra los datos apropiados solo para la región oeste. |
Notas | Puede usar la función USERATTRIBUTEINCLUDES si espera que <'attribute_name'> devuelva varios valores. |
USERATTRIBUTEINCLUDES
Nota: Antes de utilizar esta función, consulte Solo para insertar flujos de trabajo en Tableau Cloud. Para obtener más información, consulte Autenticación y vistas insertadas.(El enlace se abre en una ventana nueva) en la ayuda de la API de inserción v3.
Sintaxis | USERATTRIBUTEINCLUDES('attribute_name', 'expected_value') |
Resultado | Booleano |
Definición | Devuelve
De lo contrario, indica |
Ejemplo | Supongamos que “Region” es el atributo de usuario que se incluye en el JWT y se pasa a Tableau (mediante la aplicación conectada que ya configuró el administrador de su sitio). Como autor del libro de trabajo, puede configurar su visualización para filtrar datos según una región específica. En ese filtro, puede hacer referencia al siguiente cálculo. USERATTRIBUTEINCLUDES('Region', [Region]) Si User2, de la región oeste, accede a la visualización insertada, Tableau verifica si el atributo de usuario Region coincide con uno de los valores del campo [Region]. Cuando es True, la visualización muestra los datos apropiados. Cuando User3, de la región norte, accede a la misma visualización, no puede ver ningún dato porque no hay coincidencia con los valores del campo [Region]. |
Crear un cálculo de usuario
Los cálculos de usuario funcionan directamente con los usuarios y grupos que ha configurado en Tableau Server o Tableau Cloud. Puede crear cálculos de usuario para utilizarlos como filtros, de forma que los usuarios solo vean datos que son relevantes para ellos.
Por ejemplo, si tiene una visualización de mapa similar a la siguiente, que muestra datos de ventas para 48 estados de Estados Unidos, puede crear un cálculo de usuario que muestre solo las partes del mapa relevantes para cada usuario, como los datos relevantes para un director regional respecto a un director nacional. (Un director nacional debería poder ver los datos de todo el país, mientras que un director regional solo debería poder ver los datos de la región que gestiona).
Cuando el director nacional inicia sesión, puede ver la siguiente visualización:
Cuando el director regional de la zona oeste inicia sesión, solo puede ver las ventas de su región:
Para crear una función de usuario similar a la de este ejemplo, siga los pasos descritos a continuación.
Antes de empezar
Para seguir este ejemplo, es necesario que tenga acceso a Tableau Server o Tableau Cloud. También debe ser administrador de servidor o de sitio.
Paso 1: crear los usuarios y grupos
Iniciar sesión en Tableau Server o Tableau Cloud.
En Tableau Server o Tableau Cloud, añada los siguientes usuarios:
Sadie Pawthorne
Chuck Magee
Fred Suzuki
Roxanne Rodríguez
Para obtener más información, consulte Añadir usuarios a un sitio(El enlace se abre en una ventana nueva) en la ayuda de Tableau Server.
Cree un nuevo grupo llamado National Managers.
Para obtener más información, consulte Crear un grupo local(El enlace se abre en una ventana nueva) en la ayuda de Tableau Server.
Añada su usuario al grupo National Managers.
Para obtener más información, consulte Añadir usuarios a un grupo(El enlace se abre en una ventana nueva) en la ayuda de Tableau Server.
Paso 2: crear la visualización
Abra Tableau Desktop y conéctese a la fuente de datos Sample-Superstore, que se incluye con Tableau.
En la esquina inferior izquierda de la vista, haga clic en la pestaña Fuente de datos.
En la página Fuente de datos, desde el panel Conexiones en la parte izquierda, arrastre la hoja People al área de unión.
Haga clic en el icono de unión y seleccione Izquierda.
Vaya a una nueva hoja de trabajo.
En el panel Datos, en Dimensiones, haga doble clic en Estado.
Se crea una vista de mapa.
Desde el panel Datos, en Medidas, arrastre Ventas hasta Color en la tarjeta Marcas.
En el estante Columnas, seleccione el campo Longitud y mantenga presionada la tecla Ctrl (Comando en Mac) del teclado para copiarlo. Arrastre la copia a la derecha del original en el estante Columnas.
En la tarjeta Marcas, haga clic en la segunda pestaña (inferior) Longitud.
Desde el panel Datos, arrastre Región hasta Color en la tarjeta Marcas.
La vista de mapa en la parte derecha se actualiza con los nuevos colores.
En la tarjeta Marcas, haga clic en el menú desplegable Tipo de marcas y seleccione Mapa.
En la tarjeta Marcas, haga clic en Color y, en Opacidad, ajuste el control deslizante a 50 %.
En la tarjeta Marcas, haga clic en la primera pestaña Longitud.
En la tarjeta Marcas, haga clic en Color > Editar colores y después seleccione Gris de la lista desplegable de paleta de colores.
La vista de mapa de la izquierda se actualizará.
En el estante Columnas, haga doble clic con el botón derecho en el campo Longitud a la derecha y seleccione Eje doble.
El mapa será similar al siguiente:
Paso 3: crear el cálculo de usuario
Seleccione Análisis > Crear campo calculado.
En el editor de cálculo que se abre, haga lo siguiente:
Asigne el nombre Filtro de usuario al campo calculado.
Escriba la fórmula siguiente:
[Regional Manager] = USERNAME() OR ISMEMBEROF("National Managers")
Este cálculo comprueba si una persona está incluida en el campo Region (People) o si una persona está incluida en el grupo National Managers. Si es el caso, indica true.
Cuando haya terminado, haga clic en Aceptar.
El nuevo cálculo de usuario aparece en Dimensiones del panel Datos. Igual que con el resto de los campos, puede usarlo en una o más visualizaciones.
Paso 4: añadir el cálculo de usuario al estante Filtros
Desde el panel Datos, en Dimensiones, arrastre Filtro de usuario al estante Filtros.
En el cuadro de diálogo Filtro que se abre, seleccione True y haga clic en Aceptar.
Nota: Si no ha iniciado sesión en Tableau Server o Tableau Cloud, la opción True no está disponible. En Tableau Desktop, inicie sesión en Tableau Server o Tableau Cloud para seleccionarlo. Consulte Iniciar sesión en Tableau Server o Tableau Cloud(El enlace se abre en una ventana nueva) para obtener más información.
Paso 5: probar el cálculo
En Tableau Desktop, en la esquina inferior derecha del área de trabajo, haga clic en el menú desplegable Filtrar como usuario y cambie el usuario a Sadie Pawthorne.
El mapa se actualiza para mostrar solo la región oeste de Estados Unidos, porque Sadie está asignada a la región oeste en la hoja People.
Seleccione de nuevo el menú desplegable Filtrar como usuario y cambie el usuario a Roxanne Rodríguez.
El mapa se actualiza para mostrar solo la región central de Estados Unidos porque Roxanne está asignada a la región central en la hoja People.
Seleccione de nuevo el menú desplegable Filtrar como usuario y cambie el usuario a Chuck Magee.
El mapa se actualiza para mostrar solo la región este de Estados Unidos, porque Chuck está asignado a la región este en la hoja People.
Seleccione de nuevo el menú desplegable Filtrar como usuario y cambie el usuario a Fred Suzuki.
El mapa se actualiza para mostrar solo la región sur de Estados Unidos, porque Fred está asignado a la región sur en la hoja People.
Seleccione una vez más el menú desplegable Filtrar como usuario y vuelva a cambiar a su usuario.
El mapa se actualiza para mostrar todos los datos porque usted forma parte del grupo National Managers en el servidor.
Este comportamiento se mantiene cuando publica la vista en Tableau Server o Tableau Cloud. Los usuarios que no están enumerados en el grupo National Managers o en la hoja People de la fuente de datos Sample Superstore solo ven una visualización en blanco.