Optimización de cubos de BSO

Al optimizar los cubos de BSO se reduce el tamaño de la base de datos; implica los siguientes procesos:

  • Reemplazar los bloques cero con bloques #missing
  • Eliminar los bloques #missing para reducir el tamaño de la base de datos
  • Usar Never como operador de consolidación para miembros con tipos de datos Lista inteligente, Fecha, Texto y Porcentaje

Eliminación de ceros en un cubo de BSO

Para empezar, elimine los bloques cero de las dimensiones ligeras del cubo. Para ello, reemplácelos por bloques #missing.

Para reemplazar los bloques cero con bloques #missing:

  1. Cree una regla de negocio para reemplazar los bloques cero con bloques #missing.

    Establezca el entorno de la regla de negocio para optimizar esta regla de negocio:

    SET UPDATECALC OFF;
    SET CREATENONMISSINGBLK OFF;
    SET CREATEBLOCKONEQ OFF;
    FIXPARALLEL(NumberThreads, @RELATIVE("SparseDim",0))
    FIX on all level 0 sparse dimension @RELATIVE(SparseDim,0)
    

    Note:

    • Si bien UPDATECALC, CREATENONMISSINGBLK y CREATEBLOCKONEQ están desactivados de forma predeterminada. Oracle recomienda desactivarlos explícitamente en la regla de negocio.
    • Asegúrese de reemplazar "SparseDim" por los nombres de las dimensiones de espacio en las que se vayan a reemplazar los bloques cero.
    • Use FIXPARALLEL para ayudar a mejorar el rendimiento, por ejemplo, FIXPARALLEL(4, @RELATIVE("Scenario",0)).
    • Asegúrese de especificar ENDFIXPARALLEL.
  2. Use uno de los siguientes diseños de cálculos optimizados para cambiar los bloques cero a bloques #missing. Seleccione el diseño de cálculo que dé mejor resultado en función de su diseño de dimensión, patrones de datos y procesos.

    Diseño de cálculo 1 (para un cálculo denso o ligero)

    Este cálculo genera el valor original y cambia los valores cero a #missing.

    "DenseMbr" = "DenseMbr" * "DenseMbr" / "DenseMbr";
    "SparseMbr" = "SparseMbr" * "SparseMbr" / "SparseMbr";

    Diseño de cálculo 2 (solo para miembros densos en modo Block)

    "DenseBlockHeader" (
        @CALCMODE(BLOCK);
           IF ("DenseMbr" == 0) 
               "DenseMbr" = #Missing;
           ENDIF

    Note:

    Reemplace DenseMbr, SparseMbr y DenseBlockHeader por los valores reales.

Eliminación de bloques #Missing de los cubos

Elimine los bloques #missing para reducir el tamaño de la base de datos de BSO. Use uno de los siguientes dos métodos para borrar los bloques #missing:

Método 1

Realice una reestructuración densa explícita

En Planning, este proceso se puede ejecutar manualmente o mediante un trabajo. Las reestructuraciones de bases de datos también se pueden realizar con EPM Automate y las API de REST.

Para ejecutar una reestructuración de la base de datos con Calculation Manager:

  1. Abra Calculation Manager. En el navegador, seleccione Reglas en Crear y gestionar.
  2. Haga clic en Acciones y, a continuación, seleccione Propiedades de la base de datos.
  3. En Vista empresarial, expanda la base de datos que contiene el cubo que desea reestructurar.
  4. Haga clic con el botón derecho en el cubo que desea reestructurar y seleccioneReestructurar base de datos.

Fuentes de información:

  • restructureCube en Trabajo con EPM Automate para Oracle Enterprise Performance Management Cloud
  • Reestructurar cubo en API de REST para Oracle Enterprise Performance Management Cloud

Método 2

Borre todos los datos. Vuelva a cargar todos los datos de los archivos que ha cargado previamente en el entorno.

Uso de Never como operador de consolidación para miembros con tipos de datos Lista inteligente, Fecha, Texto y Porcentaje

Los miembros de dimensión con un tipo de datos Lista inteligente, Fecha, Texto y Porcentaje deben usar Never como operador de consolidación. El uso del operador de consolidación de suma aumenta el tamaño del cubo sin añadir ningún valor. El uso de Ignore como operador de consolidación solo detendrá la suma en la dimensión del miembro; no detendrá la acumulación de valores de otras dimensiones, lo que puede crear bloqueos innecesario.