Open Business Intelligence

La red del Business Intelligence

problema con el control de acceso de datos por usuario dentro de un cubo.

Hola buenas tardes a todo el mundo.

Necesito filtrar datos de una tabla de hechos por usuarios, el filtrado se hara dentro de un cubo mondrian el cual tiene una vista, es posible pasarle a la SELECT de la vista un parametro con el usuario conectado a pentaho?, si es asi como se hace?.

Soy novato en el Pentaho, y llevo dos dias liado con esto, gracias de antemano.

Visitas: 590

Responde a esto

Respuestas a esta discusión

Hola Joaquim,

creo que no estás haciendo las cosas de la forma correcta. La forma correcta de hacer este filtrado es mediante el uso de roles. Pero este sistema es más complicado y posiblemente requiera cambios en tu modelos de datos. Una forma de hacer esto que necesitas es mediante una xaction de Pentaho. Esta xaction lee el nombre del usuario que está solicitando los datos y se construye la MDX adecuada usando el user como filtro. Pero de esta forma sólo se filtra la información mostrada en la vista inicial. Si el usuario comienza a navegar por las dimensiones del cubo se puede generar un informe con datos de otros usuarios. Como te digo, creo que lo que necesitas es usar roles de Mondrian, a nivel de cubo.

Espero haberte ayudado algo.

Hola edu.

He solucionado el problema a medias, en el xaction obtengo el usuario, mediante este asigno una conexion a la Base de datos al cubo, cuando el usuario accede a pentaho este limpia automaticamente la cache mondrian, todo va bien mientras solamente un analisis, report, o dasboard utilizan ese cubo, el problema viene cuando varios analisis beben de ese mismo cubo, y varios usuarios utilizan los mismos analisis a la vez.

Ya se que como estoy haciendo las cosas es una aberracion en el mundo BI, pero se comprensivo, soy un absoluto soy novato en el mundo de Pentaho, del BI en general. hay alguna forma que cuando el usuario haga doble click sobre los iconos de los analisis, reports, etc, se reinicie la cache mondrian?, como se hace esto, o donde puedo encontrar informacion sobre esto?

Gracias por la ayuda.

Hola Joaquim,

no entiendo para qué necesitas hacer esta limpieza de caché al lanzar los análisis. Si me lo explicas es posible que te pueda dar otra solución. El hacer que se lance esta acción cuando el usuario pulsa sobre una de las opciones es complejo. Requiere modificar el código fuente de Pentaho.

Saludos.

Hola edu.

Necesito hacer el limpiado de los datos para un usuario no vea los datos de otro usuario en sus analisis.

Hola Joaquim, pues el refresco de la caché no es una buena forma de hacer el filtrado de datos. Necesitas aplicar roles en el cubo para controlar el acceso a la información. En Internet hay información sobre cómo aplicar esto en Mondrian. 

Un saludo.

Hola edu.

Ya he resuelto el problema (de forma poco ortodoxa pero funciona).

El filtrado de los datos lo hago a traves de la conexion a la base de datos, mediante unas vistas que filtran los datos segun el usuario de conexion, no estoy usando el cubo como se debe usar, ya lo se, pero no disponemos de mucho tiempo, y ademas necesitamos que sea asi (de momento), hago limpieza de la cache utilizando la clase java que utiliza el clear_mondrian_schema_cache.xaction, dentro del fichero jsp del STPivot.

gracias por tu ayuda y el tiempo prestado.

Hola Joaquim,

encantado de haberte ayudado.

Un saludo.

Responder a debate

RSS

Distintivo

Cargando…

© 2024   Creado por Emilio.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio