Explorar las mejores prácticas para el rendimiento de planificación en una historia de planificación de SAP Analytics Cloud

Objective

After completing this lesson, you will be able to describa las prácticas recomendadas de rendimiento relacionadas con las historias de planificación utilizadas en SAP Analytics Cloud.

Antes de empezar esta unidad

Cuando trabaja con historias, tanto si se crean para la visualización de datos como para la planificación, hay muchas prácticas recomendadas que se aplican a ambas. En el curso Optimización del rendimiento en el diseño de historias de SAP Analytics Cloud, nos centramos en las mejores prácticas específicas del diseño para páginas y widgets al crear y visualizar historias, sentando las bases para una historia que funciona bien.

Hay temas cubiertos que son importantes tanto para el rendimiento de las historias de análisis como para las de planificación. Incluyen mejores prácticas como:

  • Planificación de la ponderación del widget por página.
  • Limitar el número de celdas de una tabla.
  • Evitar un estado inicial de tablas con desglose completo.
  • Desactivar el filtrado de efectos en cascada.
  • Utilizar controles de entrada y filtros ocultos en la vista inicial (ya que la consulta solo se enviará al sistema back end cuando el usuario interactúe con el control de entrada en lugar de al cargar la página).

Por este motivo, es importante que haya completado las siguientes unidades en el curso Optimización del rendimiento en el diseño de historias de SAP Analytics Cloud:

  1. Explorar el diseño de historias y su impacto en el rendimiento en SAP Analytics Cloud
  2. Optimizar el rendimiento en el diseño de historias
  3. Optimización del rendimiento en la carga de datos

En esta lección, exploraremos las recomendaciones adicionales de mejores prácticas que son más relevantes para las historias de planificación, como la entrada de datos y el trabajo con la tabla de planificación.

Planificar el diseño de su historia

Sencillez

El diseño de historias desempeña un papel importante en el rendimiento, por lo que, además de las mejores prácticas generales de la historia, hay algunas cosas que se deben tener en cuenta al diseñar historias de planificación, la primera es la simplicidad. La mayoría de los usuarios finales que interactúan con una historia de planificación se ocupan principalmente de introducir números y desean poder acceder a ellos rápidamente, por lo que debe tener en cuenta una disposición de historia simple y limitar el número de columnas descriptivas en sus tablas. Es posible que tenga un nodo de jerarquía que, cuando se gasta, ralentice el rendimiento, por lo que tomar medidas para simplificar el diseño de la historia puede afectar al rendimiento real de la consulta.

Siempre tenga en cuenta cómo se utilizará su historia y planifique en consecuencia. Por ejemplo, si tiene una historia que utiliza un modelo de planificación pero contiene algunos widgets de historia que no se utilizan para la planificación, desmarque Planificación activada en el panel Generador de la tabla. Los desarrolladores de historias pueden aprovechar la API getPlanning().setEnabled para activar la planificación en tiempo de visualización siempre que sea necesario.

Historia con planificación activada seleccionada en el panel Generador.

Consejo

Recuerde que si tiene un modelo grande con el que está trabajando, active Optimizar el rendimiento de la creación de historias en las preferencias del modelo para que se eviten las actualizaciones de datos durante el diseño de la historia, lo que requiere una actualización manual de los datos.Optimizar el rendimiento de creación de historias seleccionado (resaltado) en las preferencias del modelo

Probar el rendimiento de su historia

Pruebe el rendimiento de su historia a medida que la crea. Por ejemplo, si no ha probado la expansión del nodo de jerarquía, no se habría dado cuenta de que estaba afectando al rendimiento de la historia de planificación, lo que le permitiría simplificar el diseño de la historia de forma temprana para optimizar el rendimiento real de la consulta. Las pruebas a medida que vaya creando le ayudarán a identificar problemas potenciales, así como a reducir el tiempo de resolución de problemas más adelante.

El rendimiento de la historia se puede ver afectado por factores como el bloqueo de datos, la desagregación extensa en muchas combinaciones de miembros, los filtros de atributo no clave y los bloqueos de celdas. Por este motivo, es importante probar el rendimiento de su historia en tiempo de visualización con la herramienta Análisis de rendimiento mientras la crea al utilizar estos elementos.

Gestionar estratégicamente celdas no reservadas

