Gente buen día, estamos tratando de entender como funcionan los perfiles de datos para poder utilizarlos en nuestras soluciones. Ya estuvimos leyendo la teoría de la wiki y buceando un poco en el foro, encontramos que aparte de lo que se menciona en la wiki hay que agregar la siguiente fila
La consulta es la siguiente, siempre hay que agregar esta línea en TODAS las consultas que querríamos utilizar la segmentación de los perfiles de datos? O nos estamos olvidando de realizar algún otro paso?
Por ejemplo en un proyecto como G3, en el caso de querer anexar un perfil nuevo (aparte del que viene por defecto que es el de Unidad de Gestión), basta con incluir los Gatillos directos e indirectos y las relaciones o vamos a tener que buscar todas las consultas SQL para agregar el filtro…
la respuesta a tu pregunta es SI… tenes que agregar la linea en todas las consultas en las que deseas aplicar la segmentacion, puntualmente se hizo asi para poder aplicarlo solamente a aquellas consultas que lo necesitan, a veces son una mayoria… en otras ocasiones no, eso depende del proyecto en particular.
Por ejemplo en un proyecto como G3, en el caso de querer anexar un perfil nuevo (aparte del que viene por defecto que es el de Unidad de Gestión), basta con incluir los Gatillos directos e indirectos y las relaciones o vamos a tener que buscar todas las consultas SQL para agregar el filtro......
El caso de G3 es distinto, creo que ellos tienen filtradas las consultas a nivel del metodo que se invoca para realizarlas… con lo cual efectivamente estarian todas afectadas, de todas maneras esto deberias consultarlo con la gente de G3 para confirmarlo.
Cuando te referis a agregar un nuevo perfil, no me queda claro si queres hacer una extension de la unidad de gestion… .o definir algo completamente nuevo que no tiene nada que ver con esta ultima. Contame un poco mas de eso, porque cambia bastante segun lo que quieras hacer.
Richard, antes que nada gracias por la respuesta. Siguiendo con el tema, por ejemplo, como había mencionado G3 viene con una sola dimensión que es la UG, si por ejemplo dentro de la UG existen varias oficinas y quiero hacer una nueva dimensión para esto… agrego el SQL en cada consulta o hay otro camino (quizás completando y complementando los gatillos indirectos…).
Aclaro, la duda del G3 es para tener información sobre este tema, ya que estamos viendo de implementarlo con Pos Grados y con DB centralizada (en lo posible) y como esta segmentación seguro alguna otra nos van a solicitar.
te voy a dividir la respuesta en 2 partes, ya que G3 es un poco particular:
1.- Caso general… onda cualquier proyecto que inicies:
a) Tenes que agregar explicitamente la llamada al perfil de datos en cada SQL que quieras filtrar, si estas usando componentes de persistencia tenes que activarlo explicitamente tambien.
b) Con respecto a las dimensiones, el tema es mas o menos asi… cuantas mas dimensiones tenes, mejor modelada tendrias la realidad en teoria y mas flexibilidad para representarla… pero como contrapartida, tenes que administrar 2 ^ n combinaciones de valores en perfiles de datos (ponele que algunas menos xq no todas van a ser validas) y asegurarte que dichas combinaciones creadas son validas (onda no le pifiaron un tilde), sino las consultas van a volver vacias. El otro tema es que perdes reutilizacion, ya que las combinaciones son mucho mas especificas y abarcan menos usuarios.
c) Por otra parte, cada dimension tiene sus propios gatillos (directos e indirectos) y ademas deberian ser disjuntas entre si, es decir … no compartir un gatillo… ya que sino tendrias una manera de filtrar una de las dos a partir de la otra, mediante un camino de M tablas en un gatillo indirecto.
Esto es mas o menos lo que tendria en cuenta para un proyecto X cualquiera, como para armar el perfil de datos.
2.- Ahora el caso de G3
a) La logica de aplicacion esta invertida para las consultas SQL, con lo cual a priori tenes que explicitar cuando NO queres perfil de datos. Para el caso de los elementos de persistencia si se mantiene el comportamiento por defecto de Toba.
b) Con respecto a la UG y nuevas dimensiones, tene en cuenta lo que te plantee arriba sobre la administracion y los requerimientos entre las mismas. No conozco en profundidad el caso de G3 y sus UG… (aunque suena a particionado salomonico :p). Por ahi, por el ejemplo que me das de las oficinas… yo lo encararia como una UG x oficina (si es que podes) y aplanaria un poco el perfil, no creo que todas las UG tengan varias oficinas con lo cual la mayoria de las combinaciones no van a existir por ahi… y quizas no tenga sentido agregar una dimension extra.
Si te surjen nuevos pedidos en ese sentido, tu mejor aliado es el propio equipo G3 que es quien te puede definir al detalle la logica detras de las UG y como combinarlo con las necesidades que te plantean a vos. La logica base es la que te comente arriba, eso no quita que el proyecto pueda tener sus particularidades… tanto a nivel negocio como en la forma de implementarlo.