Skip to main content

Diseño técnico - Dim Productos

Objetivo

Documentar el diseño técnico del proceso Dim Producto, incluyendo la arquitectura identificada, los componentes involucrados, los objetos generados, las dependencias técnicas y el flujo de integración utilizado para conformar la dimensión maestra de productos en Databricks.

Alcance

Dentro del alcance

  • Descripción de la arquitectura técnica del proceso.
  • Identificación de notebooks, objetos y salidas documentadas.
  • Descripción del flujo técnico de preparación, construcción de catálogos auxiliares e integración final.
  • Identificación de tablas, vistas temporales y dependencias utilizadas.
  • Descripción general del modelo de datos asociado a la dimensión maestra de productos.

Fuera de alcance

  • Definición funcional del proceso.
  • Reglas de negocio detalladas.
  • Runbook operativo.
  • Validaciones de calidad de datos.
  • Metadata para SharePoint.
  • YAML completo del proceso

Contenido principal

Descripción general

Este documento concentra el diseño técnico del proceso DIM PRODUCTOS, incluyendo la arquitectura identificada, los componenetes principales, las dependencias técnicas y el modelo de datos asociado a la dimensión maestra de productos.

El flujo técnico se organiza en tres etapas principales: preparación de insumos, construcción de catálogos auxiliares e integración final. La salida principal del proceso es snw_dim_productos, mientras que snw_dim_product_es corresponde a la vista de consumo en Gold.

Arquitectura general

El proceso Dim Producto corresponde a una dimensión compuesta con una etapa de preparación de insumos, una etapa de construcción de catálogos auxiliares y una etapa de integración final.

Arquitectura del Proceso

EtapaObjeto / NotebookDescripción
Preparación baseDIM_PRODUCTOS_PART_1Crea tablas base desde Oracle/AS400 y normaliza la estructura del producto.
Catálogos auxiliaresDIM_CATEGORIA, DIM_SUBCATEGORIA, DIM_SEGMENTO,DIM_SUBSEGMENTO, DIM_FAMILIA, DIM_GRUPO, DIM_MARCA, DIM_DESTINO, DIM_PROCESO, DIM_CARACTERISTICAS, DIM_PRESENTACIONExtraen valores distintos desde MTL_PRODUCTOS y aplican lógica de inserts / updates sobre dimensiones existentes.
Integración finalDIM_PRODUCTOS_PARTE_2Cruza producto base con dimensiones, conversiones y valores default para construir query_product.
Persistenciasnw_dim_productosSobreescritura Delta de la dimensión maestra.
Consumo Goldsnw_dim_product_esVista Gold sobre snw_dim_productos.

Flujo Técnico

  1. Seleccionar catálogo y schema de trabajo.
  2. Crear ALP_TML_PRODUCT_PT a partir de la fuente Oracle/MTL de productos.
  3. Crear MPRO a partir de información AS400 enriquecida con catálogos auxiliares.
  4. Crear AS400_MPRO como estructura normalizada de productos AS400.
  5. Crear MTL_PRODUCTOS con atributos jerárquicos y operativos de producto.
  6. Construir subdimensiones a partir de MTL_PRODUCTOS.
  7. Construir información de conversiones desde ebs_alp_bi_dem_conversiones_v.
  8. Construir Qry_JoinPrd para integrar productos Oracle/AS400.
  9. Construir Qry_OraProductos mediante lookup a dimensiones auxiliares.
  10. Construir Qry_cveas400 para completar campos de mapeo y valores default.
  11. Construir Query_8 y query_product como estructura previa a persistencia.
  12. Persistir snw_dim_productos mediante full join con la dimensión existente.
  13. Crear la vista Gold snw_dim_product_es.

Componentes Técnicos

NotebookObjeto / salidaTipoLógica identificada
DIM_PRODUCTOS_PART_1cat_master_alpura.sch_bronze_layer.MTL_PRODUCTOSBronze staging de productos Oracle/AS400Crea ALP_TML_PRODUCT_PT desde ebs_alp_mtl_product_pt2; crea MPRO con joins a as4_mfam y as4_mpre; normaliza AS400_MPRO; crea MTL_PRODUCTOS.
DIM_PRODUCTOS_PARTE_2cat_master_alpura.sch_bronze_layer.snw_dim_productosDimensión maestra de productosConstruye conversiones, Qry_JoinPrd, Qry_OraProductos, Qry_cveas400, Query_8 y query_product; hace full join con snw_dim_productos; sobrescribe la tabla Delta final.
DIM_PRODUCTOS_PARTE_2cat_master_alpura.sch_gold_layer.snw_dim_product_esVista de consumo en GoldVista directa sobre cat_master_alpura.sch_bronze_layer.snw_dim_productos.
DIM_CATEGORIAcat_master_alpura.sch_bronze_layer.as4_dim_categoriaCatálogo de categoríaExtrae categorías desde MTL_PRODUCTOS y compara contra snw_dim_categoria para inserts/updates.
DIM_SUBCATEGORIAcat_master_alpura.sch_bronze_layer.as4_dim_subcategoriaCatálogo de subcategoríaRelaciona SOP_SUBCAT con categoría mediante as4_dim_categoria y compara contra snw_dim_subcategoria.
DIM_SEGMENTOcat_master_alpura.sch_bronze_layer.as4_dim_segmentoCatálogo de segmentoExtrae segmentos desde MTL_PRODUCTOS y compara contra snw_dim_segmento.
DIM_SUBSEGMENTOcat_master_alpura.sch_bronze_layer.as4_dim_subsegmentosCatálogo de subsegmentoRelaciona subsegmentos con as4_dim_segmento y compara contra snw_dim_subsegmentos.
DIM_FAMILIAcat_master_alpura.sch_bronze_layer.as4_dim_familiaCatálogo de familiaExtrae familia desde MTL_PRODUCTOS y compara contra snw_dim_familia.
DIM_GRUPOcat_master_alpura.sch_bronze_layer.as4_dim_grupoCatálogo de grupoExtrae grupo desde MTL_PRODUCTOS, genera nuevos CVE_GRUPO y deduplica.
DIM_MARCAcat_master_alpura.sch_bronze_layer.as4_dim_marcaCatálogo de marcaExtrae marca desde MTL_PRODUCTOS y compara contra snw_dim_marca.
DIM_PRESENTACIONNo se identifica write final en el DBCCatálogo de presentaciónConstruye Qry_Present y Qry_PresentSOP; prepara lógica de comparación/deduplicación. El DBC visible no contiene saveAsTable final.
DIM_PROCESONo se identifica write final en el DBCCatálogo de procesoConstruye DIM_PROCESO y dim_final; deduplica por ID_PROCESO/PROCESO. El DBC visible no contiene saveAsTable final.
DIM_CARACTERISTICASNo se identifica write final en el DBCCatálogo de característicaConstruye DIM_CARACTERISTICA y dim_caracteristica_final. El DBC visible no contiene saveAsTable final.
DIM_DESTINOcat_master_alpura.sch_bronze_layer.as4_dim_destinoCatálogo de destinoExtrae destino desde MTL_PRODUCTOS y compara contra snw_dim_destino.

