Todos los productos
Search
Centro de documentos

Quick BI:Funciones de análisis (funciones LOD)

Última actualización: Sep 03, 2026

La función LOD significa expresión de nivel de detalle. Esta función resuelve las discrepancias de granularidad en los cálculos entre expresiones. Este tema explica cómo utilizar las funciones LOD.

Límites

Las tablas de detalle no admiten funciones LOD.

Contexto

Actualmente, el análisis en Quick BI se basa en dimensiones fijas. Por ejemplo, para consultar el recuento de pedidos por región y provincia, coloque la región y la provincia (dimensiones) en las filas de una tabla cruzada y el recuento de pedidos (medida) en las columnas. Establezca el método de agregación como Suma.

image.png

La consulta SQL generada es:

SELECT
  ADR_T_1_.`area` AS T_AAC_2_,
  ADR_T_1_.`province` AS T_A9E_3_,
  SUM(ADR_T_1_.`order_amt`) AS T_AAD_4_
FROM
  `qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
  ADR_T_1_.`area`,
  ADR_T_1_.`province`
ORDER BY
  T_AAC_2_ ASC,
  T_A9E_3_ ASC

Pero, ¿qué sucede si desea visualizar tanto los datos a nivel de región-provincia como los datos a nivel de región en la misma tabla? ¿O comparar las ventas a nivel de provincia con los totales regionales? ¿O identificar el tipo de producto con mayores ventas por provincia? En estos casos, utilice las funciones LOD.

Escenarios

Una expresión de nivel de detalle define el nivel de granularidad de la agregación de datos. Los distintos niveles representan diferentes profundidades y granularidades de agregación. Las expresiones LOD gestionan visualizaciones que contienen varios niveles de detalle.

Si su análisis requiere agregar una dimensión cuya granularidad es superior o inferior a la de la visualización actual, pero no desea modificar el gráfico existente, utilice expresiones de nivel de detalle.

Sintaxis

LOD (expresiones de nivel de detalle) es una potente función de cálculo que permite realizar cálculos y agregaciones complejas durante el análisis de datos. Las expresiones LOD controlan la granularidad del cálculo y le permiten analizar datos en un nivel de granularidad específico (FIXED), en un nivel de granularidad superior (INCLUDE) o en un nivel de granularidad inferior (EXCLUDE). El uso básico es el siguiente:

LOD_FIXED

Sintaxis

LOD_FIXED{<dimension declaration> : <aggregation expression>}

Parámetros

  • Declaración de dimensión: Una o más dimensiones para vincular la expresión de agregación. Separe las dimensiones con comas.

  • Expresión de agregación: El cálculo que se debe realizar. Define la dimensión objetivo.

Definición

Calcula un valor agregado fijo en las dimensiones especificadas. No se ve afectado por otras dimensiones del gráfico.

Salida

Valor numérico

Ejemplo

LOD_FIXED{[region]: BI_SUM([order amount])}

Significado: Agrega únicamente por región. Suma el monto del pedido independientemente de otras dimensiones de la consulta.

Para más ejemplos, consulte FIXED function examples.

Límites

No es compatible con orígenes de datos Lindorm (motor de tablas anchas, SQL multimodelo), Elasticsearch ni SAP IQ (Sybase IQ).

LOD_INCLUDE

Sintaxis

LOD_INCLUDE{<dimension declaration> : <aggregation expression>}

Parámetros

  • Declaración de dimensión: Una o más dimensiones para vincular la expresión de agregación. Separe las dimensiones con comas.

  • Expresión de agregación: El cálculo que se debe realizar. Define la dimensión objetivo.

Definición

Realiza la agregación utilizando dimensiones adicionales en el gráfico.

Salida

Valor numérico

Ejemplo

LOD_INCLUDE{[region]: BI_SUM([order amount])}

Significado: Agrega la región como dimensión de agregación a las dimensiones existentes de la consulta. Suma el monto del pedido.

Para más ejemplos, consulte INCLUDE function examples.

Límites

No es compatible con orígenes de datos Lindorm (motor de tablas anchas, SQL multimodelo), Elasticsearch ni SAP IQ (Sybase IQ).

LOD_EXCLUDE

Sintaxis

LOD_EXCLUDE{<dimension declaration> : <aggregation expression>}

Parámetros

  • Declaración de dimensión: Una o más dimensiones para vincular la expresión de agregación. Separe las dimensiones con comas.

  • Expresión de agregación: El cálculo que se debe realizar. Define la dimensión objetivo.

Definición

Realiza la agregación mientras excluye dimensiones específicas del gráfico.

Salida

Valor numérico

Ejemplo

LOD_EXCLUDE{[region]: BI_SUM([order amount])}

Significado: Parte de las dimensiones existentes de la consulta. Si existe la región, la elimina. Luego suma el monto del pedido utilizando las dimensiones restantes.

Para más ejemplos, consulte EXCLUDE function examples.

Límites

No es compatible con orígenes de datos Lindorm (motor de tablas anchas, SQL multimodelo), Elasticsearch ni SAP IQ (Sybase IQ).

Procedimiento

  1. En el editor de conjuntos de datos, haga clic en Create Calculated Field para abrir el cuadro de diálogo de configuración.

    image

  2. Introduzca un field name (①). En field expression, seleccione la LOD function y los fields obligatorios (②).

    image

  3. Haga clic en OK después de la creación. Cuando utilice el new field para crear un gráfico de panel, el monto total de pedidos por región permanece constante sin importar el tipo de producto.

    image..png

Referencia de expresiones

Fórmula básica

La estructura y sintaxis de las tres expresiones LOD son:

  • Estructura

    • LOD_FIXED{<dimension declaration> : <aggregation expression>}

    • LOD_INCLUDE{<dimension declaration> : <aggregation expression>}

    • LOD_EXCLUDE{<dimension declaration> : <aggregation expression>}

Ejemplo: LOD_FIXED{[order date]:sum([order amount])}

  • Referencia de sintaxis

    • FIXED | INCLUDE | EXCLUDE: Palabras clave que definen el alcance de LOD.

    • <dimension declaration>: Una o más dimensiones para vincular la expresión de agregación. Separe las dimensiones con comas.

    • <aggregation expression>: El cálculo que se debe realizar. Define la dimensión objetivo.

Condiciones de filtro

Quick BI admite condiciones de filtro además de las expresiones básicas. Separe las declaraciones de dimensión, las expresiones de agregación y los filtros con dos puntos.

  • LOD_FIXED{dimension1,dimension2...:aggregation expression:filter condition}

  • LOD_INCLUDE{dimension1,dimension2...:aggregation expression:filter condition}

  • LOD_EXCLUDE{dimension1,dimension2...:aggregation expression:filter condition}

Nota
  • Las condiciones de filtro son opcionales.

  • LOD_FIXED calcula agregados con una granularidad fija. Las configuraciones externas no le afectan. De forma predeterminada, LOD_FIXED utiliza todos los datos. Solo se aplican los filtros dentro de la expresión. Se ignoran otros filtros, incluidos los filtros del panel y los controles de consulta.

    LOD_INCLUDE y LOD_EXCLUDE respetan las configuraciones del gráfico. Los filtros externos sí se aplican.

    Para obtener más detalles, consulte Filter condition rules.

Lógica de implementación

En la práctica, las expresiones LOD generan datos agregados. Para ofrecer vistas completas, estos datos suelen combinarse con datos sin procesar u otros niveles de agregación. En SQL, esto se logra mediante subconsultas y operaciones JOIN. Esta sección explica la lógica de implementación de las expresiones LOD FIXED, INCLUDE y EXCLUDE.

Nivel FIXED

Retome la pregunta del contexto: ¿Cómo mostrar tanto los datos a nivel de región-provincia como los datos a nivel de región en una sola tabla?

Cree una expresión FIXED:

LOD_FIXED{[area]:sum([order_amt])}

En SQL, utilice una subconsulta para calcular los totales de pedidos por región y luego únala con la consulta principal mediante JOIN:

-- Simplified structure
-- lod_fixed{[area]:sum([order_amt])}
SELECT
    LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0,			-- area
    LOD_TM.`LOD_55512959145CF3` AS LOD_1,			-- province
    LOD_TM.`LOD_8BE7507A47AD81` AS LOD_2,			-- order_amt
    LOD_TP_0.`LOD_measure_result` AS LOD_3		-- lod_fixed{[area]:sum([order_amt])}
FROM
    (
        SELECT		-- Main query: area, province, sum(order_amt)
            ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
            ADR_T_1_.`province` AS LOD_55512959145CF3,
            SUM(ADR_T_1_.`order_amt`) AS LOD_8BE7507A47AD81
        FROM
            `qbi4test`.`company_sales_record` AS ADR_T_1_
        GROUP BY
            ADR_T_1_.`area`,
            ADR_T_1_.`province`
        ORDER BY
            LOD_07AEF3F2F99A95 ASC,
            LOD_55512959145CF3 ASC
        LIMIT
            0, 20
    ) AS LOD_TM
    INNER JOIN (
        SELECT			-- LOD subquery: area, sum(order_amt)
            ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
            sum(ADR_T_1_.`order_amt`) AS LOD_measure_result
        FROM
            `qbi4test`.`company_sales_record` AS ADR_T_1_
        GROUP BY
            ADR_T_1_.`area`
    ) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`

