Les 1Winkel- en locatie-objecten: Store_ID, Store_Name, Region, Country, ChannelDefinieer winkel- en locatie-dimensie-objecten voor retail-analyse. Leer hoe je winkel-identifiers, namen, regio's, landen en kanalen modelleert, en hoe deze attributen geografische en kanaal-prestatie-rapportage ondersteunen.
Store_ID as the store business keyStore_Name standards and cleansingRegion and country hierarchiesChannel classification and mappingLocation attributes for filteringLes 2Sleutels, joins en aliassen: technieken voor conformed dimensies en meerdere joins naar dezelfde tabelModelleer sleutels, joins en aliassen om conformed dimensies te ondersteunen. Leer hoe je gedeelde dimensies aan meerdere feiten joint, loops vermijdt en tabel-aliassen gebruikt om verschillende rollen of paden in het universe-schema te representeren.
Natural versus surrogate keys in designInner and outer join choicesCreating and using table aliasesResolving join loops with contextsValidating join paths with sample queriesLes 3Kern universe-objecten: Sales_Revenue (sum), Units_Sold (sum), Gross_Margin (sum), Discount_Amount (sum)Ontwerp kernverkopen feit-maatregelen waarop gebruikers vertrouwen. Leer hoe je omzet, eenheden, marge en kortingen modelleert als additieve maatregelen, aggregatiegedrag definieert en bedrijfsregels achter elke metric documenteert in de universe.
Business definition of Sales_RevenueUnits_Sold measure and aggregation rulesGross_Margin calculation and validationDiscount_Amount sourcing and logicMeasure formatting and number scalingLes 4Afgeleide en berekende objecten: variabelen voor Margin_Pct, Stock_Turnover, Days_of_Inventory, Slow_Mover_FlagCreëer afgeleide en berekende objecten die bedrijfslogica inkapselen. Leer hoe je margepercentage, voorraadomzet, dagen voorraad en slow-mover vlaggen bouwt terwijl formules onderhoudbaar en goed gedocumenteerd blijven.
Margin_Pct formula and rounding rulesStock_Turnover calculation optionsDays_of_Inventory business definitionSlow_Mover_Flag thresholds and logicValidating derived metrics with samplesLes 5Aanvullende universe-objecten: Selling_Price (detail), Cost_of_Goods_Sold (detail), Stock_Level (snapshot), Stock_Value (calculated)Modelleer aanvullende detail- en snapshot-maatregelen die analyse verrijken. Leer hoe je verkoopprijs, kostprijs van verkochte goederen, voorraadniveau en voorraadwaarde blootstelt, en begrijp wanneer je detail versus geaggregeerde objecten in rapporten gebruikt.
Selling_Price as a detail objectCost_of_Goods_Sold sourcing and rulesStock_Level as a snapshot measureStock_Value as a calculated measureChoosing detail versus aggregated objectsLes 6Behandeling van meerdere feit-tabellen: join-types, contexten en aliassen om fan-traps en chasm-traps te voorkomenBehandel meerdere feit-tabellen veilig binnen één universe. Leer join-strategieën, contexten en aliassen om fan- en chasm-traps te vermijden, zodat gecombineerde verkopen- en voorraadrapporten nauwkeurige, niet-gedubbelde resultaten opleveren.
Identifying fan and chasm trap patternsJoin strategies for multiple fact tablesUsing contexts to isolate fact combinationsAliases to separate incompatible joinsTesting combined sales and stock queriesLes 7Dimensie-objecten: Product_ID, SKU, Product_Category, Product_Subcategory, BrandOntwerp robuuste product-dimensie-objecten voor analyse. Leer hoe je ID's, SKU's, categorieën, subcategorieën en merken blootstelt, langzaam veranderende attributen beheert en consistente product-rollups over alle feit-tabellen garandeert.
Product_ID as primary business keySKU granularity and uniquenessProduct_Category hierarchy designProduct_Subcategory relationshipsBrand attributes and reporting useLes 8Voorkomen van dubbele telling: definiëren van duidelijke graan, gebruik van aggregate-aware contexten en uitleg van semi-additieve maatregelenBegrijp hoe je dubbele telling in geaggregeerde rapporten voorkomt. Leer een duidelijke feit-graan te definiëren, aggregate-aware objecten en contexten te gebruiken, en semi-additieve maatregelen zoals voorraad en balansen over tijd correct te behandelen.
Defining a clear and consistent fact grainAggregate-aware measures and objectsDesigning and using universe contextsSemi-additive measures across timeTesting reports for hidden double countingLes 9Tijd-objecten: Calendar_Date, Fiscal_Year, Fiscal_Period, Week, Month_To_Date_FlagOntwerp tijd-dimensie-objecten voor flexibele periode-analyse. Leer hoe je kalenderdata, fiscale jaren, fiscale periodes, weken en vlaggen zoals maand-tot-datum blootstelt, voor consistente tijdgebaseerde filters en vergelijkingen.
Calendar_Date as the base time keyFiscal_Year and Fiscal_Period mappingWeek and month attributes for groupingMonth_To_Date_Flag logic and usageHandling holidays and special periodsLes 10Feit-graan en modellering: definiëren van transactie-niveau verkopen-feit vs voorraad-snapshot-feit, graan-implicatiesDefinieer en documenteer feit-graan voor elke tabel. Leer het verschil tussen transactie-niveau verkopen-feiten en voorraad-snapshot-feiten, en hoe graan-keuzes aggregaties, drill-paden en rapport-prestaties beïnvloeden.
Transaction-level sales fact definitionStock snapshot fact grain and timingGrain alignment across related factsImpact of grain on aggregationsDocumenting grain for report designersLes 11Identificeren van onderwerpsgebieden: Sales fact, Stock fact, Product master, Store master, Calendar dimensionDefinieer de bedrijfs-onderwerpsgebieden die de universe-ontwerp aansturen. Leer hoe verkopen-, voorraad-, product-, winkel- en kalenderdata mappen naar feit- en dimensie-tabellen, en hoe deze scheiding flexibele, consistente rapportage ondersteunt.
Sales fact subject area definitionStock fact subject area definitionProduct master as a conformed dimensionStore master and location coverageCalendar dimension business requirementsLes 12Auditing- en lineage-velden: Data_Source, Load_Timestamp, Record_Status voor troubleshooting en reconciliatieVoeg auditing- en lineage-velden toe aan de universe. Leer hoe Data_Source, Load_Timestamp en Record_Status troubleshooting, reconciliatie en gebruikersvertrouwen ondersteunen, en hoe je ze blootstelt zonder eindgebruikers te verwarren.
Purpose of Data_Source in reportingUsing Load_Timestamp for recency checksRecord_Status for active or deleted rowsDesigning audit objects for power usersReconciliation techniques using audit data