Generate Documentation
CIIDCIID-ReportsG3GitHub
  • Introduction to Generate
  • User Guide
    • Getting Started
      • Requesting Generate
      • User Roles and Logging In
      • Navigating Generate
    • Resources
    • Data Population Summary
      • Producing Reports
      • Reports
      • Running Reports
    • Standard Reports
      • EDFacts Reports
        • Creating Submission Files
      • SPP/APR Reports
      • Reports Library
    • Settings
      • Toggle
      • Update
      • Metadata
      • Data Migration
    • Quality Assurance
    • Support
  • Developer Guides
    • Getting Started
    • Installation
      • OAuth Configuration
      • Configuring Metadata Updates
      • Subfolder configuration
      • Optional Installations
      • Azure Installation Guide
      • Upgrade
        • Generate Update
        • Optional Installations
    • Migration
      • Fact Type Table
        • Assessment Fact Type
        • Child Count Fact Type
        • Directory Fact Type
        • Discipline Fact Type
        • Exiting Fact Type
        • Membership
        • Staff
    • Generate Utilities
      • File Comparison
        • Loading Files
        • Run the File Comparison
        • Reviewing Results
        • Researching Mismatches
      • Staging Validation
        • Staging Table Validation Process
      • Rebuild Indexes
      • Cleanup Grades Offered
      • Cleanup Debug Tables
      • Source System Reference Data Mapping Utility
        • Source System Reference Data
      • Staging Table Snapshot
      • Fact Type Table Validation Process
      • Debug Views for Staging and the Fact tables
    • Generate Architecture
    • GitHub Guide
    • Discord Guide
    • Working With Generate Code
      • Migration Stored Procedures
        • Staging.RUN_DMC
        • RDS.Get_MembershipReportData
        • Staging.Staging-to-DimPeople
        • Staging.Staging-To-DimPeople_K12Students
        • Staging.Staging-to-FactK12ProgramParticipations
        • Staging.Staging-To-FactK12SeclusionsOrRestraints
        • Staging.Staging-to-FactK12StudentCounts_ChildCount
        • Staging.Staging-to-FactK12StudentCounts_Chronic
        • Staging.Staging-to-FactK12StudentCounts_Dropout
        • Staging.Staging-to-FactK12StudentCounts_GraduationRate
        • Staging.Staging-to-FactK12StudentCounts_Homeless
        • Staging.Staging-to-FactK12StudentCounts_HSGradPSEnroll
        • Staging.Staging-to-FactK12StudentCounts_Membership
        • Staging.Staging-to-FactK12StudentCounts_MigrantEducationProgram
        • Staging.Staging-to-FactK12StudentCounts_NeglectedOrDelinquent
        • Staging.Staging-to-FactK12StudentCounts_SpecEdExit
        • Staging.Staging-to-FactK12StudentCourseSections
        • Staging.Staging-to-FactK12StudentDisciplines
        • Staging.Staging-to-FactK12StudentEnrollments
        • Staging.Staging-To-FactSpecialEducation
      • Unit Test By File Spec
        • App.DimK12Staff_TestCase
        • App.DimK12Students_TestCase
        • App.FS002_TestCase
        • App.FS005_TestCase
        • App.FS006_TestCase
        • App.FS007_TestCase
        • App.FS009_TestCase
        • App.FS032_TestCase
        • App.FS033_TestCase
        • App.FS040_TestCase
  • Release Notes
    • Introduction
    • Release Notes 12.4
    • Release Notes 12.3
    • Release Notes 12.2
    • Release Notes 12.1
    • Archive
      • Release Notes 12.0
      • Release Notes 11.4
      • Release Notes 11.3
      • Release Notes 11.2
      • Release Notes 11.1
      • Release Notes 11.0
      • Release Notes 5.3
        • Generate 5.3 Office Hour
      • Release Notes 5.2
        • Generate 5.2 Office Hour
      • Release Notes 5.1
        • Generate 5.1 Office Hour
      • Release Notes 5.0
        • Generate 5.0 Office Hour
      • Release Notes 4.1
      • Release Notes 4.0
      • Release Notes 3.8
      • Release Notes 3.7
      • Release Notes 3.6
      • Release Notes 3.5
      • Release Notes 3.4
      • Release Notes 3.3
      • Release Notes 3.2
      • Release Notes 3.1
      • Release Notes 3.0
      • Release Notes 2.4
    • Release Notes 12.3
  • Hot Fixes
    • Hot Fix - 4/13/2023
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Developer Guides
  2. Generate Utilities

Fact Type Table Validation Process

Data is migrated from the State’s source system into the Generate staging environment and then to the Fact and Dimension tables by Fact Type.

PreviousStaging Table SnapshotNextDebug Views for Staging and the Fact tables

Last updated 9 months ago

Was this helpful?

If you are unfamiliar with how Generate defines Fact Types review the page.

In a star schema database, the Fact table is a combination of the appropriate Dimension table data. The Fact table allows the user to slice and dice the data depending on which dimensions they return.

In Generate, the Fact table stores all the relevant data used by the report migration to populate the aggregated counts in the report table. Using Child Count as our example again, when the second migration (RDS) runs the data from Staging is populated into the dimension tables and ultimately into the Fact table, RDS.FactK12StudentCounts. That Fact table is also used by other reports for Homeless, Membership, etc. So, there are columns in the Fact table that are used for one report and not another.

The Fact table view will do two things. First, it will limit the results to only the columns that are relevant to the Fact Type and second, it will translate the Dimension table ID that is stored in the Fact Table back to the actual data values to make it easier to see and interact with the data.

The view uses the same column names from the Dimension tables so you can qualify your query of the view to get more specific information like all the students in a school, all the students with a specific disability type, or just a single student.

NOTE: At this point in the migration process the data has been successfully migrated into the Fact and Dimension tables. There are 2 types of dimension tables. The first is a slowly changing dimension and examples of that are DimPeople, DimLeas, and DimK12Schools. That data can change over time and when you query data in the Fact table that comes from one of those, you would use the value as-is in the staging table.

The other type of dimension table is called a junk dimension table. It is basically a way to group related data into a single table to reduce the number of dimension tables that need to be maintained and reduce bloat in the Fact table.

The junk dimension tables in Generate store both the translated CEDS value and the EDFacts value.

If the data element you want to use comes from one of those the view uses the EDFacts value as shown below for IDEA Disability Type.

select * from [debug].[vwChildCount_FactTable]
select * from [debug].[vwChildCount_FactTable] where SchoolIdentifierSea = '1234'
select * from [debug].[vwChildCount_FactTable] where IdeaDisabilityTypeEdFactsCode = 'AUT'
select * from
Fact Type Table