Урок 1Об'єкти магазинів та локацій: Store_ID, Store_Name, Region, Country, ChannelВизначте об'єкти вимірів магазинів та локацій для аналізу роздрібної торгівлі. Дізнайтесь, як моделювати ідентифікатори магазинів, назви, регіони, країни та канали, та як ці атрибути підтримують географічну та канальну звітність продуктивності.
Store_ID as the store business keyStore_Name standards and cleansingRegion and country hierarchiesChannel classification and mappingLocation attributes for filteringУрок 2Ключі, з'єднання та аліаси: техніки для конформованих вимірів та множинних з'єднань з тією ж таблицеюМоделюйте ключі, з'єднання та аліаси для підтримки конформованих вимірів. Дізнайтесь, як з'єднувати спільні виміри з кількома фактами, уникати циклів та використовувати аліаси таблиць для представлення різних ролей чи шляхів у схемі всесвіту.
Natural versus surrogate keys in designInner and outer join choicesCreating and using table aliasesResolving join loops with contextsValidating join paths with sample queriesУрок 3Основні об'єкти всесвіту: Sales_Revenue (sum), Units_Sold (sum), Gross_Margin (sum), Discount_Amount (sum)Проектуйте основні заходи фактів продажів, на які покладаються користувачі. Дізнайтесь, як моделювати дохід, одиниці, маржин та знижки як адитивні заходи, визначати поведінку агрегації та документувати бізнес-правила за кожною метрикою у всесвіті.
Business definition of Sales_RevenueUnits_Sold measure and aggregation rulesGross_Margin calculation and validationDiscount_Amount sourcing and logicMeasure formatting and number scalingУрок 4Похідні та обчислені об'єкти: змінні для Margin_Pct, Stock_Turnover, Days_of_Inventory, Slow_Mover_FlagСтворюйте похідні та обчислені об'єкти, що інкапсулюють бізнес-логіку. Дізнайтесь, як будувати відсоток маржі, оборотність запасів, дні запасів та прапорці повільних товарів, зберігаючи формули придатними для підтримки та добре документованими.
Margin_Pct formula and rounding rulesStock_Turnover calculation optionsDays_of_Inventory business definitionSlow_Mover_Flag thresholds and logicValidating derived metrics with samplesУрок 5Додаткові об'єкти всесвіту: Selling_Price (detail), Cost_of_Goods_Sold (detail), Stock_Level (snapshot), Stock_Value (calculated)Моделюйте додаткові детальні та знімкові заходи, що збагачують аналіз. Дізнайтесь, як відображати ціну продажу, собівартість реалізованої продукції, рівень запасів та вартість запасів, та розуміти, коли використовувати детальні об'єкти проти агрегованих у звітах.
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 objectsУрок 6Обробка множинних таблиць фактів: типи з'єднань, контексти та аліаси для запобігання фан-пасткам та хазм-пасткамОбробляйте множинні таблиці фактів безпечно в одному всесвіті. Дізнайтесь стратегії з'єднань, контексти та аліаси для уникнення фан-пасток та хазм-пасток, забезпечуючи, що комбіновані звіти продажів та запасів повертають точні, недубльовані результати.
Identifying fan and chasm trap patternsJoin strategies for multiple fact tablesUsing contexts to isolate fact combinationsAliases to separate incompatible joinsTesting combined sales and stock queriesУрок 7Об'єкти вимірів: Product_ID, SKU, Product_Category, Product_Subcategory, BrandПроектуйте надійні об'єкти вимірів продуктів для аналізу. Дізнайтесь, як відображати ID, SKU, категорії, підкатегорії та бренди, керувати повільно змінюваними атрибутами та забезпечувати послідовні згортання продуктів по всіх таблицях фактів.
Product_ID as primary business keySKU granularity and uniquenessProduct_Category hierarchy designProduct_Subcategory relationshipsBrand attributes and reporting useУрок 8Запобігання подвійному підрахунку: визначення чіткого зерна, використання aggregate-aware контекстів, пояснення напів-адитивних заходівЗрозуміти, як запобігати подвійному підрахунку в агрегованих звітах. Дізнайтесь визначати чіткий зерно факту, використовувати aggregate-aware об'єкти та контексти, та правильно обробляти напів-адитивні заходи, такі як запаси та баланси з часом.
Defining a clear and consistent fact grainAggregate-aware measures and objectsDesigning and using universe contextsSemi-additive measures across timeTesting reports for hidden double countingУрок 9Об'єкти часу: Calendar_Date, Fiscal_Year, Fiscal_Period, Week, Month_To_Date_FlagПроектуйте об'єкти вимірів часу для гнучкого аналізу періодів. Дізнайтесь, як відображати календарні дати, фіскальні роки, фіскальні періоди, тижні та прапорці, такі як month-to-date, забезпечуючи послідовні часові фільтри та порівняння.
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 periodsУрок 10Зерно факту та моделювання: визначення факту продажів на рівні транзакцій проти знімка запасів, наслідки зернаВизначте та документуйте зерно факту для кожної таблиці. Дізнайтесь різницю між фактами продажів на рівні транзакцій та знімками запасів, та як вибір зерна впливає на агрегації, шляхи деталізації та продуктивність звітів.
Transaction-level sales fact definitionStock snapshot fact grain and timingGrain alignment across related factsImpact of grain on aggregationsDocumenting grain for report designersУрок 11Визначення предметних областей: факт продажів, факт запасів, майстер продуктів, майстер магазинів, вимір календаряВизначте бізнес-предметні області, що керують проектуванням всесвіту. Дізнайтесь, як дані продажів, запасів, продуктів, магазинів та календаря мапуються на таблиці фактів та вимірів, та як це розділення підтримує гнучку, послідовну звітність.
Sales fact subject area definitionStock fact subject area definitionProduct master as a conformed dimensionStore master and location coverageCalendar dimension business requirementsУрок 12Поля аудиту та lineage: Data_Source, Load_Timestamp, Record_Status для усунення несправностей та узгодженняВведіть поля аудиту та lineage у всесвіт. Дізнайтесь, як Data_Source, Load_Timestamp та Record_Status підтримують усунення несправностей, узгодження та довіру користувачів, та як їх відображати без плутанини кінцевих користувачів.
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