Add anonymized architecture, governance examples, diagrams, and interview materials.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2.1 KiB
2.1 KiB
Quotation Semantic Layer - Data Flow DAG
SAP Source -> Snowflake -> dbt Transforms -> Semantic Views -> Cortex -> Chatbot Output
graph LR
SAP["🗄️ SAP ERP System
(Sales & Discount Data)"]
EXT["📥 Snowflake<br/>External Stage"]
RAW["raw.quotations<br/>raw.discount_conditions"]
STG["STAGING Layer<br/>stg_quotes<br/>stg_discount_conditions<br/>stg_product_master"]
TRF["TRANSFORM Layer<br/>trf_quotation<br/>trf_chatbot_quotation"]
DIM["Reference Dimensions<br/>dim_customer_discount_policy<br/>dim_product_portfolio<br/>fct_agreement_discounts"]
SEMA["SEMANTIC LAYER<br/>sv_quotation<br/>sv_chatbot_quotation"]
CORTEX["Cortex Analytics<br/>Guardrails & Information Protection<br/>Access Control<br/>Freshness Contract"]
UI["Snowflake UI<br/>(BI Dashboard)"]
CHAT["🤖 Internal Workspace<br/>(Chatbot)"]
SAP -->|Daily Batch 05:00 UTC| EXT
EXT -->|Load| RAW
RAW -->|Column mapping<br/>Type casting| STG
STG -->|Join dimensions<br/>Calculate discounts<br/>Apply governance flags| TRF
DIM -->|Enrich with policies| TRF
TRF -->|Expose semantic<br/>business logic<br/>Hide implementation| SEMA
SEMA -->|Apply guardrails<br/>Protect sensitive information<br/>Enforce freshness| CORTEX
CORTEX -->|Query & Visualize| UI
CORTEX -->|LLM consumption<br/>Prompt engineering layer| CHAT
CHAT -->|<1 min<br/>Quote Answers| USER["👤 Sales & Ops<br/>Team"]
UI -->|Dashboard<br/>Reporting| OPS["📊 Operations<br/>Team"]
SEMA -.->|Data Contract<br/>Lineage| AUDIT["🔒 Audit & Compliance<br/>- Access logs<br/>- Policy changes<br/>- Exception escalations"]
style SAP fill:#d4a574
style CORTEX fill:#ff9999
style SEMA fill:#99ccff
style CHAT fill:#99ff99
style USER fill:#ffcc99
style AUDIT fill:#cc99ff
classDef layer_raw fill:#e1e4e8 classDef layer_stg fill:#d0d7de classDef layer_trf fill:#adb8c1 classDef layer_sema fill:#6e7681
class RAW layer_raw class STG layer_stg class TRF layer_trf class SEMA layer_sema