Acerca de los filtros

Los filtros controlan el acceso de seguridad a los valores de datos en un cubo. Los filtros son la forma más granular de seguridad disponible.

Al crear un filtro, designa un juego de restricciones en celdas concretas del cubo o en un rango de celdas. A continuación, puede asignar el filtro a usuarios o grupos.

Su propio rol de seguridad determina si puede crear, asignar, editar, copiar, cambiar de nombre o suprimir filtros:

  • Si tiene el rol Gestor de aplicaciones, puede gestionar cualquier filtro para cualquier usuario o grupo. Los filtros no le afectan.
  • Si tiene el rol Actualización de base de datos, puede gestionar los filtros de las aplicaciones que haya creado.
  • Si tiene el rol Gestor de bases de datos, puede gestionar los filtros de sus aplicaciones o cubos.
  • Si tiene el rol de Acceso a base de datos (valor por defecto), tiene acceso de lectura a los valores de datos de todas las celdas, a menos que su acceso esté más restringido por filtros.

Creación de filtros

Puede crear varios filtros para un cubo. Si edita un filtro, las modificaciones realizadas en su definición las heredan todos los usuarios de ese filtro.

Consulte Control del acceso a celdas de la base de datos mediante filtros de seguridad.

  1. Navegue al editor de filtros.

    En la interfaz de Redwood:

    1. En la página Aplicaciones, abra la aplicación y, a continuación, abra la base de datos (cubo).
    2. Haga clic en Personalización y en Filtros.

    En la interfaz web clásica:

    1. En la página Aplicación, amplíe la aplicación.
    2. Desde el menú Acciones, situado a la derecha del nombre del cubo, inicie el inspector.
    3. Seleccione el separador Filtros.
  2. Haga clic en Agregar.
  3. Introduzca un nombre de filtro en el cuadro de texto Nombre del filtro.
  4. En el editor de filtros, haga clic en Agregar.
  5. En Acceso, haga clic y utilice el menú desplegable para seleccionar un nivel de acceso.
    • Ninguno: No se pueden recuperar ni actualizar datos

    • Lectura: Los datos se pueden recuperar, pero no actualizar

    • Escritura: Los datos se pueden recuperar y actualizar

    • Lectura meta: Los metadatos (nombres de miembros y dimensiones) se pueden recuperar y actualizar

      El nivel de acceso Lectura meta sustituye al resto de niveles de acceso. Los filtros de datos adicionales se aplican en los filtros de Lectura meta existentes. El filtrado de combinaciones de miembros (con relaciones AND) no se aplica a Lectura meta. Lectura meta filtra cada miembro por separado (mediante una relación OR).

  6. Seleccione la fila situada debajo de Especificación de miembro, introduzca los nombres de miembro, y, a continuación, haga clic en Enviar Imagen del icono de envío de filtro de Redwood..

    Puede filtrar miembros por separado, o bien puede filtrar combinaciones de miembros. Especifique los nombres de miembros o dimensiones, nombres de alias, combinaciones de miembros, juegos de miembros definidos por funciones o nombres de variables de sustitución, precedidos por un ampersand (&). Separe varias entradas con comas.

  7. Cree filas adicionales para el filtro según sea necesario.

    Si las filas del filtro se solapan o entran en conflicto, las especificaciones de área de cubo más detalladas se aplican por encima de las menos detalladas y los derechos de acceso más permisivos se aplican por encima de los menos permisivos. Por ejemplo, si otorga a un usuario acceso de lectura a Real y acceso de escritura a Ene, el usuario tendrá acceso de escritura a Real de Ene.

  8. Haga clic en Validar para asegurarse de que el filtro es válido.
  9. Haga clic en Guardar.

Para editar un filtro en la interfaz de Redwood, busque el separador Filtros. Para ello, seleccione el cubo y, a continuación, seleccione la página Personalización. Después, edite el filtro haciendo clic en el nombre del filtro y realizando los cambios en el editor de filtros. Para editar una fila existente, haga doble clic en esa fila.

Para editar un filtro en la interfaz web clásica, vaya al separador Filtro del inspector y edite el filtro haciendo clic en el nombre del filtro y realizando los cambios en el editor de filtros.

Puede copiar, renombrar o suprimir un filtro haciendo clic en el menú Acciones situado a la derecha del nombre del filtro y seleccionando una opción.

Después de crear filtros, asígnelos a usuarios o grupos.

Creación de filtros dinámicos eficaces

Puede crear filtros dinámicos basados en datos de fuentes externas para reducir el número de definiciones de filtro necesarias.