-- Standard structure
-- lod_fixed{[area]:sum([order_amt])}
SELECT
    LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0,
    LOD_TM.`LOD_55512959145CF3` AS LOD_1,
    LOD_TM.`LOD_8BE7507A47AD81` AS LOD_2,
    LOD_TP_0.`LOD_9D09E63F2E93FA` AS LOD_3
FROM
    (
        SELECT
            SUM(ADR_T_1_.`order_amt`) AS LOD_8BE7507A47AD81,
            ADR_T_1_.`province` AS LOD_55512959145CF3,
            ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
        FROM
            `qbi4test`.`company_sales_record` AS ADR_T_1_
        GROUP BY
            ADR_T_1_.`province`,
            ADR_T_1_.`area`
        ORDER BY
            LOD_07AEF3F2F99A95 ASC,
            LOD_55512959145CF3 ASC
        LIMIT
            0, 20
    ) AS LOD_TM
    INNER JOIN (
        SELECT
            LOD_TL.`LOD_07AEF3F2F99A95` AS LOD_07AEF3F2F99A95,
            LOD_TL.`LOD_55512959145CF3` AS LOD_55512959145CF3,
            SUM(LOD_TR.`LOD_measure_result`) AS LOD_9D09E63F2E93FA
        FROM
            (
                SELECT
                    ADR_T_1_.`province` AS LOD_55512959145CF3,
                    ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
                FROM
                    `qbi4test`.`company_sales_record` AS ADR_T_1_
                GROUP BY
                    ADR_T_1_.`province`,
                    ADR_T_1_.`area`
            ) AS LOD_TL
            INNER JOIN (
                SELECT
                    sum(ADR_T_1_.`order_amt`) AS LOD_measure_result,
                    ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
                FROM
                    `qbi4test`.`company_sales_record` AS ADR_T_1_
                GROUP BY
                    ADR_T_1_.`area`
            ) AS LOD_TR ON LOD_TL.`LOD_07AEF3F2F99A95` = LOD_TR.`LOD_07AEF3F2F99A95`
        GROUP BY
            LOD_TL.`LOD_07AEF3F2F99A95`,
            LOD_TL.`LOD_55512959145CF3`
    ) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`
    AND LOD_TM.`LOD_55512959145CF3` = LOD_TP_0.`LOD_55512959145CF3`

Nivel INCLUDE

¿Cómo mostrar los datos a nivel de región y la participación de la provincia con mayores ventas en cada región?

Cree una expresión INCLUDE:

MAX(LOD_INCLUDE{[province]:SUM([order_amt])}) / SUM([order_amt])

En SQL, utilice una subconsulta para calcular los totales de pedidos por región-provincia y luego únala con la consulta principal mediante JOIN:

-- Simplified structure
-- MAX(lod_include{[province]:SUM([order_amt])}) / SUM([order_amt])
SELECT
    LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0,		-- area
    LOD_TP_0.`LOD_EC796C51A8ABAB` / LOD_TM.`temp_calculation_0` AS LOD_1  -- MAX(lod_include{[province]:SUM([order_amt])}) / SUM([order_amt])
FROM
    (
        SELECT	-- Main query: area, sum(order_amt)
            ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
            sum(ADR_T_1_.`order_amt`) AS temp_calculation_0
        FROM
            `qbi4test`.`company_sales_record` AS ADR_T_1_
        GROUP BY
            ADR_T_1_.`area`
        ORDER BY
            LOD_07AEF3F2F99A95 ASC
        LIMIT
            0, 20
    ) AS LOD_TM
    INNER JOIN (		
        SELECT		-- LOD subquery: area, max(order_amt)
            LOD_TP_0.`LOD_07AEF3F2F99A95` AS LOD_07AEF3F2F99A95,
            MAX(LOD_TP_0.`LOD_measure_result`) AS LOD_EC796C51A8ABAB
        FROM
            (
                SELECT		-- area, province, sum(order_amt)
                    ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
                    ADR_T_1_.`province` AS LOD_55512959145CF3,
                    SUM(ADR_T_1_.`order_amt`) AS LOD_measure_result
                FROM
                    `qbi4test`.`company_sales_record` AS ADR_T_1_
                GROUP BY
                    ADR_T_1_.`area`,
                    ADR_T_1_.`province`
            ) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`

      
