Prácticas recomendadas de diseño de informes
En este tema se describen los factores clave que deben tenerse en cuenta al utilizar Application Studio para escribir informes en cubos OLAP.
Consideraciones sobre front-end
Esta tabla muestra las consideraciones clave para el diseño front-end de informes:
Consideración | Descripción |
---|---|
¿Contienen sus informes hiperbloques anidados? | Un informe basado en un sector y en el que se filtran los hiperbloques para, por ejemplo, excluir los valores nulos, ofrece mejores resultados. Hay una curva de aprendizaje asociada al uso de sectores y faltan algunas funciones, pero las funciones disponibles satisfacen el 80 % de los casos de uso. |
¿Es obligatorio desplazarse verticalmente por los informes? | Si la respuesta es Sí, incorpore una extensión web de paginación en el pie de página de sus informes. Esto mejora la experiencia del usuario y el rendimiento. |
¿Utilizan los informes el formato condicional? | El formato condicional es una característica muy potente, pero debe usarse con moderación debido a su impacto en el rendimiento cuando se evalúan las condiciones. Evite el formato condicional cuando utilice el formato de número y confíe en los formatos de número definidos en la base de datos. Application Studio agrupa las solicitudes de datos de fórmulas, que se envían a la base de datos OLAP. El resultado es una consulta global en lugar de múltiples consultas de celdas individuales. Las consultas agrupadas son más rápidas que el acceso a una sola celda. Las fórmulas de lectura de datos en formatos condicionales y saltos de informes no pueden agruparse y siempre se consultan como solicitud de una sola celda. |
¿Están sobredimensionados los informes de las hojas de estilo? | Piense en la sencillez a la hora de desarrollar nuevas hojas de estilos y evite agregar contenido a las hojas de estilos existentes siempre que sea posible. El número de estilos incrementa el tamaño de un informe. |
¿Ha especificado las selecciones iniciales para las entidades de informes? | Los informes se cargan más rápido si se almacena la última entidad que visualizó un usuario. Si, por ejemplo, un informe se carga en el nivel de todas las entidades, deberán recuperarse muchos más datos y el informe tardará más tiempo en cargarse. |
¿Utiliza controles sin estado, como objetos de búsqueda, en lugar de controles basados en vistas de lista? | Los controles basados en vistas de lista, como los cuadros combinados, recuperan las listas de elementos cuando se carga un informe. Los controles sin estado no recuperan listas de elementos, lo que hace que su carga sea más rápida. |
¿Prueba a fondo sus informes? | Puede crear informes que concatenen cadenas para derivar Id. de elementos, pero si envía la solicitud al servidor OLAP de elementos que no existen, corre el riesgo de que se produzcan errores y de que se agote el tiempo de espera. Las pruebas deben tener siempre en cuenta la configuración de seguridad del usuario final. |
Filtros por listas | Algunos tipos de filtro son más lentos que otros. Por ejemplo, los filtros de atributos son más lentos que los filtros de valores. En general, los filtros son más lentos que las selecciones de estructura. Evite grandes áreas de datos en los filtros. Cuantos más elementos seleccione por dimensión, más lento será el filtro. |
Acciones globales | Considere la posibilidad de utilizar acciones globales para restar tiempo de cálculo a los informes individuales. Las acciones globales se ejecutan durante el inicio de sesión de los usuarios, después de crear el modelo de repositorio y antes de crear cualquier motor. Los valores de variables globales ya están establecidos antes de que comience la carga de ningún informe. |
Variable de informe | Evite las cadenas largas en las variables. |
Consideraciones de back-end, del entorno e interpersonales
En un proyecto de éxito, debe existir un circuito de retroalimentación entre los desarrolladores de los informes y los autores de los cubos. Los problemas de diseño de los cubos son probablemente la principal causa de los problemas de rendimiento. Esta tabla muestra factores importantes que se deben tener en cuenta:
Consideración | Descripción |
---|---|
Escritura y comprobación de informes con un conjunto de datos realistas. | Los informes en los que las dimensiones incluyen hasta 30 elementos y en los que los cubos incluyen varios centenares de puntos de datos pueden dar buenos resultados, pero son difíciles de mantener debido al gran volumen del conjunto de datos. Es importante hacer pruebas con conjuntos de datos realistas. |
Escritura correcta de reglas OLAP. Ejemplo de regla mal escrita: [Ingresos] = [Precio] * [Cantidad] o [Cuenta 1] = [Cuenta2} + [Cuenta3] + [Cuenta4]. | Familiarícese con las prácticas recomendadas de escritura de reglas OLAP. Consulte la documentación disponible en línea para obtener información. |
Dimensiones mal estructuradas. | Imagine una dimensión de producto con un solo elemento principal para todos los productos, pero 10.000 elementos secundarios. En algún momento es probable que el usuario desencadene una solicitud al servidor OLAP que obligue a recuperar todos los elementos y, posiblemente, mostrarlos. Los niveles intermedios hacen que los informes basados en la jerarquía sean más eficaces. |
Número elevado de usuarios. | Evite los cambios de dimensiones durante las horas de oficina, cuando el número de usuarios conectados es elevado. |
Elementos principales que faltan en las dimensiones, como, por ejemplo, un elemento de total de año. | Un informe que recupera datos diarios en columnas ocultas para sumarlos y mostrarlos como total anual es mucho más lento que uno en el que el total se calcula en la base de datos OLAP. |
Uso incorrecto de los atributos. | Los atributos pueden definirse libremente y utilizarse para filtrar informes, pero los informes filtrados ofrecen peor rendimiento que una jerarquía que agrupe los elementos por posibles valores de atributos. |
Asegúrese de que el servidor OLAP tiene suficiente memoria RAM. | OLAP es una base de datos en memoria. Las consultas mal escritas pueden consumir una elevados recursos de memoria RAM. Si su servidor OLAP está paginando, puede experimentar problemas de rendimiento. |
No ponga datos de transacciones en cubos. | Infor OLAP está optimizado para informes de nivel de saldo. Puede crear un informe con problemas de rendimiento sin que la aplicación se lo impida. Por ejemplo, puede crear un cubo detallado de un archivo de línea de pedido de compra, pero es probable que tenga problemas de rendimiento. |
Escritura de informe deficiente como solución a corto plazo. | Evite las acciones que generen informes con problemas de rendimiento a pesar de la presión. Céntrese en escribir y sugerir alternativas. |
No almacene ceros en su cubo. | Un cero es un número que debe almacenarse en la memoria de OLAP y evaluarse en los cálculos de reglas, mientras que la alternativa de valor nulo no. Puede crear procesos de Application Engine capaces de reemplazar ceros en un cubo por valores nulos. |
Mejor lugar para hacer cálculos. | Esto depende de múltiples factores, entre ellos la frecuencia con la que se necesitan los valores calculados. Estos son ejemplos de opciones de dónde realizar los cálculos, por orden de preferencia:
|
Establecer elementos predeterminados específicos. | Si no selecciona elementos predeterminados específicos para dimensiones jerárquicas, el elemento superior se selecciona como predeterminado. Esto requiere más tiempo para restablecer los elementos predeterminados. Actualmente los elementos predeterminados se establecen en las propiedades extendidas de la dimensión. |
El uso de la interfaz XML es más lento que la comunicación a través de la interfaz integrada en la versión 11. | Para agilizar la comunicación, recomendamos que no lea valores por solicitudes de una sola celda, sino que los ponga en una o algunas solicitudes a OLAP. Esto puede hacerse mediante la solicitud de lectura del cubo, al agregar varias etiquetas CellCoordinate . |
Utilice la paginación del lado del servidor para que un informe consulte solo los valores visibles. | La paginación en páginas de hiperbloques se realiza en el lado del cliente. El servidor devuelve todas las celdas, pero solo se dibuja una página. En las listas OLAP, utilice la función de subconjunto para la paginación en el lado del servidor. En las listas relacionales, utilice métodos avanzados en la consulta para crear subconjuntos. |
Filtre sus consultas para asegurarse de que no consulta todos los elementos de una dimensión. | Utilice la supresión de valores nulos para mostrar solo celdas rellenas y mostrar todos los elementos bajo un determinado elemento principal en lugar de toda la dimensión. Reduzca el nivel inicial de expansión en sectores y listas. |
Evite poner una gran cantidad de dimensiones en el eje. | La cantidad óptima es de tres dimensiones por eje de filas, una dimensión por eje de columnas. |