En lugar de gestionar un juego de filtros de acceso a datos codificados para muchos usuarios, puede filtrar el acceso a las celdas del cubo a partir de un origen de datos externo, en función de los nombres de usuario y de miembro.
Esta acción se realiza mediante la sintaxis de definición de filtro dinámico, incluido el método @datasourceLookup y las variables $LoginUser y $LoginGroup. Los datos de origen externo son un archivo csv o una tabla relacional. En el caso de los datos de origen relacionales, se puede cargar el archivo.csv en una tabla relacional.

Sintaxis de filtro dinámico

Utilice la sintaxis de filtro dinámico para crear filtros dinámicos que pueda asignar a varios usuarios y grupos.

Las filas del filtro pueden contener los siguientes elementos como parte de su definición, además de las expresiones de miembro.

$loginuser

Esta variable almacena el valor del usuario actual con sesión iniciada en tiempo de ejecución. Puede utilizarse en combinación con el método de @datasourcelookup.

$logingroup

Esta variable almacena el valor de todos los grupos a los que pertenece el usuario conectado actualmente. Incluye grupos directos e indirectos. Si se utiliza en combinación con el método @datasourcelookup, cada grupo se busca de manera individual en el origen de datos.

@datasourcelookup

Este método recupera los registros de un origen de datos.

Sintaxis

@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
Parámetro Descripción
dataSourceName

Nombre del origen de datos externo definido en Essbase. Para un origen de datos a nivel de aplicación, agregue al nombre un prefijo con el nombre de la aplicación y un punto.

columnName

Nombre de la columna de origen de datos para buscar un columnValue determinado.

columnValue

Valor que buscar en columnName.

returnColumnName

Nombre de la columna de origen de datos desde la que devolver una lista de valores.

Descripción

Una llamada de @datasourcelookup equivale a la siguiente consulta de SQL:

select returnColumnName from dataSourceName where columnName=columnValue

@datasourcelookup busca el origen de datos determinado y los registros en los que  columnName contenga columnValue. Si especifica columnValue como $loginuser, este método buscará registros en los que columnName contenga el nombre del usuario con sesión iniciada actualmente.

Essbase forma la fila de definición de filtro combinando los elementos de la lista en una cadena separada por comas. Si algún registro contiene caracteres especiales, espacios o solo números, aparecerá entre comillas.

Ejemplos

Indique los parámetros entre comillas.

La siguiente llamada busca un origen de datos global y devuelve una lista de nombres de almacén en los que aparece Mary como gestor de almacén.

@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")

La siguiente llamada busca un origen de datos a nivel de aplicación y devuelve una lista de nombres de almacén en los que el usuario con sesión iniciada actualmente aparece como gestor de almacén.

@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")

La siguiente llamada busca un origen de datos a nivel de aplicación y devuelve una lista de nombres de almacén en los que el departamento de tienda coincide con alguno de los grupos a los que pertenece el usuario conectado.

@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")

Si el usuario conectado pertenece a 3 grupos, el método anterior @datasourcelookup devuelve todos los valores de columna que coincidan para cada grupo.

Flujo de trabajo de creación de filtros dinámicos

Utilice el siguiente flujo de trabajo general para crear filtros dinámicos.

Este flujo de trabajo de filtros dinámicos asume que ya dispone de un cubo, así como de usuarios y grupos aprovisionados.

  1. Identifique un origen de datos, ya sea de archivos o relacional.
  2. Defina la conexión y el origen de datos en Essbase, tanto globalmente como a nivel de aplicación.
  3. Cree filtros en el nivel de cubo:
    • En la interfaz de Redwood, navegue al cubo, seleccione Personalización y seleccione Filtros.
    • En la interfaz web clásica, utilice la sección Filtros del inspector de aplicaciones.

  4. Defina las filas de filtro de cada filtro, para ello, utilice la sintaxis de filtro dinámico para emplear la variable $loginuser, la variable $logingroup y el método de @datasourcelookup según sea necesario.
  5. Asigne los filtros a usuarios o grupos.
  6. Si ha asignado el filtro a un grupo, asigne el grupo a la aplicación que se va a filtrar:
    • En la interfaz de Redwood, navegue a la aplicación, seleccione Personalización y, a continuación, seleccione Permisos.
    • En la interfaz web clásica, utilice la sección Permisos del inspector de aplicaciones.

Ejemplo de filtro dinámico

El siguiente filtro dinámico funciona con el cubo denominado Efficient.UserFilters, disponible en la galería como plantilla de ejemplo.


Filtro dinámico con tres filas que otorga acceso de metalectura al usuario con sesión iniciada.

Para aprender a crear y aplicar este filtro dinámico, descargue la plantilla del libro de trabajo Efficient_Filters.xlsx en la sección Técnico de la galería, y siga las instrucciones README en el libro de trabajo. La galería está disponible en la sección Archivos de la interfaz web de Essbase.