Diseño técnico - Ventas brutas
Objetivo
Documentar el diseño técnico del proceso NB_Silver_Ventas_Brutas, describiendo la arquitectura de procesamiento, componentes, objetos intermedios, dependencias y estrategia de carga utilizada para construir y mantener la tabla as4_fact_ventas en la capa Silver.
Alcance
Dentro del alcance
- Parametrización del notebook mediante widgets.
- Preparación de funciones auxiliares utilizadas durante el procesamiento.
- Construcción de objetos ODS intermedios.
- Procesamiento de las corrientes transaccionales NFD y APCXNVO.
- Generación de dimensiones auxiliares internas del proceso.
- Enriquecimiento con dimensiones y tablas consumidas.
- Consolidación de información en
stg_ventas_ODS. - Carga incremental de la tabla final
as4_fact_ventas.
Contenido principal
Descripción general
El proceso muestra un flujo de procesamiento compuesto por la construcción de objetos ODS intermedios, la generación de dimensiones auxiliares, el procesamiento de las corrientes transaccionales NFD y APCXNVO, la consolidación de la información en staging y la carga incremental de la tabla final.
Durante la ejecución se construyen objetos ODS auxiliares, se procesan las corrientes transaccionales, se realizan enriquecimientos mediante dimensiones consumidas por el proceso, se calculan medidas comerciales y se consolida la información en stg_ventas_ODS antes de su persistencia en cat_master_alpura.sch_silver_layer.as4_fact_ventas.
Componentes técnicos
| Componente | Descripción |
|---|---|
| Widgets | Parametrizar la ejecución mediante w_StartDate, w_EndDate, w_catalog, w_schema origin y w_schema destiny. |
| Fuentes transaccionales | Proveer las corrientes transaccionales NFD y APCXNVO. |
| ODS intermedios | Almacenar resultados temporales utilizados durante el procesamiento. |
| Dimensiones auxiliares | Generar información complementaria de rutas y promociones. |
| Dimensiones maestras | Enriquecer la información de ventas mediante lookups de cliente, producto, depósito, canal, ejecutivo y tipo de venta. |
| Staging | Consolidar ambas corrientes transaccionales en stg_ventas_ODS antes de la carga final. |
| Tabla de hechos | Persistir la información consolidada en as4_fact_ventas. |
Dependencias
Se identificaron las siguientes dependencias asociadas al proceso:
Notebook principal
- NB_Silver_Ventas_Brutas
Dimensiones entregadas por DBC
- NB_Silver_DS_Channel
- NB_Silver_DS_Client
- NB_Silver_DS_Periodo
- NB_Silver_DS_Productos(SIDEFF)
- NB_Silver_Dim_Date
- Dim_depositos
Librerías compartidas
Se identificó el uso de librerías compartidas mediante:
%run /Workspace/Shared/Alpura_DEV/00_Framework/NB_FRAMEWORK_LIBRARIES
Persistencia
Persistencia Delta Lake mediante saveAsTable y proceso incremental basado en DELETE + APPEND.
Funciones auxiliares
Se identifica las siguientes funciones auxiliares utilizadas durante el procesamiento:
- Función
- GetDateInNumber
- safe_divide
- div_proyeccion_dVta
Objetos ODS Intermedios
Durante la ejecución se construyen los siguientes objetos ODS:
| Objeto | Construcción / Uso identificado |
|---|---|
as4_mcterut_ODS | Construido desde as4_mcterut y as4_mcten, filtrando clientes activos con STSCTE = 'A'. |
as4_mlispren_ODS | Construido desde as4_mlispren, filtrando por rango de FECPRO. |
as4_apcxnvo_ODS | Construido a partir de as4_apcxnvo y una agregación de as4_mlispren_ODS. |
as4_rutas_ODS | Construido a partir de rutas consolidadas desde NFD y APCXNVO. |
as4_promo_ODS | Generado a partir de los cve_promo de NFD. |
as4_alpsigin_ODS | Construido desde as4_alpsigin para exclusión de registros en APCXNVO por anti-join. |
stg_ventas_ODS | Staging consolidado generado a partir de la unión de NFD y APCXNVO. |
Dimensiones Auxiliares Generadas
El proceso genera o actualiza las siguientes dimensiones auxiliares internas:
| Objeto | Descripción |
|---|---|
as4_dim_rutas | Dimensión generada después de consolidar rutas desde NFD y APCXNVO. |
as4_dim_promo | Dimensión generada a partir de as4_promo_ODS y enriquecida con as4_adpdepc. |
Clasificación de objetos
Dimensiones documentadas (con DBC entregado)
| Objeto | Resultado identificado del DBC |
|---|---|
| snw_dim_canal | Notebook NB_Silver_DS_Channel actualiza/reconstruye cat_master_alpura.sch_bronze_layer.snw_dim_canal |
| snw_dim_clientes | Notebook NB_Silver_DS_Client reconstruye cat_master_alpura.sch_bronze_layer.snw_dim_clientes |
| oon_bi_dwh_periodos | Notebook NB_Silver_DS_Periodo actualiza cat_master_alpura.sch_bronze_layer.oon_bi_dwh_periodos |
| as4_dim_productos_sideff | Notebook NB_Silver_DS_Productos(SIDEFF) genera cat_master_alpura.sch_bronze_layer.as4_dim_productos_sideff |
| V_Cat_Date / V_Dim_Date / V_Cat_Date_ESP / V_Dim_Date_ESP | Notebook NB_Silver_Dim_Date genera vistas de calendario |
| snw_deposit | Notebook Dim_depositos actualiza cat_master_alpura.sch_bronze_layer.snw_deposit |
Tablas Migradas Consumidas sin Trazabilidad Completa
Los siguientes objetos son consumidos por el notebook principal, pero no fue posible identificar completamente su construcción a partir de los DBC entregados.
| Objeto | Observación |
|---|---|
snw_dim_fuente | Consumida en el notebook principal; no se proporcionó DBC de construcción |
snw_dim_ejecutivos_vtas | Consumida en el notebook principal; no se proporcionó DBC de construcción |
snw_dim_tipo_venta | Consumida en el notebook principal; no se proporcionó DBC de construcción |
snw_dim_productos | Consumida en el notebook principal; el DBC entregado genera as4_dim_productos_sideff, no snw_dim_productos |
v_dim_date_esp | Consumida como vista Gold; el DBC de fechas entregado genera V_Dim_Date_ESP, por lo que se asume dependencia relacionada pero no idéntica |
Flujo técnico
-
Lectura de parámetros, se obtienen los parámetros necesarios para la ejecución mediante widgets configurados en el notebook, parámetros identificados:
- w_StartDate
- w_EndDate
- w_catalog
- w_schema origin
- w_schema destiny
-
Inicialización del proceso, se ejecutan tareas de preparación, incluyendo limpieza de caché y definición de funciones auxiliares utilizadas durante el procesamiento, funciones identificadas:
- GetDateInNumber
- safe_divide
- div_proyeccion_dVta
-
Construcción de ODS auxiliares, se generan los objetos intermedios requeridos para el procesamiento de las corrientes transaccionales, objetos generados:
- as4_mcterut_ODS
- as4_mlispren_ODS
- as4_apcxnvo_ODS
- as4_nfd_ODS
- as4_rutas_ODS
- as4_promo_ODS
- as4_alpsigin_ODS
-
Construcción de dimensiones auxiliares, se generan dimensiones internas utilizadas durante el enriquecimiento de la información, dimensiones generadas:
- as4_dim_rutas
- as4_dim_promo
-
Procesamiento de la corriente NFD, se construye aplicando filtros de producto, enriquecimientos mediante dimensiones y cálculos de medidas comerciales, actividades identificadas:
- Unión con as4_mpro.
- Filtro de NUMFAM not in (54,96).
- Lookups a cliente, depósito, fuente, producto, fecha, ruta, canal y ejecutivo.
- Cálculo de métricas comerciales.
-
Procesamiento de la corriente APCXNVO, se construye aplicando transformaciones, enriquecimientos y exclusiones de registros, actividades identificadas:
- Recalculo de
impbto. - Generación de
cve_promo. - Exclusión mediante anti-join con
as4_alpsigin_ODS. - Lookups a cliente, depósito, cliente-distribuidor, fuente, producto, fecha, ruta, canal, ejecutivo y tipo de venta.
- Recalculo de
-
Homologación y consolidación, ambas corrientes son transformadas a una estructura común y consolidadas en un único staging, objeto generado:
stg_ventas_ODS- Operación identificada: unionByName
-
Filtrado y preparación de la carga, el staging consolidado es filtrado utilizando el rango de fechas recibido y se agregan los atributos requeridos para la persistencia final, actividades identificadas:
- Filtro por rango de fechas.
- Asignación de Origen = 'AS400'.
- Conversión al esquema final.
-
Carga incremental de la fact, se actualiza la tabla de hechos mediante un mecanismo incremental basado en eliminación y reinserción de registros dentro del rango procesado.
- Tabla destino: cat_master_alpura.sch_silver_layer.as4_fact_ventas
- Estrategia identificada: DELETE + APPEND por CveFecha
Diagrama de flujo técnico
Gobierno y trazabilidad
Se permite identificar los siguientes mecanismos de control y trazabilidad:
- Parámetros de reproceso:
w_StartDateyw_EndDatepermiten acotar la ventana afectada. - Se crean objetos ODS intermedios que facilitan trazabilidad operacional:
as4_mcterut_ODS,as4_mlispren_ODS,as4_apcxnvo_ODS,as4_nfd_ODS,as4_rutas_ODS,as4_promo_ODS,as4_alpsigin_ODSystg_ventas_ODS. - La tabla final se actualiza por eliminación y reinserción del rango, lo que simplifica re-procesos controlados.
- No se observó en el DBC lógica explícita de bitácora, auditoría técnica o notificación de fallo.
Consideraciones técnicas
- El proceso depende de la disponibilidad de las fuentes transaccionales AS400 utilizadas para construir las corrientes NFD y APCXNVO.
- La ejecución requiere la correcta configuración de los parámetros de entrada mediante widgets.
- El procesamiento genera objetos ODS intermedios y dimensiones auxiliares utilizados durante la construcción de la fact de ventas.
- La consolidación de la información se realiza mediante la homologación previa de ambas corrientes transaccionales.
- La actualización de la tabla as4_fact_ventas se encuentra acotada al rango de fechas definido en los parámetros de ejecución.
- La carga final utiliza una estrategia incremental basada en eliminación y reinserción de registros para el periodo reprocesado.
La construcción de la tabla as4_fact_ventas requiere la integración de múltiples objetos ODS, dimensiones auxiliares y dimensiones consumidas por el proceso. La información resultante se consolida en stg_ventas_ODS antes de ser persistida mediante una carga incremental sobre el rango de fechas procesado.
Artefactos relacionados
| Artefacto | Descripción |
|---|---|
| Diseño Funcional - Ventas_Brutas | Documenta la arquitectura funcional, componentes y dependencias del proceso. |
| Fuentes - Ventas_Brutas | Documenta las fuentes de información consumidos por el proceso. |
| Operación - Ventas_Brutas | Describe los controles operativos y actividades de soporte del proceso. |
| Pipelines - Ventas_Brutas | Describe la secuencia de ejecución y procesamiento de datos. |
| Reglas de Negocio - Ventas_Brutas | Describe las reglas apliacadas durante la conformación de la dimensión. |
| Tablas - Ventas_Brutas | Documenta las tablas origen, intermedias y destino involucradas. |
| Validaciones - Ventas_Brutas | Documenta controles y validaciones asociados al proceso. |
Próximos pasos
No se identifican próximos pasos específicos dentro del alcance de este documento.