Minimice la visualización de celdas no reservadas, ya que son muy caras de renderizar y se pueden multiplicar fácilmente cuando se anidan varias dimensiones en las filas o columnas. Solo mostrar celdas no reservadas en las dimensiones internas, siempre que sea posible. Esto se debe a que la activación de la visualización en las dimensiones externas primero (dimensiones izquierda o superior) la activa automáticamente en todas las dimensiones internas (derecha o inferior).

En el siguiente ejemplo, puede ver cómo la selección o anulación de selección de datos no reservados (en la tabla o en el panel Generador) afecta a cómo se visualizan los datos, que en este caso es Cliente C.

Datos no reservados está desmarcado y Cliente C ya no está visible en la tabla.

Diseñe los pasos de acción de datos con cuidado

Si tiene una historia de planificación en la que se requiere hacer referencia a miembros, utilice los pasos de copia de la acción de datos para permitir que los datos de determinación de fuente de aprovisionamiento de miembros calculados o miembros superiores optimicen el rendimiento. En lugar de hacer referencia al miembro de origen en cada uno de los pasos de acción de datos, puede hacer referencia al miembro de origen en el primer paso y, a continuación, configurar los pasos adicionales para leer el valor.

Veamos un ejemplo. Tiene una asignación en su historia de planificación y desea aprovechar los miembros calculados como determinante en el que propagar los valores de destino. Desea reducir la dependencia del driver en pasos posteriores de la asignación. Como la asignación se basa en un valor del año anterior, introduzca el valor determinante en el año actual en lugar de hacer referencia siempre al valor en un cálculo de búsqueda, ya que es un valor que es poco probable que cambie. La referencia consistente a un valor estático mediante una cuenta o indicador calculado crea gastos de procesamiento innecesarios con cada ejecución de asignación.

Una acción de datos para gastos de asignación con el campo Contexto de controlador resaltado. La dimensión de referencia es Fecha (año, trimestre, mes).

Las acciones de datos, las acciones multifunción y los cálculos también desempeñan un papel importante en el rendimiento de las historias de planificación. Como tal, hemos incluido lecciones separadas sobre estos temas.

Entrada y eliminación de datos

Uno de los elementos clave a tener en cuenta al optimizar el rendimiento es cómo los usuarios introducirán y quitarán datos en la historia de planificación. Para evitar errores de tiempo de espera, se recomienda evitar copiar y pegar grandes volúmenes de datos desde Microsoft Excel. Veamos algunos escenarios comunes para la entrada de datos y la eliminación masiva de datos que optimizarán el rendimiento de la entrada de datos.

Entrada de datos mediante entrada de datos en masa

El modo de entrada de datos en masa está pensado para modificar varias celdas de datos individualmente y, a continuación, procesarlas a la vez. Para optimizar el rendimiento al utilizar la entrada de datos en masa:

  1. Divida la actualización en varias actualizaciones segmentadas más pequeñas para minimizar las verificaciones de dependencia y el crecimiento del tiempo de ejecución.
  2. Asegúrese de que las celdas visibles en el diseño de cuadrícula cumplen las siguientes condiciones para que se puedan omitir las verificaciones de dependencia:
    • No hay fórmulas.
    • No hay búsquedas.
    • No hay funciones dinámicas.
    • No hay dimensiones calculadas.
    • Las dimensiones están restringidas a nodos finales (si es necesario, seleccione la opción Mostrar solo nodos finales en el widget en las opciones de jerarquía, si están disponibles).

Atención

Es importante cumplir con el límite de 30.000 modificaciones de celdas de SAP Analytics Cloud. Cuando se supera el límite, la aplicación genera un mensaje de error y se rechazan las entradas de datos.

Entrada de datos mediante Copiar y pegar

Si copia una celda de origen con datos, todos los valores subyacentes que se agregan hasta ella también se copian y pegan automáticamente. Por ejemplo, si copia un miembro Q1 y lo pega en Q2 para la misma versión, los valores de enero se copian en abril, de febrero a mayo y de marzo a junio.

