none
Filtrar miembros de dimensión en cubos locales RRS feed

  • Pregunta

  • Hola a todos.

    Tengo el típico cubo de ventas al que de momento acceden la gerencia y algunos directivos sin ningún tipo de restricciones. Por resumir, tengo las típicos dimensiones de Tiempo, Clientes, Comerciales, Delegaciones y Productos. Y las medidas también las típicas: cantidad_ventas, importe_ventas, coste_ventas, margen_bruto. Llamaré a este cubo CUBO_VENTAS_GRANDE.

    Hasta aquí sin problemas. Ahora el tema es que nos han pedido que diseñemos cubos locales para que los comerciales puedan hacer informes mediante tablas dinámicas de Excel directamente en sus portátiles. Estos comerciales casi siempre están en la calle visitando clientes, y muchas veces en sitios en los que no hay cobertura 3G (por eso lo de cubos locales que se "sincronizan" automáticamente en cuanto detectan que están en área de cobertura WIFI de la oficina central, y esto ocurre todos los días a primera hora, antes de salir a visitar). Obviamente cada uno de los cubos locales solo debe llevar la información relativa a las ventas de clientes del comercial "propietario" del portátil. Hasta aquí todo está solucionado.

    El problema realmente viene porque los cubos locales se generan desde el CUBO_VENTAS_GRANDE, y en el momento de la creación del cubo local se filtran los movimientos para que solo se pase las ventas del comercial "propietario" del portátil, no he sido capaz de conseguir que los miembros de la dimensión clientes se filtren también y solo sean pasados al cubo los clientes asignados al comercial (ocultando los clientes que no sean suyos)

    De este modo, cuando colocamos la dimensión Cliente en el área de filtro del informe (tabla dinámica de Excel), al desplegar el campo me aparecen todos los clientes, tanto los asignados a este comercial como los asignados a otros comerciales, y lo ideal sería que de todos los miembros de la dimensión cliente solo pasen al cubo local los que estén asignados al comercial en cuestión.

    Por si sirve de algo, uno de los atributos de la dimensión cliente es precisamente el código de comercial asignado.

    Gracias de antemano.

    lunes, 19 de diciembre de 2011 15:35

Respuestas

  • Hola. Tienes que crear un rol en SSAS, como especifico en esta respuesta a un post en este foro, y luego filtrar en tu dimensión vía MDX por el atributo de la dimensión cliente que es el código de comercial asignado.

    La pantalla en donde haces esto es ésta:

    Al momento de creación del cubo local, validas el nombre del usuario actual y filtras por ese usuario mediante el código MDX.

    Espero te ayude.

    Saludos,

     

     


    Guillermo Taylor F.

    IT Pro & Xbox gamer

    My blog

    martes, 20 de diciembre de 2011 12:43

Todas las respuestas

  • Hola. Tienes que crear un rol en SSAS, como especifico en esta respuesta a un post en este foro, y luego filtrar en tu dimensión vía MDX por el atributo de la dimensión cliente que es el código de comercial asignado.

    La pantalla en donde haces esto es ésta:

    Al momento de creación del cubo local, validas el nombre del usuario actual y filtras por ese usuario mediante el código MDX.

    Espero te ayude.

    Saludos,

     

     


    Guillermo Taylor F.

    IT Pro & Xbox gamer

    My blog

    martes, 20 de diciembre de 2011 12:43
  • Gracias por responder, Guillermo.

    Realmente no me vale tu respuesta, pero me doy cuenta de que me ha faltado explicar algo mas para que se entienda bien la situación. Los cubos locales no los genera el usuario del portátil. De hecho este usuario no es un usuario de dominio ni conecta con el dominio.

    En realidad los cubos locales se generan desde scripts que son lanzados todas las noches desde el mediante paquetes Integration Services, y cuando se crean cubos locales  se copian en carpetas de un servidor. Al día siguiente por la mañana cuando se enciende el portatil en un área con cobertura Wifi de la oficina, ejecutan un proceso de sincronización que en realidad lo que hace es copiar el archivo .cub de la carpeta del servidor a la carpeta del portátil.

    Por tanto la solución via roles de Analysis Services no me vale porque en el momento de creación del cubo local el sistema no sabe cual es el usuario para el que se está creando el cubo.

    Pregunta:

    ¿Se podríae hacer que el script se lance aplicando un determinado rol de Analysis Services? Quizás por ahí pueda haber una solución.

    Saludos.

    ¡¡¡¡¡FELIZ NAVIDAD!!!!!

     

     

    viernes, 23 de diciembre de 2011 12:22
  • Hola. Feliz navidad para ti también... Y próspero 2012.

    Pues mira, lo del script con el usuario tiene sentido, pero no lo he hecho. Habría que intentarlo... Yo no puedo porque estoy en plena documentación precisamente de un paquete tipo ETL que realicé hace poco, pero si lo intentas y compartes como te va, ahí te seguimos colaborando.

    Gracias y saludos,

     

     


    Guillermo Taylor F.

    IT Pro & Xbox gamer

    My blog

    viernes, 23 de diciembre de 2011 15:50