Modelo de Datos

El modelo corresponde a una dimensión maestra de producto con dependencias hacia catálogos auxiliares. La tabla central identificada es snw_dim_productos.

EntidadRolLlave / Relación identificada
snw_dim_productosDimensión maestra finalID_PRO e ID_PNVA se usan en el full join contra query_product.
as4_dim_destinoLookup producto destinoCVE_DESTINO / DESTINO.
as4_dim_grupoLookup grupo de productoCVE_GRUPO / ID_GRUPO.
as4_dim_procesoLookup procesoCVE_PROCESO / ID_PROCESO.
as4_dim_marcaLookup marcaCVE_MARCA / ID_MARCA.
as4_dim_familiaLookup familiaCVE_FAMILIA / ID_FAMILIA.
as4_dim_subcategoriaLookup subcategoríaCVE_SUBCATEGORIA / ID_SUBCATEGORIA.
as4_dim_categoriaLookup categoríaCVE_CATEGORIA / ID_CATEGORIA.
as4_dim_segmentoLookup segmentoCVE_SEGMENTO / ID_SEGMENTO.
as4_dim_subsegmentosLookup subsegmentoCVE_SUBSEGMENTOS / ID_SUBSEGMENTOS.
as4_dim_presentacionLookup presentaciónCVE_PRESENTACION / ID_PRESENTACION.
as4_dim_caracteristicaLookup característicaCVE_CARACTERISTICA / ID_CARACTERISTICA.

Dependencias Técnicas

TipoDependencia
Vista/temporalQUERY_1
Vista/temporalODS_PRODUCTOS_CONVERSIONES
Vista/temporalQry_JoinPrd
Vista/temporalQry_OraProductos
Vista/temporalQry_cveas400
Vista/temporalQuery_8
Vista/temporalquery_product
Vista/temporalDIM_CARACTERISTICA
Vista/temporalDIM_PROCESO
Vista/temporalDIM_GRUPO
Vista/temporalQry_Segmento
Vista/temporalQry_CatSOP_2
Vista/temporalQry_SubSegmento
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_destino
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_grupo
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_proceso
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_marca
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_familia
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_subcategoria
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_categoria
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_segmento
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_subsegmentos
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_tipo
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_grupo_mermas
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_presentacion
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_caracteristica
Lookupcat_master_alpura.sch_bronze_layer.as4_cat_estatus
Lookupcat_master_alpura.sch_bronze_layer.alp_tml_product_pt

Consideraciones Técnicas

  • El orden de ejecución es crítico: MTL_PRODUCTOS debe existir antes de ejecutar las subdimensiones y DIM_PRODUCTOS_PARTE_2.
  • Algunos notebooks de subdimensión generan dataframes finales, pero el DBC visible no muestra saveAsTable final.
  • La dimensión final utiliza overwrite Delta, por lo que un error en query_product puede impactar toda la tabla snw_dim_productos
  • Los valores default de claves deben validarse con negocio, especialmente CVE_PROCESO=27 y claves 0.
  • No se identificó workflow, frecuencia, SLA ni responsable operativo dentro de los DBC proporcionados.

Artefactos relacionados

ArtefactoDescripción
Diseño Funcional - Dim ProductoDescribe el objetivo funcional, alcance y flujo funcional del proceso.
Fuentes - Dim ProductoDocumenta las fuentes de información consumidos por el proceso.
Operación - Dim ProductoDescribe los controles operativos y actividades de soporte del proceso.
Pipelines - Dim ProductoDescribe la secuencia de ejecución y procesamiento de datos.
Reglas de Negocio - Dim ProductoDescribe las reglas apliacadas durante la conformación de la dimensión.
Tablas - Dim ProductoDocumenta las tablas origen, intermedias y destino involucradas.
Validaciones - Dim ProductoDocumenta controles y validaciones asociados al proceso.

Próximos pasos

  • Confirmar si los notebooks DIM_PRESENTACION, DIM_PROCESO y DIM_CARACTERISTICAS cuentan con persistencia final no visible en los DBC analizados.
  • Identificar workflow, frecuencias, SLA y responsable operativo del proceso.
  • Validar con negocio los valores default utilizados en claves dimensionales.