Al copiar y pegar datos dentro de una tabla, hay dos tipos de operaciones de pegado. Puede optar por pegar:

  1. Valores subyacentes: es el modo predeterminado y transfiere datos detallados. Utilícelo cuando la celda de origen esté visible y esté copiando:
    • Entre períodos de tiempo del mismo nivel, por ejemplo, de diciembre a enero
    • Entre diferentes miembros de hoja, como entre jefes de ventas
  2. Valores totales: transfiere datos agregados. Cuando las condiciones para pegar valores subyacentes no están presentes, solo se pegan los datos generales. Esto es similar a la entrada manual y los datos se distribuyen a los miembros de hoja en función de las proporciones existentes entre esos miembros si la celda ya tiene un valor. Para pegar valores totales:
    • Seleccione la celda necesaria y, a continuación, en el menú, seleccione Editar y pegar Solo valores globales.
    • Haga clic con el botón derecho en la celda necesaria y seleccione Pegar solo valores globales en el menú contextual.

Consejos para el rendimiento de la entrada de datos

Copie y pegue menos celdas de alta granularidad. Esto tendrá un mejor rendimiento que copiar y pegar baja granularidad. Por ejemplo, copiar hechos de un año a otro dará lugar al mismo resultado y generalmente será más rápido que copiar a nivel de mes.

Limite el número de celdas (de hoja) que se van a actualizar. Para el procesamiento de entrada de datos, es mejor evitar actualizar demasiadas celdas al mismo tiempo. Por ejemplo, si su modelo contiene muchas dimensiones en las que el miembro no asignado no está disponible, propagar los datos a todos los miembros de hoja para cada dimensión puede provocar un rendimiento lento.

Filtrar dimensiones de forma selectiva. Otra forma de optimizar el rendimiento en una historia de planificación es filtrar dimensiones de forma selectiva y utilizar acciones de datos para rellenar previamente combinaciones clave. Asegúrese de filtrar los datos o ajustar las celdas de destino para evitar advertencias de rendimiento. Al actualizar varias celdas, la aplicación ejecuta verificaciones de dependencia y verifica restricciones potenciales por pares, por lo que es más rápido dividir la actualización en varias más pequeñas, en lugar de ejecutar una única actualización considerable de una sola vez.

Escenarios complejos

Es importante tomar medidas para optimizar el rendimiento con una historia de planificación que contenga escenarios complejos. Evite la entrada de datos en masa en celdas vacías de una tabla con muchas dimensiones en los ejes, ya que puede provocar posibles problemas de memoria. Para las tablas con muchas dimensiones en los ejes, una entrada de datos en masa (o la copia de hechos de una hoja de Microsoft Excel) en un gran número de celdas vacías puede provocar problemas de rendimiento. El tiempo de ejecución y el consumo de memoria de una entrada de datos en masa dependen del producto del número de miembros unívocos para todas las dimensiones en los ejes para el área de celdas vacías tocadas.

Veamos un ejemplo. En la siguiente tabla, desea introducir datos para todas las celdas de febrero y marzo. El casco cartesiano para esta área contiene 158400 combinaciones de tuplas de miembros (el producto de los números de miembros únicos por dimensión): 1 para Región * 11 para Departamento * 20 para ID de empleado * 18 para Fecha de contratación * 20 para Posición * 2 para Fecha.

Mientras que la entrada de datos en masa en este ejemplo se puede ejecutar sin problemas, considere una entrada de datos en masa similar en 100 filas en lugar de 20. Esto puede abarcar un casco cartesiano de miles de millones de combinaciones de miembros y provocar problemas de rendimiento o un consumo de memoria demasiado alto, lo que provoca un error.

Ejemplo de una historia con un gran casco cartesiano, como se describe arriba en la imagen.]

Existen diferentes mitigaciones que puede utilizar para mejorar el rendimiento, como añadir controles de entrada en dimensiones para dividir la entrada de datos en masa en varias partes más pequeñas, eliminar dimensiones innecesarias de los ejes o utilizar un job de importación de datos para importar datos al modelo. Encontrará detalles sobre esta solución en la nota SAP 3287839.

Eliminaciones masivas

Al eliminar numerosas celdas, no es necesario restringir las dimensiones visibles a las hojas solo para eliminaciones más rápidas.

Para optimizar el rendimiento al realizar borrados en masa, considere utilizar la selección contigua. La eliminación de celdas es más rápida si la selección forma un rectángulo contiguo sin espacios. Arrastrar de borde a borde lo consigue automáticamente, mientras que la eliminación de celdas aisladas dentro de un área grande puede ralentizar el procesamiento, incluso si se incluyen celdas no reservadas.