-- Standard structure
-- MAX(lod_include{[province]:SUM([order_amt])}) / SUM([order_amt])
SELECT
    LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0,
    LOD_TP_0.`LOD_EC796C51A8ABAB` / LOD_TM.`temp_calculation_0` AS LOD_1
FROM
    (
        SELECT
            ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
            sum(ADR_T_1_.`order_amt`) AS temp_calculation_0
        FROM
            `qbi4test`.`company_sales_record` AS ADR_T_1_
        GROUP BY
            ADR_T_1_.`area`
        ORDER BY
            LOD_07AEF3F2F99A95 ASC
        LIMIT
            0, 20
    ) AS LOD_TM
    INNER JOIN (
        SELECT
            LOD_TL.`LOD_07AEF3F2F99A95` AS LOD_07AEF3F2F99A95,
            MAX(LOD_TR.`LOD_measure_result`) AS LOD_EC796C51A8ABAB
        FROM
            (
                SELECT
                    ADR_T_1_.`province` AS LOD_55512959145CF3,
                    ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
                FROM
                    `qbi4test`.`company_sales_record` AS ADR_T_1_
                GROUP BY
                    ADR_T_1_.`province`,
                    ADR_T_1_.`area`
            ) AS LOD_TL
            INNER JOIN (
                SELECT
                    SUM(ADR_T_1_.`order_amt`) AS LOD_measure_result,
                    ADR_T_1_.`province` AS LOD_55512959145CF3,
                    ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
                FROM
                    `qbi4test`.`company_sales_record` AS ADR_T_1_
                GROUP BY
                    ADR_T_1_.`province`,
                    ADR_T_1_.`area`
            ) AS LOD_TR ON LOD_TL.`LOD_07AEF3F2F99A95` = LOD_TR.`LOD_07AEF3F2F99A95`
        GROUP BY
            LOD_TL.`LOD_07AEF3F2F99A95`
    ) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`

Nivel EXCLUDE

La expresión LOD FIXED especifica directamente una dimensión, como área, para obtener datos a nivel de región. Pero, ¿qué sucede si ya agregó área y provincia al gráfico? ¿Es posible excluir la provincia y volver a calcular? Sí. Esa es la idea detrás de las expresiones LOD EXCLUDE.

Cree una expresión EXCLUDE:

LOD_EXCLUDE{[province]:SUM([order_number])}

En SQL, utilice una subconsulta para calcular los totales de pedidos por región y luego únala con la consulta principal mediante JOIN:

-- Simplified structure
-- lod_EXCLUDE{[province]:SUM([order_number])}
SELECT
    LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0,       -- area
    LOD_TM.`LOD_55512959145CF3` AS LOD_1,       -- province
    LOD_TM.`LOD_140423A9870F07` AS LOD_2,       -- order_number
    LOD_TP_0.`LOD_measure_result` AS LOD_3      -- lod_EXCLUDE{[province]:SUM([order_number])}
FROM
    (
        SELECT      -- Main query: area, province, sum(order_number)
            ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
            ADR_T_1_.`province` AS LOD_55512959145CF3,
            SUM(ADR_T_1_.`order_number`) AS LOD_140423A9870F07
        FROM
            `qbi4test`.`company_sales_record` AS ADR_T_1_
        GROUP BY
            ADR_T_1_.`area`,
            ADR_T_1_.`province`
        ORDER BY
            LOD_07AEF3F2F99A95 ASC,
            LOD_55512959145CF3 ASC
        LIMIT
            0, 20
    ) AS LOD_TM
    INNER JOIN (
        SELECT      -- LOD subquery: area, sum(order_number)
            ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
            SUM(ADR_T_1_.`order_number`) AS LOD_measure_result
        FROM
            `qbi4test`.`company_sales_record` AS ADR_T_1_
        GROUP BY
            ADR_T_1_.`area`
    ) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`
    AND LOD_TM.`LOD_55512959145CF3` = LOD_TP_0.`LOD_55512959145CF3`

-- Standard structure
-- lod_EXCLUDE{[province]:SUM([order_number])}
SELECT
    LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0,
    LOD_TM.`LOD_55512959145CF3` AS LOD_1,
    LOD_TM.`LOD_140423A9870F07` AS LOD_2,
    LOD_TP_0.`LOD_90EDFE3F5B628A` AS LOD_3
FROM
    (
        SELECT
            SUM(ADR_T_1_.`order_number`) AS LOD_140423A9870F07,
            ADR_T_1_.`province` AS LOD_55512959145CF3,
            ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
        FROM
            `qbi4test`.`company_sales_record` AS ADR_T_1_
        GROUP BY
            ADR_T_1_.`province`,
            ADR_T_1_.`area`
        ORDER BY
            LOD_07AEF3F2F99A95 ASC,
            LOD_55512959145CF3 ASC
        LIMIT
            0, 20
    ) AS LOD_TM
    INNER JOIN (
        SELECT
            LOD_TL.`LOD_07AEF3F2F99A95` AS LOD_07AEF3F2F99A95,
            LOD_TL.`LOD_55512959145CF3` AS LOD_55512959145CF3,
            SUM(LOD_TR.`LOD_measure_result`) AS LOD_90EDFE3F5B628A
        FROM
            (
                SELECT
                    ADR_T_1_.`province` AS LOD_55512959145CF3,
                    ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
                FROM
                    `qbi4test`.`company_sales_record` AS ADR_T_1_
                GROUP BY
                    ADR_T_1_.`province`,
                    ADR_T_1_.`area`
            ) AS LOD_TL
            INNER JOIN (
                SELECT
                    SUM(ADR_T_1_.`order_number`) AS LOD_measure_result,
                    ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
                FROM
                    `qbi4test`.`company_sales_record` AS ADR_T_1_
                GROUP BY
                    ADR_T_1_.`area`
            ) AS LOD_TR ON LOD_TL.`LOD_07AEF3F2F99A95` = LOD_TR.`LOD_07AEF3F2F99A95`
        GROUP BY
            LOD_TL.`LOD_07AEF3F2F99A95`,
            LOD_TL.`LOD_55512959145CF3`
    ) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`
    AND LOD_TM.`LOD_55512959145CF3` = LOD_TP_0.`LOD_55512959145CF3`

Ejemplos de la función FIXED

Una expresión de nivel de detalle FIXED calcula utilizando únicamente las dimensiones especificadas e ignora todas las demás.

Ejemplo 1: Monto total de ventas por región

Escenario

Usted analiza pedidos de ventas regionales. Su conjunto de datos incluye las dimensiones región y provincia. Utilice FIXED para calcular el monto total de ventas por región. FIXED ignora todas las demás dimensiones, por lo que devuelve el total correcto de ventas regionales.

Procedimiento

  1. Cree un campo calculado.

    Expresión de campo: LOD_FIXED{[region]:BI_SUM([order amount])}

    Significado: Suma el monto del pedido por región.

    image

  2. Cree un gráfico.

    Este ejemplo utiliza una tabla cruzada.

    Arrastre el campo Regional Amount Sum al área de columnas. Arrastre region y province al área de filas. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

    image.png

    Ahora, la suma del monto regional permanece constante en todas las provincias.

Ejemplo 2: Frecuencia de pedidos por cliente

Descripción del escenario

Un gerente de ventas desea saber cuántos clientes realizaron uno, dos o tres pedidos, y así sucesivamente. Analice el comportamiento de recompra de los clientes contando la frecuencia de pedidos por cliente. Utilice una expresión de nivel de detalle para agrupar una medida por otra.

Este ejemplo utiliza LOD_FIXED para convertir el recuento de pedidos en una dimensión de recuento de clientes. Calcule la frecuencia de pedidos por cliente.

Procedimiento

  1. Cree un campo calculado.

    Expresión de campo: LOD_FIXED{[customer name]:COUNT([order id])}

    Significado: Cuenta la frecuencia de compra por cliente.image

  2. Cree un gráfico.

    Este ejemplo utiliza un gráfico de columnas.

    Arrastre el campo Purchase Frequency al área de eje de categoría/dimensión. Arrastre customer name al área de valor de eje/medida y configúrelo como recuento distinto. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

    image.png

Ahora puede observar que la frecuencia de compra más común es siete. Un cliente realizó 58 pedidos.

Ejemplo 3: Clasificación por porcentaje de beneficio regional

Escenario

Un director de ventas regional desea conocer la participación de cada región en el beneficio total e identificar rápidamente a los principales contribuyentes. Puede utilizar Cálculo avanzado → Porcentaje, o bien usar expresiones de nivel de detalle para mayor flexibilidad.

Este ejemplo utiliza LOD_FIXED para calcular la clasificación por porcentaje de beneficio regional.

Procedimiento

  1. Cree un campo calculado.

    1. Expresión de campo: LOD_FIXED{:SUM([profit amount])}

      Significado: Esta expresión FIXED omite dimensiones, por lo que suma el beneficio sin agrupar.

    2. Divida SUM([profit amount]) entre el resultado de LOD: SUM([profit amount]) / SUM(LOD_FIXED{:SUM([profit amount])}). Esto proporciona la participación de beneficio de cada región.

      image

  2. Cree un gráfico.

    En este ejemplo, se crea una tabla de clasificación.

    Arrastre el campo Profit Share Percentage al área de métrica/medida. Arrastre area al área de categoría/dimensión. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

    image.png

Ahora se observa que China del Sur y China del Norte ocupan los primeros lugares. China del Este y Suroeste ocupan los últimos lugares e incluso muestran beneficios negativos. Los datos de China del Este parecen ser datos erróneos.

Ejemplo 4: Recuento anual de nuevos usuarios

Descripción del escenario

¿Cómo saber si su producto tiene un crecimiento positivo? Más allá de PV y UV, rastree la fidelidad de los clientes. Los usuarios que permanecen mucho tiempo y siguen realizando pedidos demuestran una alta adherencia al producto. Utilice expresiones de nivel de detalle para medir esto.

Este ejemplo utiliza LOD_FIXED para calcular el recuento anual de nuevos usuarios.

Procedimiento

  1. Cree un campo calculado.

    Expresión de campo: LOD_FIXED{[customer name]:MIN(DATE_FORMAT([buy date], '%Y'))}

    Significado: Encuentra el año del primer pedido de cada usuario. Ajuste la granularidad según sea necesario utilizando funciones de fecha compatibles con la base de datos.image

  2. Cree un gráfico.

    Este ejemplo utiliza un gráfico de líneas.

    Arrastre el campo Customer First Purchase Year al área de eje de categoría/dimensión. Arrastre sales amount al área de valor de eje/medida. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

    image.png

Ahora se observa que los usuarios que comenzaron en 2013 todavía contribuyen significativamente. La adherencia al producto sigue siendo alta.

Ejemplo 5: Tendencia de recuento de nuevos clientes por año a partir de detalles de pedidos

Escenario

Cuente los clientes únicos por año de primera compra. Luego analice la distribución.

Procedimiento

  1. Cree campos calculados.

    1. Campo 1: LOD_FIXED{[customer ID]: min(BI_YEAR([order date]))}

      Nombre este campo Customer First Purchase Year. Establezca el tipo de datos como dimensión y el tipo de campo como texto.

    2. Campo 2: Customer Count=count(distinct [customer ID])

  2. Cree un gráfico.

    Este ejemplo utiliza un gráfico de columnas. Arrastre Customer First Purchase Year al área de eje de categoría/dimensión. Arrastre Customer Count al área de eje de valor/medida. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

    image

Ahora puede ver los recuentos anuales de nuevos clientes. 2021 tuvo la mayor cantidad. Los recuentos disminuyeron drásticamente después.

Ejemplo 6: Distribución de recuento de clientes por frecuencia de compra a partir de detalles de pedidos

Escenario

Cuente las compras por cliente. Luego analice la distribución.

Procedimiento

  1. Cree campos calculados.

    1. Campo 1: LOD_FIXED{[customer ID]: count(distinct [order ID])}

      Nombre este campo Customer Purchase Frequency. Establezca el tipo de datos como dimensión y el tipo de campo como texto.

    2. Campo 2: Customer Count=count(distinct [customer ID])

  2. Cree un gráfico.

    Este ejemplo utiliza un gráfico de columnas. Arrastre Customer Purchase Frequency al área de eje de categoría/dimensión. Arrastre Customer Count al área de eje de valor/medida. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

    image

En este caso, el recuento de clientes es mayor para una frecuencia de compra de 3.

Ejemplo 7: Comparación de montos de pedidos anuales con el año clave 2023

Escenario

Compare los datos de pedidos anuales con un año clave: 2023.

Procedimiento

  1. Cree un campo calculado.

    sum([order amount])/
    LOD_FIXED{:
    sum(
    case when BI_YEAR([order date]) ='2023' 
    then [order amount] else 
    0 end)} 
    -1

    Desglose:

    1. Calcule el monto de pedidos de 2023: LOD_FIXED{:sum(case when BI_YEAR([order date]) ='2023' then [order amount] else 0 end)}

    2. Compare los montos de pedidos anuales con el monto de pedidos de 2023: sum([order amount])/[2023 order amount]-1. Nombre este campo vs. 2023.

  2. Cree un gráfico.

    Este ejemplo utiliza una tabla cruzada. Arrastre order date (year) al área de filas. Arrastre order amount y vs. 2023 al área de columnas. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

    image

Ahora puede ver los montos de pedidos anuales y las comparaciones con 2023.

Ejemplo 8: Análisis de recuento de días de ganancias y pérdidas por año y mes

Escenario

Etiquete cada día como rentable o no rentable según el beneficio diario. Luego cuente los días por etiqueta, año y mes.

Procedimiento

  1. Cree campos calculados.

    1. Campo 1:

      case when 
      LOD_FIXED{[order date]:sum([profit])}>0 
      then 'Profitable' 
      else 'Unprofitable' 
      end

      Nombre este campo Day Profit/Loss Tag. Establezca el tipo de datos como dimensión y el tipo de campo como texto.

      Desglose:

      1. Sume el beneficio por fecha de pedido: LOD_FIXED{[order date]:sum([profit])}

      2. Si la suma del beneficio > 0, devuelva "Profitable". De lo contrario, devuelva "Unprofitable": case when [profit sum]>0 then 'Profitable' else 'Unprofitable' end

    2. Campo 2: Days=count(distinct [order date])

    3. Campo 3: Month=BI_MONTH([order date])

  2. Cree gráficos.

    Utilice dimensiones divididas en gráficos de línea-columna para crear múltiplos pequeños. Visualice tendencias como apiladas o categóricas. Observe comparaciones y patrones claros.

    Este ejemplo crea un gráfico de columnas apiladas para la distribución de días de ganancias/pérdidas (tendencia apilada). También crea dos gráficos de áreas para la distribución de días de ganancias/pérdidas.

    1. Cree un gráfico de columnas apiladas. Arrastre Month al área de eje de categoría/dimensión. Arrastre Days al área de eje de valor/medida. Arrastre Day Profit/Loss Tag al área de leyenda de color/dimensión. Arrastre order date (year) al área de división/dimensión. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

      image

    2. Cree dos gráficos de áreas: uno para días no rentables y otro para días rentables.

      En ambos gráficos, arrastre Month al área de eje de categoría/dimensión. Arrastre Days al área de eje de valor/medida. Arrastre order date (year) al área de división/dimensión.

      Agregue Day Profit/Loss Tag al filtro. Establezca coincidencia exacta en "Unprofitable" para el primer gráfico. Establezca coincidencia exacta en "Profitable" para el segundo.

      image

      Haga clic en Update. El sistema actualiza los gráficos automáticamente.

      image

Ahora puede ver comparaciones y tendencias claras de los días de ganancias/pérdidas por año y mes.

image

Ejemplos de la función INCLUDE

Una expresión de nivel de detalle INCLUDE agrupa los cálculos según las dimensiones especificadas. INCLUDE añade una capa adicional de análisis sobre la granularidad existente.

Ejemplo 1: Importe promedio de ventas por cliente

Escenario

Al analizar las ventas de productos, necesita obtener el importe promedio de ventas por cliente. Utilice INCLUDE para calcular el importe total de pedidos de cada cliente y luego aplique la agregación de promedio.

Procedimiento

  1. Cree un campo calculado.

    Expresión del campo: LOD_INCLUDE{[user id]:SUM([order amount])}

    Significado: suma el importe de los pedidos por ID de usuario.

    image

  2. Cree un gráfico.

    Este ejemplo utiliza una tabla cruzada.

    Arrastre order amount y Customer Order Total al área de columnas. Arrastre product type al área de filas. Establezca la agregación de Customer Order Total en Average. Haga clic en Update. El sistema actualiza el gráfico automáticamente.image.png

Ahora puede consultar el importe promedio de ventas por cliente para cada tipo de producto.

Ejemplo 2: Promedio del importe máximo de transacción por representante de ventas

Escenario

Un director de ventas necesita el promedio de la transacción más grande de cada representante, agrupado por región, y visualizarlo en un mapa. Utilice expresiones de nivel de detalle para mostrar datos a nivel de región. Profundice en los representantes de ventas para identificar qué regiones tienen un rendimiento alto o bajo y planifique los objetivos en consecuencia.

Este ejemplo utiliza LOD_INCLUDE para calcular el promedio del importe máximo de transacción por representante de ventas.

Procedimiento

  1. Cree un campo calculado.

    Expresión del campo: AVG(LOD_INCLUDE{[sales name]:MAX([price])})

    Significado: agrega el nombre del representante de ventas como dimensión de análisis y calcula el promedio de los importes máximos de transacción.

    image

  2. Cree un gráfico.

    Este ejemplo utiliza un mapa de colores.

    1. Arrastre Average Maximum Sales Amount per Region al área de saturación de color o medida. Arrastre area al eje de región geográfica o área de dimensión.

    2. En Style → Blocks, resalte en rojo la región con el valor máximo.

      image.png

      Haga clic en Update. El sistema actualiza el gráfico automáticamente.

      image.png

Ahora se observa que el este de China presenta ventas máximas más altas, mientras que el noroeste y el suroeste muestran valores menores.

Ejemplo 3: Beneficio total de regiones donde el importe del pedido supera 500,000

Descripción del escenario

Sume los importes de pedidos por región. Luego calcule el beneficio total de las regiones cuyo importe de pedido supere 500,000.

Procedimiento

  1. Cree un campo calculado.

    CASE WHEN LOD_INCLUDE{[region]:BI_SUM([order amount])}>500000 
    then [profit amount] 
    else 0 
    end

    Desglose:

    1. Calcule el importe de pedidos por región. Asigne a este campo el nombre Region Order Amount: LOD_INCLUDE{[region]:BI_SUM([order amount])}

    2. Identifique las regiones donde el importe del pedido supera 500,000 y sume su beneficio: CASE WHEN [Region Order Amount]>500000 then [profit amount] else 0 end

    3. Sume los resultados (mediante SUM o configurando la agregación del campo del gráfico en Sum) para obtener el beneficio total de las regiones que cumplen la condición.

  2. Cree gráficos.

    Este ejemplo utiliza un scorecard para mostrar los datos. También puede crear una cross table para verificar la precisión. En el scorecard, arrastre el nuevo campo al área de métrica o medida. Configure la agregación del campo en Sum. En la cross table, arrastre region al área de filas. Arrastre order amount, profit amount y el nuevo campo al área de columnas. Configure la agregación del campo en Sum. Haga clic en Update. El sistema actualiza los gráficos automáticamente.

    image

    Ahora se observa que Noreste, Este de China, Norte de China y Sur de China superan los 500,000 en importe de pedidos. Su beneficio total es de 459,000 CNY.

Ejemplo 4: Beneficio total de regiones donde el importe de pedidos enviados por tren supera 100,000 por tipo de producto

Escenario

Esta es una versión mejorada de Example 3. Se añaden el envío por tren y la agrupación por tipo de producto. Calcule el beneficio total de las regiones donde el importe de pedidos enviados por tren supera 100,000 por tipo de producto. Esto implica funciones anidadas; desglóselas para mayor claridad.

Procedimiento

  1. Cree un campo calculado:

    SUM(
    CASE WHEN LOD_INCLUDE{[product type],[region]:sum(if([shipping method]='train',[order amount],0))}>100000
    then [profit amount]
    else 0
    end)

    Desglose:

    1. Sume los importes de pedidos enviados por tren por tipo de producto y región. Asigne a este campo el nombre Product Type–Region Order Amount: LOD_INCLUDE{[product type],[region]:sum(if([shipping method]='train',[order amount],0))}

    2. Identifique las regiones donde el importe del pedido supera 100,000 y sume su beneficio: CASE WHEN [Product Type–Region Order Amount]>100000 then [profit amount] else 0 end

    3. Sume los resultados.

  2. Cree gráficos.

    1. Cree dos scorecards. En Scorecard 1, arrastre el nuevo campo al área de métrica o medida del scorecard. En Scorecard 2, arrastre el nuevo campo al área de métrica o medida y arrastre product type al área de etiqueta o dimensión del scorecard. Haga clic en Update. El sistema actualiza los gráficos automáticamente.

      image

      Ahora, el beneficio total de pedidos enviados por tren con importe superior a 100,000 es de 426,000 CNY. Artículos de oficina: 147,200 CNY. Muebles: 0 CNY. Tecnología: 278,800 CNY.

    2. Cree una cross table para verificar la precisión. Arrastre product type, shipping method y region al área de filas. Arrastre order amount, profit amount y el nuevo campo al área de columnas. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

      Para artículos de oficina, los pedidos enviados por tren con importe superior a 100,000 se encuentran en Noreste, Este de China, Norte de China y Sur de China. Su beneficio total es de 147,200 CNY, lo cual coincide con el scorecard. Verifique los demás tipos de producto de forma similar.

Ejemplo 5: Recuento de clientes en regiones donde el importe de pedidos enviados por tren supera 100,000 por tipo de producto

Escenario

Este caso es similar a Example 4, pero calcula el recuento de clientes en lugar del beneficio.

Procedimiento

  1. Cree un campo calculado:

    COUNT(DISTINCT(
    CASE WHEN LOD_INCLUDE{[product type],[region]:sum(if([shipping method]='train',[order amount],0))}>100000
    then [user id]
    else null
    end))

    Desglose:

    1. Sume los importes de pedidos enviados por tren por tipo de producto y región. Asigne a este campo el nombre Product Type–Region Order Amount: LOD_INCLUDE{[product type],[region]:sum(if([shipping method]='train',[order amount],0))}

    2. Identifique las regiones donde el importe del pedido supera 100,000 y liste sus clientes: CASE WHEN [Product Type–Region Order Amount]>100000 then [user id] else null end

    3. Finalmente, utilice COUNT(DISTINCT()) para contar los valores únicos.

  2. Cree un gráfico.

    Este ejemplo utiliza un scorecard. Arrastre el nuevo campo al área de métrica o medida del scorecard. Haga clic en Update. El sistema actualiza el gráfico automáticamente.image Ahora, el recuento de clientes para pedidos enviados por tren con importe superior a 100,000 es de 1,026.

Ejemplo 6: Recuento de regiones donde el importe del pedido supera 500,000

Escenario

Este caso es similar a Example 3, pero cuenta regiones en lugar de calcular el beneficio.

Procedimiento

  1. Cree un campo calculado:

    COUNT(DISTINCT(
    CASE WHEN LOD_INCLUDE{[region]:sum([order amount])}>500000
    then [region]
    else null
    end))

    Desglose:

    1. Calcule el importe de pedidos por región. Asigne a este campo el nombre Region Order Amount: LOD_INCLUDE{[region]:sum([order amount])}

    2. Identifique las regiones donde el importe del pedido supera 500,000: CASE WHEN [Region Order Amount]>500000 then [region] else null end

    3. Finalmente, utilice COUNT(DISTINCT()) para contar los elementos únicos.

  2. Cree gráficos.

    Este ejemplo utiliza un scorecard. También puede crear una cross table para verificar la precisión. En el scorecard, arrastre el nuevo campo al área de métrica o medida. En la cross table, arrastre region al área de filas y order amount al área de columnas. Haga clic en Update. El sistema actualiza los gráficos automáticamente.

    image

    Ahora, cuatro regiones superan los 500,000 en importe de pedidos: Noreste, Este de China, Norte de China y Sur de China.

Ejemplo 7: Importe promedio de ventas provinciales por tipo de producto en 2024

Escenario

Calcule el importe promedio de ventas provinciales por tipo de producto en 2024.

Procedimiento

  1. Cree un campo calculado.

    AVG(
    LOD_INCLUDE{[product type],[province]:
    SUM(IF(YEAR([order date])='2024',[order amount],0))
    }
    )

    Desglose:

    1. Calcule el importe de los pedidos de 2024. Asigne a este campo el nombre 2024 Order Amount: IF(YEAR([order date])='2024',[order amount],0)

    2. Sume las ventas por tipo de producto y provincia: LOD_INCLUDE{[product type],[province],SUM[2024 Order Amount]}

    3. Calcule el promedio.

  2. Cree gráficos.

    Este ejemplo utiliza un scorecard. También puede crear una cross table para verificar la precisión. En el scorecard, arrastre el nuevo campo al área de métrica o medida y arrastre product type al área de etiqueta o dimensión del scorecard. En la cross table, arrastre product type al área de filas y order amount al área de columnas. Filtre por datos de 2024. Haga clic en Update. El sistema actualiza los gráficos automáticamente.

    image

    Ahora, el importe de pedidos de artículos de oficina en 2024 es de 235,600 CNY. El promedio de ventas provinciales es 235,600 ÷ 31 provincias = 7,600 CNY. Los demás tipos de producto siguen la misma lógica.

Ejemplo 8: Recuento promedio provincial de clientes por tipo de producto en 2024

Escenario

Este caso es similar a Example 7, pero calcula el recuento promedio de clientes en lugar del promedio de ventas.

Procedimiento

  1. Cree un campo calculado.

    AVG(
    LOD_INCLUDE{[product type],[province]:
    COUNT(DISTINCT(IF(YEAR([order date])='2024',[user id],null)))
    }
    )

    Desglose:

    1. Cuente los clientes de los pedidos de 2024. Asigne a este campo el nombre 2024 Customer Count: IF(YEAR([order date])='2024',[user id],null)

    2. Cuente los clientes por tipo de producto y provincia: LOD_INCLUDE{[product type],[province],SUM[2024 Customer Count]}

    3. Calcule el promedio.

  2. Cree gráficos.

    Este ejemplo utiliza un scorecard. También puede crear una cross table para verificar la precisión. En el scorecard, arrastre el nuevo campo al área de métrica o medida y arrastre product type al área de etiqueta o dimensión del scorecard. En la cross table, arrastre product type al área de filas y Product Type Provincial Customer Count al área de columnas. Filtre por datos de 2024. Haga clic en Update. El sistema actualiza los gráficos automáticamente.

    Product Type Provincial Customer Count=LOD_INCLUDE{[product type],[province]:COUNT(DISTINCT([user id]))}

    image

    Ahora, el recuento provincial de clientes de artículos de oficina en 2024 es de 212. El recuento promedio provincial de clientes es 212 ÷ 31 provincias = 6.839. Los demás tipos de producto siguen la misma lógica.

Ejemplo 9: Tasa de cumplimiento de objetivos y brecha de beneficio por producto y provincia

Escenario

Conociendo los objetivos de beneficio provinciales, analice qué productos cumplen o no con dichos objetivos.

Calcule las brechas de beneficio por producto a nivel provincial. Cuente los productos que alcanzan los objetivos. Cuente el total de productos. Calcule la tasa correspondiente.

Este escenario requiere dos gráficos vinculados. Haga clic en las estadísticas de productos de la izquierda para ver los detalles del producto a la derecha.

Procedimiento

  1. Cree campos calculados.

    1. Campo 1: Product Profit Target Gap

      LOD_INCLUDE{[product] : sum([profit]-[profit target])}.

      Significado: calcula la brecha respecto al objetivo de beneficio por producto.

    2. Campo 2: Target Achievement Ratio

      count(distinct 
      case when [Product Profit Target Gap]>0 
      then [product] 
      else null end)
      /count(distinct [product])

      Desglose:

      1. Cuente los productos distintos cuya brecha respecto al objetivo de beneficio sea > 0. Asigne a esto el nombre Products That Meet Targets: count(distinct case when [Product Profit Target Gap]>0 then [product] else null end)

      2. Cuente el total de productos distintos: count(distinct [product])

      3. Divida ambos valores: [Products That Meet Targets]/[Total Products]. Esto da como resultado la Target Achievement Ratio.

  2. Cree gráficos.

    Este ejemplo crea dos gráficos con interacción.

    1. Cree un gráfico de barras para Product Profit Target Gap. Arrastre product al eje de categorías o área de dimensión. Arrastre Product Profit Target Gap al eje de valores o área de medida. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

      image

    2. Cree un gráfico de barras para Target Achievement Ratio. Arrastre province al eje de categorías o área de dimensión. Arrastre Target Achievement Ratio al eje de valores o área de medida. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

      image

    3. Configure la interacción entre los dos gráficos de barras.

      Nota

      En este ejemplo, ambos gráficos utilizan el mismo conjunto de datos. Si la interacción automática está habilitada, los gráficos se vinculan automáticamente. Si está deshabilitada, configure la interacción manual.

      Para más detalles, consulte Interaction.

      Vista previa de la interacción.3.gif

Ahora puede consultar el progreso de los objetivos de beneficio provinciales y qué productos cumplen o no con ellos.

Ejemplo 10: Evaluación del rendimiento de tiendas por región

Escenario

Utilizando datos de ventas y beneficio bruto a nivel de tienda, calcule las ventas totales y el beneficio bruto por región. Calcule también el promedio de ventas y beneficio bruto por tienda. Use filtros para ver el rendimiento a nivel regional o subregional.

Procedimiento

  1. Cree campos calculados.

    1. Campo 1: Store Gross Profit=LOD_INCLUDE{[store name]:sum([gross profit])}

    2. Campo 2: Store Sales Amount=LOD_INCLUDE{[store name]:sum([sales amount])}

  2. Cree un gráfico.

    Este ejemplo utiliza una cross table con formato condicional.

    1. En la tabla cruzada, arrastre Parent Region y Sub-region al área de filas. En el área de columnas, añada dos campos Store Gross Profit: uno configurado en Average y otro en Sum. Añada dos campos Store Sales Amount: uno configurado en Average y otro en Sum.

      image

    2. Etiquete Store Gross Profit (Average) y Store Sales Amount (Average) como Per Store. Etiquete Store Gross Profit (Sum) y Store Sales Amount (Sum) como Total.

    3. En Style → Cell → Metric Grouping, configure Metric Grouping.

      image

    4. Aplique formato condicional para mejorar la presentación visual. Este ejemplo configura las cuatro columnas de la siguiente manera:image

    5. Haga clic en Update. El sistema actualiza el gráfico automáticamente.image

Ahora puede consultar las ventas totales y por tienda, así como el beneficio bruto de cada región.

Ejemplo 11: Evaluación regional basada en el rendimiento provincial

Escenario

Por provincia, calcule las ventas por región. Cuente las provincias cuyas ventas superen un umbral (configurable mediante filtro). Calcule también el total de clientes en esas provincias y el promedio de clientes por provincia. Modifique el umbral para ver los resultados actualizados.

Nota

Este ejemplo utiliza un marcador de posición de valor. Para detalles de uso, consulte Value Placeholders.

Procedimiento

  1. Cree campos calculados.

    1. Campo 1: Qualified Province Count

      count(distinct 
      case when LOD_INCLUDE{[province]:sum([order amount])} > $val{ord_amt_level} 
      then [province] 
      else null
      end)

      Desglose:

      1. Calcule el importe de pedidos por provincia: LOD_INCLUDE{[province]:sum([order amount])}. Asigne a esto el nombre Province Order Amount.

      2. Devuelva la provincia si Province Order Amount > marcador de posición de valor ord_amt_level. De lo contrario, devuelva null: case when [Province Order Amount]> $val{ord_amt_level} then [province] else null end. Asigne a esto el nombre Qualified Provinces.

      3. Cuente las provincias calificadas distintas: count(distinct [Qualified Provinces]).

    2. Campo 2: Total Customers in Qualified Provinces

      count(distinct 
      case when lod_include{[province]:sum([order amount])} > $val{ord_amt_level} 
      then [customer ID] 
      else null 
      end)

      Desglose:

      1. Calcule el importe de pedidos por provincia: LOD_INCLUDE{[province]:sum([order amount])}. Asigne a esto el nombre Province Order Amount.

      2. Devuelva el ID de cliente si Province Order Amount > marcador de posición de valor ord_amt_level. De lo contrario, devuelva null: case when [Province Order Amount]> $val{ord_amt_level} then [customer ID] else null end. Asigne a esto el nombre Customers in Qualified Provinces.

      3. Cuente los Customers under Province distintos. Fórmula: count(distinct [Customers under Province])

    3. Campo 3: Average Customers Per Province = [Total Customers in Qualified Provinces] ÷ [Qualified Province Count].

  2. Cree gráficos.

    1. Cree una cross table. Arrastre region al área de filas. Arrastre Province Count, Province Customer Count y Average Customers Per Province al área de columnas.

    2. Añada un filtro de consulta interna. Configure el filtro en importe de ventas provinciales. Vincúlelo al marcador de posición de valor ord_amt_level. Establezca el valor predeterminado en 100000.image

    3. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

      image

Ahora, modifique el importe de ventas provinciales para ver los resultados actualizados.4.gif

Ejemplos de la función EXCLUDE

Una expresión de nivel de detalle EXCLUDE realiza el cálculo después de eliminar las dimensiones especificadas.

Ejemplo 1: Participación de ventas provinciales dentro de la región

Escenario

Al analizar las ventas a nivel provincial dentro de una región, también necesita conocer las ventas totales de la región y la participación de ventas de cada provincia. Utilice EXCLUDE para calcular las ventas regionales excluyendo la provincia actual. Luego sume para obtener el total de la región.

Procedimiento

  1. Cree un campo calculado.

    Expresión del campo: LOD_EXCLUDE{[province]:SUM([order amount])}

    Significado: calcula las ventas regionales excluyendo la provincia actual.

    image

  2. Cree un gráfico.

    Este ejemplo utiliza una tabla cruzada. Arrastre order amount y Regional Total Sales al área de columnas. Arrastre region y province al área de filas. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

    image.png

Ahora puede consultar tanto los importes de pedidos a nivel provincial como las ventas totales regionales.

Ejemplo 2: Diferencia entre los promedios de zona de ventas y zona de batalla

Escenario

Una empresa de ventas tiene siete zonas de batalla nacionales. Cada zona contiene varias zonas de ventas por provincia. Al cierre del año, compare rápidamente el promedio de beneficio de ventas de cada provincia con el promedio general de su zona de batalla. Identifique las zonas con mejor y peor rendimiento. Utilice expresiones de nivel de detalle y formato condicional para generar este informe.

Este ejemplo utiliza LOD_EXCLUDE para calcular la diferencia entre los promedios de zona de ventas y zona de batalla.

Procedimiento

  1. Cree un campo calculado.

    1. Expresión del campo: AVG(LOD_EXCLUDE{[province]:AVG([price])})

      Significado: partiendo de la configuración original, excluya las regiones de ventas de la granularidad de agregación y calcule el promedio de ventas en las granularidades restantes. Esta expresión calcula el promedio de ventas para cada región, como el Este de China.

    2. Reste el resultado LOD de AVG([price]): AVG([price]) - AVG(LOD_EXCLUDE{[province]:AVG([price])}). Esto proporciona la diferencia entre cada zona de ventas y el promedio de su zona de batalla.

      image

  2. Cree un gráfico.

    Este ejemplo utiliza una tabla cruzada.

    1. Arrastre el campo Province Average Difference al área de columnas. Arrastre area y province al área de filas.

    2. En Style → Conditional Formatting, configure este campo en rojo si es > 0 y en verde si es < 0.

      image.png

    3. Haga clic en Update. El sistema actualiza el gráfico automáticamente.

      image.png

Ahora se observa que Shanghái, Anhui, Jiangsu y Fujian superan el promedio del Este de China. Shanghái lidera la lista. Shandong, Jiangxi y Zhejiang quedan por debajo y requieren mejoras.

Reglas de condiciones de filtro

LOD_FIXED + Filtros externos

  • Resultados no afectados por filtros

    Expresión del campo LOD_FIXED_1: LOD_FIXED{[region]: SUM([order amount])}

    Filtro: shipping method = “truck”

    Explicación del resultado: Como se muestra a continuación, el importe total de pedidos de la región Noreste es de 527,400 CNY. Sin filtro externo, o con shipping method = “truck”, el total del Noreste se mantiene en 527,400 CNY. Los filtros no afectan los resultados.

    Conclusión: Los filtros no relacionados con las dimensiones de agregación LOD no afectan los resultados.

    image

  • Resultados afectados por filtros

    Expresión del campo LOD_FIXED_2: LOD_FIXED{[region], [product type], [shipping method]: SUM([order amount])}

    Filtro: shipping method = “truck”

    Explicación del resultado: Como se muestra a continuación, el total de Noreste–artículos de oficina es de 150,800 CNY (suma de camión: 35,540 CNY, tren: 103,100 CNY y aéreo: 12,110 CNY). Con shipping method = “truck”, Noreste–artículos de oficina pasa a ser 35,540 CNY, que corresponde al importe de Noreste–artículos de oficina–camión.

    Conclusión: Los filtros que coinciden con las dimensiones de agregación LOD afectan los resultados debido a la agregación secundaria.

    image

LOD + Filtros internos

Conclusión: Los filtros internos que coinciden con la granularidad LOD se aplican a todos los datos relacionados. De lo contrario, solo se aplican al campo LOD.

  • LOD_FIXED

    • Expresión del campo LOD_FIXED_3: LOD_FIXED{[region], [product type], [shipping method]: SUM([order amount]): [order level]='intermediate'}

      Resultado del cálculo: Como se muestra en la siguiente figura, el importe de pedidos para Región Noreste → Artículos de oficina → Tarjeta grande es 35,070. Este monto representa los datos filtrados por pedidos con nivel de pedido Intermedio; es decir, el importe de pedidos para Región Noreste → Artículos de oficina → Tarjeta grande → Intermedio.

      image

    • Expresión del campo LOD_FIXED_4: LOD_FIXED{[region], [product type], [shipping method]: SUM([order amount]): [shipping method]='truck'}

      Resultado: Como se muestra a continuación, el importe de pedidos de Noreste–artículos de oficina–camión es de 355,400 CNY. Cuando los filtros internos coinciden con la granularidad LOD, LOD_FIXED filtra por envíos en camión.

      image

  • LOD_INCLUDE

    LOD_EXCLUDE y LOD_INCLUDE siguen la misma lógica. Este ejemplo utiliza LOD_INCLUDE.

    image

    • Expresión del campo LOD_INCLUDE_1: LOD_INCLUDE{: SUM([order amount]): [order level]='intermediate'}

      Resultado del cálculo: Como se muestra en la siguiente figura, tomando la región Noreste como ejemplo, el importe de pedidos para 'Región Noreste-Artículos de oficina-Tarjeta grande' es 35,070. Este monto se obtiene al filtrar por pedidos con nivel 'Medio', representando específicamente 'Región Noreste-Artículos de oficina-Tarjeta grande-Medio'.

    • Expresión del campo LOD_INCLUDE_2: LOD_INCLUDE{: SUM([order amount]): [shipping method]='truck'}

      Resultado: Como se muestra a continuación, el importe de pedidos de Noreste–artículos de oficina–camión es de 355,400 CNY. Cuando los filtros internos coinciden con la granularidad LOD, LOD_INCLUDE filtra por envíos en camión.