Version 1.17.2

Intro

The following documentation describes the data dictionary for the Canvas Data warehouse. Following typical data warehouse conventions, the database records from canvas are transformed into a fact and dimension tables. Put succinctly, fact tables contain measurements and dimension tables contain the different dimensions that can be used to slice and aggregate the data (see Dimensional Modeling). Canvas Data mostly adheres to a Star schema convention, which means that most of the relations should only be one join away (see Star schema). These tables are either available as a set of flat files or hosted in a Amazon Redshift instance which is optimized for a range of analytical queries. For help with Canvas Data, please try posting on the JIVE forum. For more information on Canvas Data, please contact your CSM.

Notes

  • All timestamps in Canvas Data are UTC

assignment_fact

Table contains measures related to assignments.

Type: fact

Columns

NameTypeDescription
assignment_idbigintForeign key to assignment dimension
course_idbigintForeign key to the course associated with this assignment
course_account_idbigintForeign key to the account associated with the course associated with this assignment
enrollment_term_idbigintForeign Key to enrollment term table
points_possibledouble precisionTotal points possible for the assignment
peer_review_countintThe number of pears to assign for review if using algorithmic assignment
assignment_group_idbigintForeign key to the assignment group dimension table.

assignment_group_fact

Measures for assignment_groups.

Type: fact

Columns

NameTypeDescription
assignment_group_idbigintForeign key to the assignment group dimension table.
course_idbigintForeign key to the course to which the assignment group belongs to.
group_weightdouble precisionWeight of the assignment group. Reflects the value populated in the '% of total grade' field in Canvas while creating the assignment group.

assignment_override_fact

Table contains measures related to assignment overrides. Overrides can be found in the assignment_override_dim. Overrides are primarily the dates about the assigmnents for a given group of assignees.

Type: fact

Columns

NameTypeDescription
assignment_override_idbigintUnique surrogate ID for the assignment_override.
account_idbigintForeign key to the account associated with the course associated with this assignment.
assignment_idbigintForeign key to the assignment the override is associated with. May be empty.
assignment_group_idbigintForeign key to the assignment group dimension table.
course_idbigintForeign key to the course associated with this assignment.
course_section_idbigintForeign key to the course_section.
enrollment_term_idbigintForeign Key to enrollment term table.
group_idbigintForeign key to the group.
group_category_idbigint(Not implemented) Foreign key to group category dimension table.
group_parent_account_idbigintIf the group is directly associated with an account, this is the id.
nonxlist_course_idbigintThe course ID for the original course if this course has been cross listed.
quiz_idbigintForeign key to the quiz the override is associated with. May be empty.
group_wiki_idbigintForeign key to the wiki_dim table.

assignment_override_user_fact

Table contains measures related to students for whom an assignment override exists.

Type: fact

Columns

NameTypeDescription
assignment_override_user_idbigintUnique surrogate ID for the assignment_override_student. Is made up by adding a large number to the ID of the source table.
account_idbigintForeign key to the account associated with the course associated with this assignment.
assignment_group_idbigintForeign key to the assignment group dimension this fact is related to
assignment_idbigintForeign key to the assignment the override is associated with. May be empty.
assignment_override_idbigintForeign key to the assignment override dimension this fact is related to
course_idbigintForeign key to the course associated with this assignment.
enrollment_term_idbigintForeign Key to enrollment term table.
quiz_idbigintForeign key to the quiz the override is associated with. May be empty.
user_idbigintForeign key to the user.

assignment_override_user_rollup_fact

Table contains measures related to students for whom an assignment override exists. This table contains the user ids of users for whom an override was created. There are 3 ways a user can be included, via an adhoc form, via a group membership, or a course section. All three are included here.

Type: fact

Columns

NameTypeDescription
assignment_idbigintForeign key to the assignment the override is associated with. May be empty.
assignment_override_idbigintThe ID of the assignment_override for this override user.
assignment_override_user_adhoc_idbigintWhen not empty, this field is the ID of the user in the adhoc group table.
assignment_group_idbigintForeign key to the assignment group dimension table.
course_idbigintForeign key to the course associated with this assignment.
course_account_idbigintForeign key to the account associated with the course associated with this assignment.
course_section_idbigintWhen not empty, this field is the ID of the course_section the user is part of.
enrollment_idbigintWhen not empty, this field is the ID of the enrollment for a course section.
enrollment_term_idbigintForeign Key to enrollment term table.
group_category_idbigintWhen not empty, this field is the ID of the group category the user is part of.
group_idbigintWhen not empty, this field is the ID of the group the user is part of.
group_parent_account_idbigintIf the group is directly associated with an account, this is the id.
group_wiki_idbigintForeign key to the wiki_dim table.
nonxlist_course_idbigintThe course ID for the original course if this course has been cross listed.
quiz_idbigintForeign key to the quiz the override is associated with. May be empty.
user_idbigintForeign key to the user.

communication_channel_fact

Measures for communication channel.

Type: fact

Columns

NameTypeDescription
communication_channel_idbigintForeign key to the communication channel dimension table.
user_idbigintForeign key to the user that owns this communication channel.
bounce_countintegerNumber of permanent bounces since the channel was last reset. If it's greater than 0, then no email is sent to the channel, until it is either reset by a siteadmin or it is removed and re-added by a user.

conversation_message_participant_fact

Fact table for each message in a conversation and each participant

Type: fact

Columns

NameTypeDescription
conversation_message_idbigintForeign key to the message dimension for the associated message.
conversation_idbigintForeign key to the conversation dimension for the associated conversation
user_idbigintForeign key to the user dimension for the associated user
course_idbigintForeign key to the course dimension for the associated course.
enrollment_term_idbigintForeign Key to enrollment term table
course_account_idbigintForeign Key to the course's account
group_idbigintForeign key to the group dimension for a particular group
account_idbigintForeign key to account_dim
enrollment_rollup_idbigintForeign key to the enrollment roll-up dimension table
message_size_bytesintThe message size in bytes.
message_character_countintThe message size in characters.
message_word_countintThe message size in words using space and common punctuation as word breaks.
message_line_countintThe number of lines in a message.

course_ui_navigation_item_fact

Facts describing a single item in the navigation UI

Type: fact

Columns

NameTypeDescription
root_account_idbigintForeign key to root account of the course
course_ui_navigation_item_idbigintForeign key to course_ui_navigation_item_dim
course_ui_canvas_navigation_idbigintForeign key to navigation function
external_tool_activation_idbigintForeign key to external_tool_activation_dim
course_idbigintForeign key to course
course_account_idbigintForeign key to account for course
enrollment_term_idbigintForeign key to enrollment term

discussion_entry_fact

Measures for discussion entries. Discussion entries are replies in a discussion topic.

Type: fact

Columns

NameTypeDescription
discussion_entry_idbigintForeign key to this entries attributes.
parent_discussion_entry_idbigintForeign key to the reply that it is nested underneath.
user_idbigintForeign key to the user that created this entry.
topic_idbigintForeign key to associated discussion topic.
course_idbigintForeign key to associated course.
enrollment_term_idbigintForeign Key to enrollment term table
course_account_idbigintForeign key to account for associated course.
topic_user_idbigintForeign key to user that posted the associated discussion topic.
topic_assignment_idbigintForeign key to assignment associated with the entry's discussion topic.
topic_editor_idbigintForeign key to editor associated with the entry's discussion topic.
enrollment_rollup_idbigintForeign key to the enrollment roll-up dimension table
message_lengthintLength of the message in bytes

discussion_topic_fact

Measures for discussion topics/threads.

Type: fact

Columns

NameTypeDescription
discussion_topic_idbigintForeign key to the discussion topic dimension for the associated discussion topic.
course_idbigintForeign key to the course dimension
enrollment_term_idbigintForeign Key to enrollment term table
course_account_idbigint(currently un-populated) Foreign key to the account dimension for the account associated with the associated course
user_idbigintForeign key to the user dimension for the user that created the discussion topic.
assignment_idbigintForeign key to the assignment dimension
editor_idbigintForeign key to the user to last edit the entry, if different than user_id
enrollment_rollup_idbigintForeign key to the enrollment roll-up dimension table
message_lengthintBest guess at the count of characters in the message. Special characters are treated differently in different systems. As a result, you may find variance in message length in your own systems. NULL messages are mapped to 0 length.
group_idbigintForeign key to the group dimension
group_parent_course_idbigintForeign key to course dimension.
group_parent_account_idbigintForeign key to accounts table.
group_parent_course_account_idbigintForeign key to the account dimension for the account associated with the course to which the group belongs to.

enrollment_fact

Measures for enrollments

Type: fact

Columns

NameTypeDescription
enrollment_idbigintForeign key for the attributes of the enrollment
user_idbigintForeign key to the enrolled user
course_idbigintForeign key to the enrolled course
enrollment_term_idbigintForeign key to the enrollment term table
course_account_idbigintForeign key to the account of the enrolled course
course_section_idbigintForeign key to the enrolled section
computed_final_scoredouble precision(Deprecated Jan-28-2017) Scores have migrated to the score_fact table. An effort is made to back fill scores from the scores table into this table. No guarantees offered.
computed_current_scoredouble precision(Deprecated Jan-28-2017) Scores have migrated to the score_fact table. An effort is made to back fill scores from the scores table into this table. No guarantees offered.

external_tool_activation_fact

Facts and denormalized dimensions for external tool (LTI) activations.

Type: fact

Columns

NameTypeDescription
external_tool_activation_idbigintForeign key to the external_tool_activation_dim dimension with attribute for this activation
course_idbigintForeign key to the course if this tool was activated in a course
account_idbigintForeign key to the account this tool was activated in if it was activated in an account
root_account_idbigintForeign key to the root account for this data
enrollment_term_idbigintForeign key to the course's enrollment term if this tool was activated in a course
course_account_idbigintForeign key to the course's account if this tool was activated in a course

file_fact

Measures for files.

Type: fact

Columns

NameTypeDescription
file_idbigintForeign key to this file dimesion table.
account_idbigintForeign key to the account this file belongs to.
assignment_idbigintForeign key to the assignment, the quiz/quiz submission/submission associated with this file belongs to.
assignment_group_idbigintForeign key to the assignment group, the assignment/submission associated with this file belongs to.
conversation_idbigintForeign key to the conversation, the conversation message associated with this file belongs to.
conversation_message_author_idbigintForeign key to the user, who authored the conversation message this file belongs to.
conversation_message_idbigintForeign key to the conversation message this file belongs to.
course_idbigintForeign key to the course, the assignment/quiz/quiz submission/submission associated with this file belongs to.
enrollment_rollup_idbigintForeign key to the enrollment roll-up, the quiz submission/submission associated with this file belongs to.
enrollment_term_idbigintForeign Key to enrollment term, the assignment/conversation message/group/quiz/quiz submission/submission associated with this file belongs to.
folder_idbigintForeign key to the folder this file belongs to.
grader_idbigintForeign key to the user who graded the submission associated with this file.
group_idbigintForeign key to the group this file belongs to.
group_category_idbigint(Not implemented) Foreign key to group category the group associated with this file belongs to.
quiz_idbigintForeign key to the quiz, the quiz/quiz submission associated with this file belongs to.
quiz_submission_idbigintForeign key to the quiz submission this file belongs to.
replacement_file_idbigintForeign key to the file which overwrote/replaced this file. Defaults to 'NULL' when the file was not overwritten/replaced.
root_file_idbigintForeign key to the source file from which this file was copied and created. Defaults to 'NULL' when this is the only copy.
sis_source_idvarcharCorrelated ID for the record for the course, associated with this file, in the SIS system (assuming SIS integration is configured).
submission_idbigintForeign key to the submission this file belongs to.
uploader_idbigintForeign key to the user who uploaded this file. Might contain users which are not in the user dimension table.
user_idbigintForeign key to the user this file belongs to.
wiki_idbigintForeign key to the wiki the conversation message/group/submission associated with this file belongs to.
sizebigintSize of this file in bytes.

grading_period_fact

Measures for grading periods.

Type: fact

Columns

NameTypeDescription
grading_period_idbigintUnique surrogate identifier for the grading period.
canvas_idbigintPrimary key for the grading period.
grading_period_group_idbigintForeign key to the grading period group table.
grading_period_group_account_idbigintOne hop ID to the Account table for the grading period group
grading_period_group_course_idbigintOne hop ID to the Course table for the grading period group
weightdouble precisionA weight value that contributes to the overall weight of a grading period set which is used to calculate how much assignments in this period contribute to the total grade.

group_fact

Measures for groups.

Type: fact

Columns

NameTypeDescription
group_idbigintForeign key to the group dimension for a particular group.
parent_course_idbigintForeign key to course dimension.
parent_account_idbigintForeign key to accounts table.
parent_course_account_idbigintForeign key to the account dimension for the account associated with the course to which the group belongs to.
enrollment_term_idbigintForeign key to the enrollment term table for the parent course.
max_membershipintMaximum number of users that can be accommodated in a group.
storage_quotabigintStorage Limit allowed per group.
group_category_idbigint(Not implemented) Foreign key to group category dimension table.
account_idbigintParent account for this group.
wiki_idbigintForeign key to the wiki_dim table.

group_membership_fact

Measures for groups.

Type: fact

Columns

NameTypeDescription
group_idbigintForeign key to the group dimension for a particular group.
parent_course_idbigintForeign key to course dimension.
parent_account_idbigintForeign key to accounts table.
parent_course_account_idbigintForeign key to the account dimension for the account associated with the course to which the group belongs to.
enrollment_term_idbigintForeign key to the enrollment term table for the parent course.
user_idbigintForeign key to the user dimension for the users in the group.
group_membership_idvarcharThe ID of the membership object

module_completion_requirement_fact

Table containing measures related to module completion requirements.

Type: fact

Columns

NameTypeDescription
module_completion_requirement_idbigintUnique surrogate ID for the module completion requirement.
account_idbigintForeign key to the account the module and the module item belong to.
assignment_idbigintAssignment associated with the module item.
assignment_group_idbigintAssignment group associated with the module item.
course_idbigintForeign key to the course associated with this module and the module item.
discussion_topic_idbigintDiscussion topic associated with the module item.
discussion_topic_editor_idbigintEditor of the discussion topic associated with the module item.
enrollment_rollup_idbigintEnrollment rollup associated with the module item.
enrollment_term_idbigintForeign key to the enrollment term associated with this module and the module item.
file_idbigintFile associated with the module item.
module_idbigintModule that contains the completion requirement.
module_item_idbigintItem that is the subject of the completion requirement.
quiz_idbigintQuiz associated with the module item.
user_idbigintUser associated with the module item.
wiki_idbigintForeign key to the wiki associated with this module and the module item.
wiki_page_idbigintWiki page associated with the module_item.
min_scoredouble precisionFor min_score type requirements, the score that must be attained for completion.

module_fact

Table containing measures related to modules.

Type: fact

Columns

NameTypeDescription
module_idbigintForeign key to assignment dimension.
account_idbigintForeign key to the account the module belongs to.
course_idbigintForeign key to the course associated with this assignment.
enrollment_term_idbigintForeign key to the enrollment_term associated with the module_fact course.
wiki_idbigintForeign key to the wiki associated with the module_fact course.

module_item_fact

Table containing measures related to modules_items.

Type: fact

Columns

NameTypeDescription
module_item_idbigintUnique surrogate ID for the module_item.
account_idbigintForeign key to the account the module belongs to.
assignment_idbigintKey into assignments table for 'Assignment', 'DiscussionTopic', 'File', 'Quiz' type items.
assignment_group_idbigintKey into assignment_groups for 'Assignment', 'File' type items.
course_idbigintThe course that owns this module.
discussion_topic_idbigintKey into discussion_topics table for 'DiscussionTopic' type items.
discussion_topic_editor_idbigintKey into users table for user who edited 'DiscussionTopic' type items.
enrollment_rollup_idbigintKey into enrollment_rollup table for user associated with 'DiscussionTopic', 'File' type items.
enrollment_term_idbigintForeign key to the enrollment_term associated with the module course.
file_idbigintKey into file table for 'File' type items.
module_idbigintParent module for this module item.
quiz_idbigintKey into quizzes table for 'File', 'Quiz' type items.
user_idbigintKey into users table for 'DiscussionTopic', 'File', 'WikiPage' type items.
wiki_idbigintKey into wiki table for 'WikiPage' type items.
wiki_page_idbigintKey into wiki_pages table for 'WikiPage' type items.

module_prerequisite_fact

Table containing measures related to module prerequisites.

Type: fact

Columns

NameTypeDescription
module_prerequisite_idbigintUnique surrogate ID for the module prerequisite.
account_idbigintForeign key to the account the module belongs to.
course_idbigintForeign key to the course associated with this assignment.
enrollment_term_idbigintForeign key to the enrollment_term associated with the module_fact course.
module_idbigintModule that contains the prerequisite.
prerequisite_module_idbigintModule that must be completed to fulfill the prerequisite.
prerequisite_wiki_idbigintForeign key to the wiki associated with the module_fact course.
wiki_idbigintForeign key to the wiki associated with the module_fact course.

module_progression_completion_requirement_fact

Table containing measures related to module progression completion requirements.

Type: fact

Columns

NameTypeDescription
module_progression_completion_requirement_idbigintUnique surrogate ID for the module progression completion requirement.
account_idbigintKey to the account associated with the module progression and the module item.
assignment_idbigintKey to the assignment associated with the module item.
assignment_group_idbigintKey to the assignment group associated with the module item.
course_idbigintKey to the course associated with the module progression and the module item.
discussion_topic_idbigintKey to the discussion topic associated with the module item.
discussion_topic_editor_idbigintKey to the user editing the discussion topic associated with the module item.
enrollment_rollup_idbigintKey to the enrollment rollup associated with the module item.
enrollment_term_idbigintKey to the enrollment term associated with the module progression and the module item.
file_idbigintKey to the file associated with the module item.
module_idbigintParent module for this module progression and module item.
module_item_idbigintItem that the user has not completed.
module_progression_idbigintModule progression referenced by the completion requirement.
quiz_idbigintKey to the quiz associated with the module item.
user_idbigintKey to the user associated with the module progression and the module item.
wiki_idbigintKey to the wiki associated with the module progression and the module item.
wiki_page_idbigintKey to the wiki page associated with the module item.
min_scoredouble precisionFor min_score type requirements, the score that must be attained for completion.
scoredouble precisionFor min_score type requirements, the score that the user has currently achieved.

module_progression_fact

Table containing measures related to modules_progression.

Type: fact

Columns

NameTypeDescription
module_progression_idbigintUnique surrogate ID for the module progression.
account_idbigintForeign key to the account the module belongs to.
course_idbigintForeign key to the course associated with this module.
enrollment_term_idbigintForeign key to the enrollment_term associated with the module course.
module_idbigintParent module for this module progression.
user_idbigintUser being tracked in the module progression.
wiki_idbigintForeign key to the wiki associated with the module course.

pseudonym_fact

Type: fact

Columns

NameTypeDescription
pseudonym_idbigintForeign key to pseudonym dimension table
user_idbigintForeign key to user associated with this pseudonym
account_idbigintForeign key to account associated with this pseudonym
login_countintNumber of times a user has logged in with this pseudonym
failed_login_countintNumber of times failed login attempt to this pseudonym

quiz_fact

Measures for quiz.

Type: fact

Columns

NameTypeDescription
quiz_idbigintForeign key to quiz dimension table.
points_possibledouble precisionTotal point value given to the quiz.
time_limitintTime limit, in minutes, to complete the quiz. Set to -1 for no time limit. Defaults to -1.
allowed_attemptsintNumber of attempts allowed to complete the quiz. Set to -1 for unlimited attempts. Defaults to -1.
unpublished_question_countintNumber of questions in the current unpublished version of the quiz.
question_countintNumber of questions in the last published version of the quiz
course_idbigintForeign key to the course the quiz belongs to.
assignment_idbigintForeign key to the assignment the quiz belongs to.
course_account_idbigintForeign key to the account associated with the course associated with this quiz.
enrollment_term_idbigintForeign key to enrollment term the quiz belongs to.

quiz_question_answer_fact

Measures for answers related to a quiz question.

Type: fact

Columns

NameTypeDescription
quiz_question_answer_idbigintForeign key to the quiz question answer dimension table. As with all surrogate keys in Canvas Data, there is no guarantee of stability. That said, this key is particularly unstable and will likely change from dump to dump even if there are no data change.
quiz_question_idbigintForeign key to the quiz question dimension table.
quiz_question_group_idbigintForeign key to the quiz group dimension table.
quiz_idbigintForeign key to the quiz dimension table.
assessment_question_idbigintForeign key to the assessment question dimension table (to be made available in later releases).
course_idbigintForeign key to the course this group's quiz belongs to.
assignment_idbigintForeign key to the assignment the quiz belongs to.
course_account_idbigintForeign key to the account of the course this group belongs to.
enrollment_term_idbigintForeign key to the enrollment term of the course this group belongs to.
weightdouble precisionInteger value to determine correctness of the answer. Incorrect answers should be 0, correct answers should be non-negative.
exactdouble precision(Used in 'numerical_question' with answer type 'exact_answer', set to 'NULL' otherwise) Value the answer must be equal to.
margindouble precision(Used in 'numerical_question' with answer type 'exact_answer', set to 'NULL' otherwise) Margin of error allowed for a student's answer.
starting_rangedouble precision(Used in 'numerical_question' with answer type 'range_answer', set to 'NULL' otherwise) Start of the allowed range (inclusive).
ending_rangedouble precision(Used in 'numerical_question' with answer type 'range_answer', set to 'NULL' otherwise) End of the allowed range (inclusive).

quiz_question_fact

Measures of a question associated with a quiz.

Type: fact

Columns

NameTypeDescription
quiz_question_idbigintForeign key to the quiz question dimension table.
quiz_idbigintForeign key to the quiz dimension table.
quiz_question_group_idbigintForeign key to the quiz group dimension table.
assessment_question_idbigintForeign key to the assessment question dimension table (to be made available in later releases).
course_idbigintForeign key to the course this group's quiz belongs to.
assignment_idbigintForeign key to the assignment the quiz belongs to.
course_account_idbigintForeign key to the account of the course this group belongs to.
enrollment_term_idbigintForeign key to the enrollment term of the course this group belongs to.
points_possibledouble precisionMaximum number of points that can be awarded for answering the question correctly.

quiz_question_group_fact

Measures related to quiz groups.

Type: fact

Columns

NameTypeDescription
quiz_question_group_idbigintForeign key to quiz group.
pick_countintNumber of questions picked from the group for the quiz the group is associated with.
question_pointsdouble precisionNumber of points to assign per question in the group.
quiz_idbigintForeign key to quiz dimension.
course_idbigintForeign key to the course this group's quiz belongs to.
assignment_idbigintForeign key to the assignment the quiz belongs to.
course_account_idbigintForeign key to the account of the course this group belongs to.
enrollment_term_idbigintForeign key to the enrollment term of the course this group belongs to.

quiz_submission_fact

Measures for the last submitted quiz

Type: fact

Columns

NameTypeDescription
scoredouble precisionDenotes the score for this submission. Its value would be NULL when they are in the 'preview', 'untaken' OR 'settings_only' workflow states (since it is associated with quiz moderation events). Or its value should not be NULL when workflow state is either 'complete' or 'pending_review'. It defaults to NULL.
kept_scoredouble precisionFor quizzes that allow multiple attempts, this is the actual score that will be associated with the user for this quiz. This score depends on the scoring policy we have for the submission in the quiz submission dimension table, the workflow state being 'completed' or 'pending_review' and the allowed attempts to be greater than 1. Its value can be NULL when not all these required conditions are met.
datetimestampContains the same value as 'finished_at'. Provided to support backward compatibility with the existing table in production.
course_idbigintForeign key to the course this submission belongs to.
enrollment_term_idbigintForeign key to the enrollment term of the course this submission belongs to.
course_account_idbigintForeign key to the account of the course this submission belongs to.
quiz_idbigintID of the quiz the quiz submission represents. Foreign key to the quiz dimension table.
assignment_idbigintForeign key to the assignment the quiz belongs to.
user_idbigintID of the user (who is a student) who made the submission. Foreign key to the user dimension table.
submission_idbigintID to the submission the quiz submission represents. Foreign key to the quiz submission dimension table.
enrollment_rollup_idbigintForeign key to the enrollment roll-up dimension table.
quiz_submission_idbigintForeign key to the quiz submission dimension table.
quiz_points_possibledouble precisionMaximum points that can be scored in this quiz.
score_before_regradedouble precisionOriginal score of the quiz submission prior to any re-grading. It's NULL if the submission has never been regraded. Defaults to NULL.
fudge_pointsdouble precisionNumber of points the quiz submission's score was fudged (changed) by. Values can be negative or positive. Defaults to 0.
total_attemptsintDenotes the total number of attempts made by the student for the quiz. Is valid only if the quiz allows multiple attempts.
extra_attemptsintNumber of times the student was allowed to re-take the quiz over the multiple-attempt limit.
extra_timeintAmount of extra time allowed for the quiz submission, in minutes.
time_takenintTime taken, in seconds, to finish the quiz.

quiz_submission_historical_fact

Measures for the all submitted quizzes

Type: fact

Columns

NameTypeDescription
scoredouble precisionDenotes the score for this submission. Its value would be NULL when they are in the 'preview', 'untaken' OR 'settings_only' workflow states (since it is associated with quiz moderation events). Or its value should not be NULL when workflow state is either 'complete' or 'pending_review'. It defaults to NULL.
kept_scoredouble precisionFor quizzes that allow multiple attempts, this is the actual score that will be associated with the user for this quiz. This score depends on the scoring policy we have for the submission in the quiz submission dimension table, the workflow state being 'completed' or 'pending_review' and the allowed attempts to be greater than 1. Its value can be NULL when not all these required conditions are met.
datetimestampContains the same value as 'finished_at'. Provided to support backward compatibility with the existing table in production.
course_idbigintForeign key to the course this submission belongs to.
enrollment_term_idbigintForeign key to the enrollment term of the course this submission belongs to.
course_account_idbigintForeign key to the account of the course this submission belongs to.
quiz_idbigintID of the quiz the quiz submission represents. Foreign key to the quiz dimension table.
assignment_idbigintForeign key to the assignment the quiz belongs to.
user_idbigintID of the user (who is a student) who made the submission. Foreign key to the user dimension table.
submission_idbigintID to the submission the quiz submission represents. Foreign key to the quiz submission dimension table.
enrollment_rollup_idbigintForeign key to the enrollment roll-up dimension table.
quiz_submission_historical_idbigintForeign key to the quiz submission dimension table.
quiz_points_possibledouble precisionMaximum points that can be scored in this quiz.
score_before_regradedouble precisionOriginal score of the quiz submission prior to any re-grading. It's NULL if the submission has never been regraded. Defaults to NULL.
fudge_pointsdouble precisionNumber of points the quiz submission's score was fudged (changed) by. Values can be negative or positive. Defaults to 0.
total_attemptsintDenotes the total number of attempts made by the student for the quiz. Is valid only if the quiz allows multiple attempts.
extra_attemptsintNumber of times the student was allowed to re-take the quiz over the multiple-attempt limit.
extra_timeintAmount of extra time allowed for the quiz submission, in minutes.
time_takenintTime taken, in seconds, to finish the quiz.

score_fact

Table containing measures for scores within Canvas gradebook.

Type: fact

Columns

NameTypeDescription
score_idbigintUnique surrogate identifier for the score.
canvas_idbigintPrimary key for the score.
account_idbigintForeign key to the Account group table.
course_idbigintForeign key to the Course group table.
enrollment_idbigintForeign key to the Enrollment table.
grading_period_idbigintForeign key to the grading period group table.
grading_period_group_idbigintForeign key to the grading period group table.
grading_period_group_account_idbigintOne hop ID to the Account table for the grading period group table.
current_scoredouble precisionCurrent score.
final_scoredouble precisionFinal score.

submission_comment_fact

Table contains measures related to the submission comments feature in Canvas.

Type: fact

Columns

NameTypeDescription
submission_comment_idbigintForeign key to the submission comment dimension related to the comment
submission_idbigintForeign key to the submission dimension related to the comment
recipient_idbigint(Deprecated) No longer used in Canvas.
author_idbigintForeign key to the user dimension for the author of the comment
assignment_idbigintForeign key to assignment dimension
course_idbigintForeign key to course dimension of course associated with the assignment.
enrollment_term_idbigintForeign Key to enrollment term table
course_account_idbigintForeign key to the account dimension of the account associated with the course associated with the assignment
message_size_bytesintThe message size in bytes.
message_character_countintThe message size in characters.
message_word_countintThe message size in words using space and common punctuation as word breaks.
message_line_countintThe number of lines in a message.

submission_comment_participant_fact

[Deprecated] This table is based on a table in the canvas application that no longer exists. It will be deprecated in the next major release of Canvas Data.

Type: fact

Columns

NameTypeDescription
submission_comment_participant_idbigint[Deprecated] Foreign key to the submission comment participant dimension
submission_comment_idbigint[Deprecated] Foreign key to the submission comment dimension for the comment
user_idbigint[Deprecated] Foreign key to the user dimension of the user who made the comment
submission_idbigint[Deprecated] Foreign key to the submission dimension related to this participant's comment
assignment_idbigint[Deprecated] Foreign key to assignment dimension
course_idbigint[Deprecated] Foreign key to course dimension of course associated with the assignment.
enrollment_term_idbigint[Deprecated] Foreign Key to enrollment term table
course_account_idbigint[Deprecated] Foreign key to the account dimension of the account associated with the course associated with the assignment
enrollment_rollup_idbigint[Deprecated] Foreign key to the enrollment roll-up dimension table

submission_fact

Type: fact

Columns

NameTypeDescription
submission_idbigintForeign key to submission dimension
assignment_idbigintForeign key to assignment dimension
course_idbigintForeign key to course dimension of course associated with the assignment.
enrollment_term_idbigintForeign Key to enrollment term table
user_idbigintForeign key to user dimension of user who submitted the assignment.
grader_idbigintForeign key to the user dimension of user who graded the assignment.
course_account_idbigint(Deprecated) Foreign key to the account dimension of the account associated with the course associated with the assignment. Please use 'account_id' instead.
enrollment_rollup_idbigintForeign key to the enrollment roll-up dimension table.
scoredouble precisionNumeric grade given to the submission.
published_scoredouble precisionValid only for a graded submission. It reflects the numerical value of the actual score. Referring to our previous example for 'submission_dim.published_grade', let's take two submissions, one for an assignment with a scoring method of 'points' and the other for an assignment with a scoring method of 'letter grade'. If the published grade is '4' out of '5' and 'B' for them, respectively, then they should both have a score of '4' out of '5'. And their 'published_score' values will be identical, '4.0'. Defaults to 'NULL'.
what_if_scoredouble precisionValid only if the student ever entered a 'What If' score for an assignment in the Canvas UI. Only the most recent score entered by the student is stored here. Any time a new score is entered, the existing one is overwritten. Defaults to 'NULL'.
submission_comments_countintReflects the total number of comments on the submission by anyone/everyone, excluding comments that are flagged as 'hidden'.
account_idbigintForeign key to the account the submission belongs to.
assignment_group_idbigintForeign key to the assignment group dimension table.
group_idbigintForeign key to the group_dim table.
quiz_idbigintForeign key to the quiz the quiz submission associated with this submission represents.
quiz_submission_idbigintForeign key to the quiz_submission_dim table.
wiki_idbigintForeign key to the wiki_dim table.

wiki_fact

Measures for wikis.

Type: fact

Columns

NameTypeDescription
wiki_idbigintForeign key to the wiki dimension.
parent_course_idbigintForeign key to the courses table if the wiki is associated with a Course. Otherwise this field is set to NULL.
parent_group_idbigintForeign key to the groups table if the wiki is associated with a Group. Otherwise this field is set to NULL.
parent_course_account_idbigintForeign key to the account dimension for the account associated with the wiki's course. If the wiki is not associated to a Course, this field is set to NULL.
parent_group_account_idbigintForeign key to the account dimension for the account associated with the wiki's group. If the wiki is not associated to a Group, this field is set to NULL.
account_idbigintForeign key to the accounts table that this wiki belongs to. Helpful for directly finding the account associated with the wiki, irrespective of whether it belongs to a Course or a Group.
root_account_idbigintRoot account Id of the account the wiki belongs to. Foreign key to the accounts table.
enrollment_term_idbigintForeign key to the enrollment term table of the course this wiki is associated with. Otherwise this is set to NULL.
group_category_idbigint(Not implemented) Foreign key to the group categories table of the group this wiki is associated with. Otherwise this is set to NULL.

wiki_page_fact

Measures for wiki pages.

Type: fact

Columns

NameTypeDescription
wiki_page_idbigintForeign key to the wiki pages dimension.
wiki_idbigintForeign key to the wikis dimension.
parent_course_idbigintForeign key to the courses table if the wiki that owns the wiki page is associated with a Course. Otherwise this field is set to NULL.
parent_group_idbigintForeign key to the groups table if the wiki that owns the wiki page is associated with a Group. Otherwise this field is set to NULL.
parent_course_account_idbigintForeign key to the account dimension for the account associated with the wiki page's course. If the wiki page is not associated to a Course, this field is set to NULL.
parent_group_account_idbigintForeign key to the account dimension for the account associated with the wiki page's group. If the wiki page is not associated to a Group, this field is set to NULL.
user_idbigintForeign key to the user table.
account_idbigintForeign key to the accounts table that this wiki page belongs to. Helpful for directly finding the account associated with the wiki page, irrespective of whether it belongs to a Course or a Group.
root_account_idbigintRoot account Id of the account the wiki belongs to. Foreign key to the accounts table.
enrollment_term_idbigintForeign key to the enrollment term table of the course this wiki page is associated with. Otherwise this is set to NULL.
group_category_idbigint(Not implemented) Foreign key to the group categories table of the group this wiki page is associated with. Otherwise this is set to NULL.
wiki_page_comments_countint(Deprecated) No longer used in Canvas.
view_countintNumber of views per wiki page.

account_dim

An account object in the Canvas system. Accounts are most often used to represent a hierarchy of colleges, schools, departments, campuses, etc.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for an account
canvas_idbigintPrimary key for this entry in the Canvas accounts table
namevarcharName of the account
depthintDepth of the account in the hierarchy. The root node is at 0.
workflow_statevarcharWorkflow status indicating that account is [deleted] or [active]
parent_accountvarcharName of this account's parent account. This field will be NULL for the root account.
parent_account_idbigintId of this account's parent account. This field will be NULL for the root account.
grandparent_accountvarcharName of this account's grand parent account. This field will be NULL for the root account and all accounts at level 1.
grandparent_account_idbigintId of this account's grand parent account. This field will be NULL for the root account and all subaccounts at level 1.
root_accountvarcharName of the root account associated with this account.
root_account_idbigintId of the root account associated with this account.
subaccount1varcharName of this account's parent at subaccount level 1. If this account is a level 1 account, this will be the name of this account.
subaccount1_idbigintId of this account's parent at subaccount level 1. If this account is a level 1 account, this will be the id of this account.
subaccount2varcharName of this account's parent at subaccount level 2. If this account is a level 2 account, subaccount2 will be the name of this account.
subaccount2_idbigintId of this account's parent at subaccount level 2. If this account is a level 2 account, subaccount2_id will be the id of this account.
subaccount3varcharName of this account's parent at subaccount level 3. If this account is a level 3 account, subaccount3 will be the name of this account.
subaccount3_idbigintId of this account's parent at subaccount level 3. If this account is a level 3 account, subaccount3_id will be the id of this account.
subaccount4varcharName of this account's parent at subaccount level 4. If this account is a level 4 account, subaccount4 will be the name of this account.
subaccount4_idbigintId of this account's parent at subaccount level 4. If this account is a level 4 account, subaccount4_id will be the id of this account.
subaccount5varcharName of this account's parent at subaccount level 5. If this account is a level 5 account, subaccount5 will be the name of this account.
subaccount5_idbigintId of this account's parent at subaccount level 5. If this account is a level 5 account, subaccount5_id will be the id of this account.
subaccount6varcharName of this account's parent at subaccount level 6. If this account is a level 6 account, subaccount6 will be the name of this account.
subaccount6_idbigintId of this account's parent at subaccount level 6. If this account is a level 6 account, subaccount6_id will be the id of this account.
subaccount7varcharName of this account's parent at subaccount level 7. If this account is a level 7 account, subaccount7 will be the name of this account.
subaccount7_idbigintId of this account's parent at subaccount level 7. If this account is a level 7 account, subaccount7_id will be the id of this account.
subaccount8varcharName of this account's parent at subaccount level 8. If this account is a level 8 account, subaccount8 will be the name of this account.
subaccount8_idbigintId of this account's parent at subaccount level 8. If this account is a level 8 account, subaccount8_id will be the id of this account.
subaccount9varcharName of this account's parent at subaccount level 9. If this account is a level 9 account, subaccount9 will be the name of this account.
subaccount9_idbigintId of this account's parent at subaccount level 9. If this account is a level 9 account, subaccount9_id will be the id of this account.
subaccount10varcharName of this account's parent at subaccount level 10. If this account is a level 10 account, subaccount10 will be the name of this account.
subaccount10_idbigintId of this account's parent at subaccount level 10. If this account is a level 10 account, subaccount10_id will be the id of this account.
subaccount11varcharName of this account's parent at subaccount level 11. If this account is a level 11 account, subaccount11 will be the name of this account.
subaccount11_idbigintId of this account's parent at subaccount level 11. If this account is a level 11 account, subaccount11_id will be the id of this account.
subaccount12varcharName of this account's parent at subaccount level 12. If this account is a level 12 account, subaccount12 will be the name of this account.
subaccount12_idbigintId of this account's parent at subaccount level 12. If this account is a level 12 account, subaccount12_id will be the id of this account.
subaccount13varcharName of this account's parent at subaccount level 13. If this account is a level 13 account, subaccount13 will be the name of this account.
subaccount13_idbigintId of this account's parent at subaccount level 13. If this account is a level 13 account, subaccount13_id will be the id of this account.
subaccount14varcharName of this account's parent at subaccount level 14. If this account is a level 14 account, subaccount14 will be the name of this account.
subaccount14_idbigintId of this account's parent at subaccount level 14. If this account is a level 14 account, subaccount14_id will be the id of this account.
subaccount15varcharName of this account's parent at subaccount level 15. If this account is a level 15 account, subaccount15 will be the name of this account.
subaccount15_idbigintId of this account's parent at subaccount level 15. If this account is a level 15 account, subaccount15_id will be the id of this account.
sis_source_idvarcharCorrelated id for the record for this course in the SIS system (assuming SIS integration is configured)

assignment_dim

Attributes for for assignments. There is one record in this table for each assignment. Individual submissions of the assignment are in the submission_dim and submission_fact tables.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the assignment.
canvas_idbigintPrimary key for this record in the Canvas assignments table.
course_idbigintForeign key to the course associated with this assignment
titlevarcharTitle of the assignment
descriptiontextLong description of the assignment
due_attimestampTimestamp for when the assignment is due
unlock_attimestampTimestamp for when the assignment is unlocked or visible to the user
lock_attimestampTimestamp for when the assignment is locked
points_possibledouble precisionTotal points possible for the assignment
grading_typevarcharDescribes how the assignment will be graded (gpa_scale, pass_fail, percent, points, not_graded, letter_grade)
submission_typesvarcharComma separated list of valid methods for submitting the assignment (online_url, media_recording, online_upload, online_quiz, external_tool, online_text_entry, online_file_upload)
workflow_statevarcharCurrent workflow state of the assignment. Possible values are unpublished, published and deleted
created_attimestampTimestamp of the first time the assignment was entered into the system
updated_attimestampTimestamp of the last time the assignment was updated
peer_review_countintThe number of pears to assign for review if using algorithmic assignment
peer_reviews_due_attimestampTimestamp for when peer reviews should be completed
peer_reviews_assignedbooleanTrue if all peer reviews have been assigned
peer_reviewsbooleanTrue if peer reviews are enabled for this assignment
automatic_peer_reviewsbooleanTrue if peer reviews are assigned algorithmically (vs. letting the instructor make manual assignments)
all_daybooleanTrue if A specific time for when the assignment is due was not given. The effective due time will be 11:59pm.
all_day_datedateThe date version of the due date if the all_day flag is true.
could_be_lockedbooleanTrue if the assignment is under a module that can be locked
grade_group_students_individuallybooleanTrue if students who submit work as a group will each receive individual grades (vs one grade that is copied to all group members)
anonymous_peer_reviewsboolean(currently unimplemented, do not use)
mutedbooleanStudent cannot see grades left on the assignment.
assignment_group_idbigintForeign key to the assignment group dimension table.
positionintegerThe sorting order of the assignment in the group
visibilityenumUser sets that can view the assignment. Possible values ('everyone', 'only_visible_to_overrides')

assignment_group_dim

Attributes for assignment_groups.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the assignment group.
canvas_idbigintPrimary key for this record in the Canvas assignment_groups table.
course_idbigintForeign key to the course to which the assignment group belongs to.
namevarcharName of the assignment group. Defaults to 'Assignments' if no name is provided during group creation.
default_assignment_namevarcharDefault name assigned to the assignments in the assignment group if no name is assigned to them during their creation. Also, it is the singularized version of the assignment group name by default (if it's in English).
workflow_statevarcharCurrent workflow state of the assignment groups. Possible values are 'available' and 'deleted'.
positionintegerPosition of the assignment group in the assignment index page. It determines where it should be displayed on the page and where it should be displayed in a new course if the course is cloned.
created_attimestampDate/Time when the assignment group was created.
updated_attimestampDate/Time when the assignment group was last updated.

assignment_group_rule_dim

Rules associated with an assignment group.

Type: dimension

Columns

NameTypeDescription
assignment_group_idbigintForeign key to the assignment group dimension table.
drop_lowestintegerNumber of lowest scored assignments which can be dropped from the group. Set to '0' when none should be dropped. Defauts to '0'.
drop_highestintegerNumber of highest scored assignments which can be dropped form the group. Set to '0' when none should be dropped. Defaults to '0'.

assignment_override_dim

Attributes for assignment_override. There may be many records in this table for each assignment. Use the data in this table to calculate actual due, all_day, lock and unlock dates/times.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the assignment override.
canvas_idbigintPrimary key for this record in the Canvas assignments table.
assignment_idbigintForeign key to the assignment the override is associated with. May be empty.
course_section_idbigintForeign key to the course_section.
group_idbigintForeign key to the group.
quiz_idbigintForeign key to the quiz the override is associated with.
all_dayenumIndicates if the all_day field overrides the original assignment.all_day field for this group of users. Possible values are 'new_all_day' and 'same_all_day'.
all_day_datedateThe new date version of the due date if the all_day flag is true.
assignment_versionintThe version of the assignment this override is applied too.
created_attimestampTimestamp of when the assignment_override was created.
due_attimestampThe new due_at date-time for this group of users.
due_at_overriddenenumIndicates if the due_at field overrides the original assignment.due_at field for this group of users. Possible values are 'new_due_at' and 'same_due_at'.
lock_attimestampThe new lock_at date-time for this group of users.
lock_at_overriddenenumIndicates if the lock_at field overrides the original assignment.lock_at field for this group of users. Possible values are 'new_lock_at' and 'same_lock_at'.
set_typeenumUsed in conjunction with set_id, this field tells us what type of foreign relation is used. Possible values are 'course_section', 'group' and 'adhoc'.
titletextThe title for this assignment_override.
unlock_attimestampThe new unlock_at date-time for this group of users.
unlock_at_overriddenenumIndicates if the unlock_at field overrides the original assignment.unlock_at field for this group of users. Possible values are 'new_unlock_at' and 'same_unlock_at'.
updated_attimestampTimestamp of when the assignment_override was last updated.
quiz_versionintThe version of the quiz this override is applied too.
workflow_stateenumGives the workflow state of this record. Possible values are 'active' and 'deleted'.

assignment_override_user_dim

Table contains measures related to adhoc users for whom an assignment override exists.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the assignment_override_student.
canvas_idbigintThe ID of the user in the adhoc group table.
assignment_idbigintForeign key to the assignment the override is associated with. May be empty.
assignment_override_idbigintForeign key to the assignment override dimension
quiz_idbigintForeign key to the quiz the override is associated with. May be empty.
user_idbigintForeign key to the user.
created_attimestampTimestamp of when the assignment_override_student was created.
updated_attimestampTimestamp of when the assignment_override_student was last updated.

assignment_rule_dim

Rules associated with an assignment.

Type: dimension

Columns

NameTypeDescription
assignment_idbigintID of the assignment which can never be dropped from the group.
drop_rulevarcharDenotes if the assignment can be dropped from the assignment group if the group allows dropping assignments based on certain rules. Is set to 'never_drop' if the assignment is exempted from dropping, else set to 'can_be_dropped'.

communication_channel_dim

Attributes for communication channel.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the communication channel.
canvas_idbigintPrimary key for this communication channel in the communication_channel table.
user_idbigintForeign key to the user that owns this communication channel.
addressvarcharAddress, or path, of the communication channel. Set to 'NULL' for push notifications.
typevarcharDenotes the type of the path. Possible values are 'email', 'facebook', 'push' (device push notifications), 'sms' and 'twitter'. Defaults to 'email'.
positionintegerPosition of this communication channel relative to the user's other channels when they are ordered.
workflow_statevarcharCurrent state of the communication channel. Possible values are 'unconfirmed' and 'active'.
created_attimestampDate/Time when the communication channel was created.
updated_attimestampDate/Time when the communication channel was last updated.

conversation_dim

Attributes for a conversation

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the conversation.
canvas_idbigintOriginal primary key for conversation in the Canvas table
has_attachmentsbooleanTrue if the conversation has attachments
has_media_objectsbooleanTrue if the conversation has media objects
subjectvarcharThe subject of the conversation
course_idbigintThe course that owns this conversation
group_idbigintThe group that owns this conversation
account_idbigintThe account this owns this conversation

conversation_message_dim

Attributes for a message in a conversation

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the message.
canvas_idbigintOriginal ID for canvas table.
conversation_idbigintParent conversation for this message.
author_idbigintUser id of the author of the message.
created_attimestampDate and time this message was created.
generatedbooleanThis attribute is true if the system generated this message (e.g. "John was added to this conversation")
has_attachmentsbooleanTrue if the message has attachments.
has_media_objectsbooleanTrue if the message has media objects.
bodytextThe content of the message.

course_dim

A course in the canvas system

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for a course
canvas_idbigintPrimary key for this course in the canvas courses table.
root_account_idbigintThe root account associated with this course.
account_idbigintThe parent account for this course.
enrollment_term_idbigintForeign key to enrollment term table
namevarcharThe friendly name of the course.
codevarcharThe code for the course (e.g. FA12 MATH 2000)
typevarchardeprecated. No longer used, will always be NULL.
created_attimestampTimestamp when the course object was created in Canvas
start_attimestampTimestamp for when the course starts.
conclude_attimestampTimestamp for when the course finishes
publicly_visiblebooleanTrue if the course is publicly visible
sis_source_idvarcharCorrelated id for the record for this course in the SIS system (assuming SIS integration is configured)
workflow_statevarcharWorkflow status indicating the current state of the course, valid values are: completed (course has been hard concluded), created (course has been created, but not published), deleted (course has been deleted), available (course is published, and not hard concluded), claimed (course has been undeleted, and is not published).
wiki_idbigintForeign key to the wiki_dim table.

course_section_dim

Attributes for a section of a course

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the course section.
canvas_idbigintPrimary key for this record in the Canvas course_sections table.
namevarcharName of the section
course_idbigintForeign key to the associated course
enrollment_term_idbigintForeign key to the associated enrollment term
default_sectionbooleanTrue if this is the default section
accepting_enrollmentsbooleanTrue if this section is open for enrollment
can_manually_enrollbooleanDeprecated
start_attimestampSection start date
end_attimestampSection end date
created_attimestampTimestamp for when this section was entered into the system.
updated_attimestampTimestamp for when the last time the section was updated
workflow_statevarcharLife-cycle state for section. (active, deleted)
restrict_enrollments_to_section_datesbooleanTrue when "Users can only participate in the course between these dates" is checked
nonxlist_course_idbigintThe course id for the original course if this course has been cross listed
sis_source_idvarcharId for the correlated record for the section in the SIS (assuming SIS integration has been properly configured)

course_ui_canvas_navigation_dim

Attributes for a Canvas navigation function

Type: dimension

Columns

NameTypeDescription
idbigintPrimary key for navigational item
canvas_idbigintID in Canvas system
namevarcharName of navigational item
defaultvarchar(Default|NotDefault) - set to Default if this is one of the navigation items enabled in a course by default
original_positionvarcharOriginal position of this navigation item

course_ui_navigation_item_dim

Attributes for a navigation item

Type: dimension

Columns

NameTypeDescription
idbigintPrimary key for navigational item
root_account_idbigintForeign key to root account of the course
visiblevarchar(visible|hidden) Visible if this element is visible, hidden if hidden/not available in the navigation
positionintPosition in the navigation. NULL if hidden.

discussion_entry_dim

Attributes for discussion entries. Discussion entries are replies in a discussion topic.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the discussion entry.
canvas_idbigintPrimary key for this record in the Canvas discussion_entries table
messagetextFull text of the entry's message
workflow_statevarcharWorkflow state for discussion message (values: deleted, active)
created_attimestampTimestamp when the discussion entry was created.
updated_attimestampTimestamp when the discussion entry was updated.
deleted_attimestampTimestamp when the discussion entry was deleted.
depthintReply depth for this entry

discussion_topic_dim

Attributes for discussion topics in Canvas. Discussion topics are logical discussion threads. They can have many discussion entries. They also have their own message text for the message that started the topic.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the discussion topic.
canvas_idbigintPrimary key to the discussion_topics table in Canvas
titlevarcharTitle of the discussion topic
messagetextMessage text for the discussion topic.
typevarcharDiscussion topic type. Two types are default (blank) and announcement.
workflow_statevarcharWorkflow state for this discussion topic. Valid states are unpublished, active, locked, deleted, and post_delayed
last_reply_attimestampTimestamp of the last reply to this topic.
created_attimestampTimestamp when the discussion topic was first saved in the system.
updated_attimestampTimestamp when the discussion topic was last updated in the system.
delayed_post_attimestampTimestamp when the discussion topic was/will be delay-posted
posted_attimestampTimestamp when the discussion topic was posted
deleted_attimestampTimestamp when the discussion topic was deleted.
discussion_typevarcharType of discussion topic: default(blank), side_comment, threaded. threaded indicates that replies are threaded where side_comment indicates that replies in the discussion are flat. See related Canvas Guide https://guides.instructure.com/m/4152/l/60423-how-do-i-create-a-threaded-discussion
pinnedbooleanTrue if the discussion topic has been pinned
lockedbooleanTrue if the discussion topic has been locked
course_idbigintForeign key to the course dimension
group_idbigintForeign key to the group dimension

enrollment_dim

An enrollment represents a user's association with a specific course and section

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the enrollment.
canvas_idbigintPrimary key for this record in the Canvas enrollments table
root_account_idbigintRoot account id associated with this enrollment
course_section_idbigintForeign key to the course section for this enrollment
role_idbigintForeign key to the role of the person enrolled in the course
typevarcharEnrollment type: TaEnrollment, DesignerEnrollment, StudentEnrollment, TeacherEnrollment, StudentViewEnrollment, ObserverEnrollment
workflow_statevarcharWorkflow state for enrollment: active, completed, rejected, deleted, invited, creation_pending
created_attimestampTimestamp for when this section was entered into the system.
updated_attimestampTimestamp for when the last time the section was updated
start_attimestampEnrollment start date
end_attimestampEnrollment end date
completed_attimestampEnrollment completed date
self_enrolledbooleanEnrollment was created via self-enrollment
sis_source_idvarchar(Deprecated) No longer used in Canvas.
course_idbigintForeign key to course for this enrollment
user_idbigintForeign key to user for the enrollment
last_activity_attimestampLast time the enrolled user viewed content or took action in the enrolled course

enrollment_rollup_dim

Would be an empty table. Roll-up aggregating the roles held by the users in the courses they are associated with.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the user and the course.
user_idbigintForeign key to the enrolled user.
course_idbigintForeign key to the enrolled course.
enrollment_countintTotal number of enrollments associated with the user in the course for his/her all roles under all base roles, duplicate or not.
role_countintTotal number of unique roles associated with the user in the course.
base_role_countintTotal number of unique base roles associated with the user in the course.
account_admin_role_countintTotal number of 'AccountAdmin' roles associated with the user in the course.
teacher_enrollment_role_countintTotal number of 'TeacherEnrollment' roles associated with the user in the course.
designer_enrollment_role_countintTotal number of 'DesignerEnrollment' roles associated with the user in the course.
ta_enrollment_role_countintTotal number of 'TaEnrollment' roles associated with the user in the course.
student_enrollment_role_countintTotal number of 'StudentEnrollment' roles associated with the user in the course.
observer_enrollment_role_countintTotal number of 'ObserverEnrollment' roles associated with the user in the course.
account_membership_role_countintTotal number of 'AccountMembership' roles associated with the user in the course.
no_permissions_role_countintTotal number of 'NoPermissions' roles associated with the user in the course.
account_admin_enrollment_idbigintEnrollment ID if this a valid role for the user in the course, else NULL.
teacher_enrollment_enrollment_idbigintEnrollment ID if this a valid role for the user in the course, else NULL.
designer_enrollment_enrollment_idbigintEnrollment ID if this a valid role for the user in the course, else NULL.
ta_enrollment_enrollment_idbigintEnrollment ID if this a valid role for the user in the course, else NULL.
student_enrollment_enrollment_idbigintEnrollment ID if this a valid role for the user in the course, else NULL.
observer_enrollment_enrollment_idbigintEnrollment ID if this a valid role for the user in the course, else NULL.
account_membership_enrollment_idbigintEnrollment ID if this a valid role for the user in the course, else NULL.
no_permissions_enrollment_idbigintEnrollment ID if this a valid role for the user in the course, else NULL.
most_privileged_rolevarcharThe most privileged role associated with the user in the course.
least_privileged_rolevarcharThe least privileged role associated with the user in the course.

enrollment_term_dim

Enrollment term describes the term or semester associated with courses (e.g. Fall 2013)

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the enrollment term.
canvas_idbigintPrimary key for this record in the Canvas enrollments table.
root_account_idbigintForeign key to the root account for this enrollment term
namevarcharName of the enrollment term
date_starttimestampTerm start date
date_endtimestampTerm end date
sis_source_idvarcharCorrelated SIS id for this enrollment term (assuming SIS has been configured properly)

external_tool_activation_dim

Attributes for external tool (LTI) activations. Note that activations can happen on courses or accounts. If this activation is associated with a course then course_id, course_account_id and enrollment_term_id will be populated. If this activation is associated with an account then only account_id will be populated.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for tool activations
canvas_idbigintPrimary key for this record in the context_external_tools table in the Canvas database
course_idbigintForeign key to the course if this tool was activated in a course
account_idbigintForeign key to the account this tool was activated in if it was activated in an account
activation_target_typevarcharThe type of object the tool was activated in, (course or account)
urlvarcharThe URL to where the tool may launch to
namevarcharThe name of tool activation as entered by the user
descriptionvarcharThe description of the tool activation as entered by the user
workflow_statevarcharWorkflow state for activation (active, deleted)
privacy_levelvarcharPrivacy setting for activation (name_only, email_only, anonymous, public)
created_attimestampTimestamp when the activation was created
updated_attimestampTimestamp when the activation was last updated
tool_idvarcharThe tool id received from the external tool. May be missing if the tool does not send an id.
selectable_allbooleantrue - tool is selectable in all scenarios. false - not selectable for assignment or module selection menu

file_dim

Attributes for files.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for this file.
canvas_idbigintPrimary key for this file in the attachments table.
display_nametextName of this file.
account_idbigintForeign key to the account this file belongs to.
assignment_idbigintForeign key to the assignment this file belongs to.
conversation_message_idbigintForeign key to the conversation message this file belongs to.
course_idbigintForeign key to the course this file belongs to.
folder_idbigintForeign key to the folder this file belongs to.
group_idbigintForeign key to the group this file belongs to.
quiz_idbigintForeign key to the quiz this file belongs to.
quiz_submission_idbigintForeign key to the quiz submission this file belongs to.
replacement_file_idbigintID of the overwriting file if this file is overwritten.
root_file_idbigintID of the source file from which this file was copied and created. Set to 'NULL' when this is the only copy.
submission_idbigintForeign key to the submission this file belongs to.
uploader_idbigintForeign key to the user who uploaded this file. Might contain users which are not in the user dimension table.
user_idbigintForeign key to the user this file belongs to.
owner_entity_typeenumTable this file is associated with. Possible values are 'account', 'assignment', 'conversation_message', 'course', 'group', 'quiz', 'quiz_submission', 'submission' and 'user'.
content_typevarcharContains the MIME type of this file.
md5varcharContains the MD5 checksum of the contents of this file.
file_stateenumDenotes the current state of this file. Possible values are 'available', 'broken', 'deleted', 'errored' and 'hidden'.
could_be_lockedenumDictates if the quiz can be locked or not. Possible values are 'allow_locking' and 'disallow_locking'.
lockedenumDenotes the current lock status of this file. Possible values are 'is_locked' and 'is_not_locked'.
lock_attimestampDate/Time when this file is to be locked.
unlock_attimestampDate/Time when this file is to unlocked.
viewed_attimestampDate/Time when this file was last viewed.
created_attimestampDate/Time when this file was created.
updated_attimestampDate/Time when this file was last updated.
deleted_attimestampDate/Time when this file was deleted.

grading_period_dim

Attributes for grading period. A Grading period is like a "term", essentially used for splitting up the gradebook into "periods"

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate identifier for the grading period.
canvas_idbigintPrimary key for the grading period.
grading_period_group_idbigintSurrogate ID to the grading period group table.
close_datetimestampGrades can only be changed before the close date of the grading period.
created_attimestampTimestamp when record was created
end_datetimestampEnd date of the grading period.
start_datetimestampStart date of the grading period.
titlevarcharTitle for the grading period.
updated_attimestampTimestamp when record was last updated.
workflow_statevarcharcurrent workflow state. Possibe values are 'active', 'deleted'

grading_period_group_dim

Attributes for grading period groups. Which are a group of grading periods.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate identifier for the grading period groups
canvas_idbigintPrimary key for the grading period groups
course_idbigintForeign key to the Course table.
account_idbigintForeign key to the Account table.
created_attimestampTimestamp when record was created.
titlevarcharTitle for the grading period group.
updated_attimestampTimestamp when record was last updated.
workflow_statevarcharWorkflow state for the grading period group. Possibe values are 'active', 'deleted'

group_dim

Attributes for groups in canvas. Groups contain two or more students enrolled in a particular course working on an assignment or project together.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the group.
canvas_idbigintPrimary key to the groups table in canvas.
namevarcharName of the group.
descriptiontextDescription of the group.
created_attimestampTimestamp when the group was first saved in the system.
updated_attimestampTimestamp when the group was last updated in the system.
deleted_attimestampTimestamp when the group was deleted.
is_publicbooleanTrue if the group contents are accessible to public.
workflow_statevarcharWorkflow state for group.(values: deleted,active)
context_typevarcharThe context type to which the group belongs to. For example- Accounts, Courses etc.
categorytextGroup description by the users.
join_levelvarcharPermissions required to join a group. For example, it can be invitation-only or auto.
default_viewvarcharDefault view for groups is the feed.
sis_source_idbigintCorrelated id for the record for this group in the SIS system (assuming SIS integration is configured)
group_category_idbigint(Not implemented) Foreign key to group category dimension table.
account_idbigintParent account for this group.
wiki_idbigintForeign key to the wiki_dim table.

group_membership_dim

Attributes for groups_membership in canvas.

Type: dimension

Columns

NameTypeDescription
idvarcharThe ID of the membership object
canvas_idvarcharThe ID of the membership object as it appears in the db.
group_idbigintForeign key to the group dimension for a particular group.
moderatorenumWhether or not the user is a moderator of the group. Possible values are 'is_moderator' and 'not_moderator'.
workflow_stateenumThe current state of the membership. Current possible values are 'accepted', 'invited', 'requested', and 'deleted'
created_attimestampTimestamp when the group membership was first saved in the system.
updated_attimestampTimestamp when the group membership was last updated in the system.

module_completion_requirement_dim

Attributes for a module completion.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the module completion requirement.
module_idbigintModule that contains the completion requirement.
module_item_idbigintItem that is the subject of the completion requirement.
requirement_typeenumType of completion event that must be achieved to consider item complete.

module_dim

Attributes for a module.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the module.
canvas_idbigintOriginal primary key for module in the Canvas table.
course_idbigintThe course that owns this module.
require_sequential_progressenumShould module items be completed sequentially? Valid values are 'required', 'not_required', 'unspecified'.
workflow_stateenumWorkflow state for submission lifetime values. Possible values are 'locked', 'completed', 'unlocked' and 'started'.
positionintegerPosition of the module on the modules page.
nametextThe name of the module in Canvas.
created_attimestampDate/Time when the module was created.
deleted_attimestampTimestamp when the module was deleted.
unlock_attimestampTimestamp when the module will unlock.
updated_attimestampDate/Time when the module was last updated.

module_item_dim

Attributes for a module item.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the module_item.
canvas_idbigintOriginal primary key for module_item in the Canvas table.
assignment_idbigintKey into assignments table for 'Assignment' type items.
course_idbigintThe course that owns this module.
discussion_topic_idbigintKey into discussion_topics table for 'Discussion' type items.
file_idbigintKey into file table for 'File' type items.
module_idbigintParent module for this module item.
quiz_idbigintKey into quizzes table for 'Quiz' type items.
wiki_page_idbigintKey into wiki_pages table for 'Page' type items.
content_typeenumThe type of content linked to this item. One of: 'Assignment', 'Attachment', 'DiscussionTopic', 'ContextExternalTool', 'ContextModuleSubHeader', 'ExternalUrl', 'LearningOutcome', 'Quiz', 'Rubric' or 'WikiPage'.
workflow_stateenumState of the module item.
positionintegerPosition of the module item within the module context.
titletextTitle of the module item.
urltextUrl for external url type module items.
created_attimestampDate/Time when the module item was created.
updated_attimestampDate/Time when the module item was last updated.

module_prerequisite_dim

Attributes for a module prerequisite.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the module prerequisite.
module_idbigintModule that contains the prerequisite.
prerequisite_module_idbigintModule that must be completed to fulfill the prerequisite.

module_progression_completion_requirement_dim

Attributes tracking a requirement that remains to be completed by a user. Not a comprehensive list, typically just holds requirements that have been attempted by the user.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the module progression completion requirement.
module_progression_idbigintModule progression referenced by completion requirement.
module_item_idbigintItem that the user has not completed.
requirement_typeenumType of completion event that must be achieved to consider item complete.
completion_statusenumDenotes if the completion event is complete or not. Possible values are 'complete' and 'incomplete'.

module_progression_dim

Attributes for a module progression.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the module progression.
canvas_idbigintOriginal primary key for module progression in the Canvas table.
module_idbigintParent module for this module progression.
user_idbigintUser being tracked in the module progression.
collapsedenumCollapsed state of the module progression.
is_currentenumThe current state of the module progression.
workflow_stateenumThe workflow state of the module progression.
current_positionintegerRepresents the users current position in the module.
lock_versionintegerLock version of the module progression.
created_attimestampDate/Time when the module progression was created.
completed_attimestampDate/Time when the module progression was completed.
evaluated_attimestampDate/Time when the module progression was evaluated.
updated_attimestampDate/Time when the module progression was last updated.

pseudonym_dim

Pseudonyms are logins associated with users.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the pseudonym.
canvas_idbigintPrimary key for this pseudonym in the the Canvas database
user_idbigintId for the user associated with this pseudonym
account_idbigintId for the account associated with this pseudonym
workflow_statevarcharWorkflow status indicating that pseudonym is [deleted] or [active]
last_request_attimestampTimestamp of when the user last logged in with this pseudonym
last_login_attimestampTimestamp of last time a user logged in with this pseudonym
current_login_attimestampTimestamp of when the user logged in
last_login_ipvarcharIP address recorded the last time a user logged in with this pseudonym
current_login_ipvarcharIP address of user's current/last login
positionintPosition of user's login credentials
created_attimestampTimestamp when this pseudonym was created in Canvas
updated_attimestampTimestamp when this pseudonym was last updated in Canvas
password_auto_generatedbooleanTrue if the password has been auto-generated
deleted_attimestampTimestamp when the pseudonym was deleted (NULL if the pseudonym is still active)
sis_user_idvarcharCorrelated id for the record for this course in the SIS system (assuming SIS integration is configured)
unique_namevarcharActual login id for a given pseudonym/account
integration_idvarcharA secondary unique identifier useful for more complex SIS integrations. This identifier must not change for the user, and must be globally unique.
authentication_provider_idbigintThe authentication provider this login is associated with. This can be the integer ID of the provider, or the type of the provider (in which case, it will find the first matching provider.)

quiz_dim

Attributes for quiz.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the quiz.
canvas_idbigintPrimary key for this quiz in the quizzes table.
root_account_idbigintRoot account ID associated with this quiz.
namevarcharName of the quiz. Equivalent Canvas API field -> 'title'.
points_possibledouble precisionTotal point value given to the quiz.
descriptiontextDescription of the quiz.
quiz_typevarcharType of quiz. Possible values are 'practice_quiz', 'assignment', 'graded_survey' and 'survey'. Defaults to 'NULL'.
course_idbigintForeign key to the course the quiz belongs to.
assignment_idbigintForeign key to the assignment the quiz belongs to.
workflow_statevarcharDenotes where the quiz is in the workflow. Possible values are 'unpublished', 'published' and 'deleted'. Defaults to 'unpublished'.
scoring_policyvarcharScoring policy for a quiz that students can take multiple times. Is required and only valid if allowed_attempts > 1. Possible values are 'keep_highest', 'keep_latest' and 'keep_average'. Defaults to 'keep_highest'.
anonymous_submissionsvarcharDictates whether students are allowed to submit the quiz anonymously. Possible values are 'allow_anonymous_submissions' and 'disallow_anonymous_submissions'. Defaults to 'disallow_anonymous_submissions'.
display_questionsvarcharPolicy for displaying the questions in the quiz. Possible values are 'multiple_at_a_time' and 'one_at_a_time'. Defaults to 'multiple_at_a_time'. Equivalent Canvas API field -> 'one_question_at_a_time'.
answer_display_ordervarcharPolicy for displaying the answers for each question in the quiz. Possible values are 'in_order' and 'shuffled'. Defaults to 'in_order'. Equivalent Canvas API field -> 'shuffle_answers'.
go_back_to_previous_questionvarcharPolicy on going back to the previous question. Is valid only if 'display_questions' is set to 'one_at_a_time'. Possible values are 'allow_going_back' and 'disallow_going_back'. Defaults to 'allow_going_back'. Equivalent Canvas API field -> 'cant_go_back'.
could_be_lockedvarcharDictates if the quiz can be locked or not. Possible values are 'allow_locking' and 'disallow_locking'. Defaults to 'disallow_locking'.
browser_lockdownvarcharDictates whether the browser has locked-down when the quiz is being taken. Possible values are 'required' and 'not_required'. Defaults to 'not_required'.
browser_lockdown_for_displaying_resultsvarcharDictates whether the browser has to be locked-down to display the results. Is valid only if 'hide_results' is set to 'never' or 'until_after_last_attempt' (for the results to be displayed after the last attempt). Possible values are 'required' and 'not_required'. Defaults to 'not_required'.
browser_lockdown_monitorvarcharDictates whether a browser lockdown monitor is required. Possible values are 'required' and 'not_required'. Defaults to 'not_required'.
ip_filtervarcharRestricts access to the quiz to computers in a specified IP range. Filters can be a comma-separated list of addresses, or an address followed by a mask.
show_resultsvarcharDictates whether or not quiz results are shown to students. If set to 'always', students can see their results after any attempt and if set to 'never', students can never see their results. If 'dw_quiz_fact.allowed_attempts > 1' then when set to 'always_after_last_attempt', students can only see their results always, but only after their last attempt. Similarly, if set to 'only_once_after_last_attempt', then students can see their results only after their last attempt, that too only once. Possible values are 'always', 'never', 'always_after_last_attempt' and 'only_once_after_last_attempt'. Defaults to 'always'. Equivalent Canvas API field -> 'hide_results' combined with 'one_time_results'.
show_correct_answersvarcharDictates whether correct answers are shown when are results are viewed. It's valid only if 'show_results' is set to 'always'. Possible values are 'always', 'never', 'only_once_after_last_attempt' and 'always_after_last_attempt' (Last two are only valid if 'dw_quiz_fact.allowed_attempts > 1') which have a behavior similar to 'show_results'. Defaults to 'always'. Equivalent Canvas API field -> 'show_correct_answers' combined with 'show_correct_answers_last_attempt'.
show_correct_answers_attimestampDay/Time when the correct answers would be shown.
hide_correct_answers_attimestampDay/Time when the correct answers are to be hidden.
created_attimestampTime when the quiz was created.
updated_attimestampTime when the quiz was last updated.
published_attimestampTime when the quiz was published.
unlock_attimestampDay/Time when the quiz is to be unlocked for students.
lock_attimestampDay/Time when the quiz is to be locked for students.
due_attimestampDay/Time when the quiz is due.
deleted_attimestampTime when the quiz was deleted.

quiz_question_answer_dim

Attributes of an answer related to a quiz question.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate key for the quiz question answer. As with all surrogate keys in Canvas Data, there is no guarantee of stability. That said, this key is particularly unstable and will likely change from dump to dump even if there are no data change.
canvas_idbigintPrimary key for this quiz question answer. No table available in Canvas.
quiz_question_idbigintForeign key to the quiz question dimension column.
texttextText of the answer.
htmltextHTML markup of the text.
commentstextSpecific contextual comments for a particular answer.
text_after_answerstext(Used in 'short_answer_question', also known as 'fill_in_the_blank'. Set to 'NULL' in others) Text following the missing word.
answer_match_leftvarchar(Used in 'matching_question', set to 'NULL' in others) Static value of the answer that will be displayed on the left for students to match for.
answer_match_rightvarchar(Used in 'matching_question', set to 'NULL' in others) Correct match for the value given in 'answer_match_left', displayed in a drop-down with other 'answer_match_right' values.
matching_answer_incorrect_matchesvarchar(Used in 'matching_question', set to 'NULL' in others) List of distractors (incorrect answers), delimited by new lines, that will be seeded with all the 'answer_match_right' values.
numerical_answer_typevarchar(Used in 'numerical_question', set to 'NULL' in others) Denotes the type of numerical answer that is expected. Possible values are 'exact_answer' and 'range_answer'.
blank_idvarchar(Used in 'fill_in_multiple_blanks_question' and 'multiple_dropdowns_question', set to 'NULL' otherwise) Refers to the ID of the blank(s) in the question text.
exactdouble precision(Used in 'numerical_question' with answer type 'exact_answer', set to 'NULL' otherwise) Value the answer must be equal to.
margindouble precision(Used in 'numerical_question' with answer type 'exact_answer', set to 'NULL' otherwise) Margin of error allowed for a student's answer.
starting_rangedouble precision(Used in 'numerical_question' with answer type 'range_answer', set to 'NULL' otherwise) Start of the allowed range (inclusive).
ending_rangedouble precision(Used in 'numerical_question' with answer type 'range_answer', set to 'NULL' otherwise) End of the allowed range (inclusive).

quiz_question_dim

Attributes of a question associated with a quiz.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate key for the quiz question.
canvas_idbigintPrimary key for this quiz question in the 'quiz_questions' table.
quiz_idbigintForeign key to the quiz dimension table.
quiz_question_group_idbigintForeign key to the quiz group dimension table.
positionintOrder in which the question will be displayed in the quiz relative to other questions associated with the quiz.
workflow_statevarcharDenotes where the quiz question is in the workflow. Possible values are 'unpublished', 'published' and 'deleted'. Defaults to 'unpublished'.
created_attimestampTime when the quiz question was created.
updated_attimestampTime when the quiz question was last updated.
assessment_question_idbigintForeign key to the assessment question dimension table (to be made available in later releases).
assessment_question_versionintVersion of the assessment question associated with the quiz question (to be made available in later releases).
namevarcharName of the question.
question_typevarcharDenotes the type of the question. Possible values are 'calculated_question', 'essay_question', 'file_upload_question', 'fill_in_multiple_blanks_question', 'matching_question', 'multiple_answers_question', 'multiple_choice_question', 'multiple_dropdowns_question', 'numerical_question', 'short_answer_question', 'text_only_question' and 'true_false_question'.
question_texttextText content of the question.
regrade_optionvarcharDenotes if regrading is available for the question. Possible values are 'available' and 'unavailable' for question types 'multiple_answers_question', 'multiple_choice_question', 'true_false_question' and 'NULL' for others. Defaults to 'available' for the allowed question types and 'NULL' for the rest.
correct_commentstextComments to be displayed if the student answers the question correctly.
incorrect_commentstextComments to be displayed if the student answers the question incorrectly.
neutral_commentstextComments to be displayed regardless of how the student answers the question.

quiz_question_group_dim

Attributes for quiz group.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the quiz group.
canvas_idbigintPrimary key for this quiz group in the 'quiz_question_groups' table.
quiz_idbigintForeign key to quiz dimension.
namevarcharName of the quiz group.
positionintOrder in which the questions from this group will be displayed in the quiz relative to other questions in the quiz from other groups.
created_attimestampTime when the quiz question was created.
updated_attimestampTime when the quiz question was last updated.

quiz_submission_dim

Attributes for the last submitted quiz

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the quiz submission.
canvas_idbigintPrimary key for this quiz submission in the 'quiz_submissions' Canvas table.
quiz_idbigintID of the quiz the quiz submission represents. Foreign key to the quiz dimension table.
submission_idbigintID to the submission the quiz submission represents. Foreign key to the quiz submission dimension table.
user_idbigintID of the user (who is a student) who made the submission. Foreign key to the user dimension table.
workflow_statevarcharDenotes the current state of the quiz submission. Possible values are 'untaken', 'complete', 'pending_review', 'preview' and 'settings_only'. Defaults to 'untaken'. An 'untaken' quiz submission is recorded as soon as a student starts the quiz taking process, before even answering the first question. 'pending_review' denotes that a manual submission has been made by the student which has not been completely graded yet. This usually happens when one or more questions in the quiz cannot be autograded (e.g.. 'essay_question' type questions). A 'preview' workflow state is recorded when a Teacher or Admin previews a quiz (even a partial one). 'settings_only' pertains only to quiz moderation events. It stores the settings to create and store moderation events before the student has begun an attempt.
quiz_state_during_submissionvarcharThere can be two types of quiz states during submission, 1. Quiz submission took place after the quiz was manually unlocked after being locked (but only for a particular student such that (s)he can take the quiz even if it's locked for everyone else). 2. Quiz submission was on-time (that is, when the quiz was never locked). So the two possible values are 'manually_unlocked' and 'never_locked'. Defaults to 'never_locked'.
submission_scoring_policyvarcharDenotes if the score has been manually overridden by a teacher to reflect the score of a previous attempt (as opposed to a score calculated by the quiz's scoring policy. Possible values are 'manually_overridden' or the general quiz scoring policies, i.e. 'keep_highest', 'keep_latest' and 'keep_average'. Defaults to the scoring policy of the quiz the submission is associated with.
submission_sourcevarcharDenotes where the submission was received from. Possible values are 'student' and 'test_preview'. Defaults to 'student'.
has_seen_resultsvarcharDenotes whether the student has viewed their results to the quiz.
temporary_user_codevarcharConstruct for previewing a quiz.
created_attimestampTime when the quiz submission was created.
updated_attimestampTime when the quiz submission was last updated.
started_attimestampTime at which the student started the quiz submission.
finished_attimestampTime at which the student submitted the quiz submission.
due_attimestampTime at which the quiz submission will be overdue, and will be flagged as a late submission.

quiz_submission_historical_dim

Attributes for all submitted quizzes

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the quiz submission.
canvas_idbigintPrimary key for this quiz submission in the 'quiz_submissions' Canvas table.
quiz_idbigintID of the quiz the quiz submission represents. Foreign key to the quiz dimension table.
submission_idbigintID to the submission the quiz submission represents. Foreign key to the quiz submission dimension table.
user_idbigintID of the user (who is a student) who made the submission. Foreign key to the user dimension table.
version_numberintVersion number of this quiz submission.
submission_statevarcharDenotes if the quiz submission is a current or previous submission. Possible values are 'current_submission' and 'previous_submission'. Defaults to 'current_submission'.
workflow_statevarcharDenotes the current state of the quiz submission. Possible values are 'untaken', 'complete', 'pending_review', 'preview' and 'settings_only'. Out of these, 'settings_only' pertains only to quiz moderation events. It stores the settings to create and store moderation events before the student has begun an attempt. Defaults to 'untaken'.
quiz_state_during_submissionvarcharThere can be two types of quiz states during submission, 1. Quiz submission took place after the quiz was manually unlocked after being locked (but only for a particular student such that (s)he can take the quiz even if it's locked for everyone else). 2. Quiz submission was on-time (that is, when the quiz was never locked). So the two possible values are 'manually_unlocked' and 'never_locked'. Defaults to 'never_locked'.
submission_scoring_policyvarcharDenotes if the score has been manually overridden by a teacher to reflect the score of a previous attempt (as opposed to a score calculated by the quiz's scoring policy. Possible values are 'manually_overridden' or the general quiz scoring policies, i.e. 'keep_highest', 'keep_latest' and 'keep_average'. Defaults to the scoring policy of the quiz the submission is associated with.
submission_sourcevarcharDenotes where the submission was received from. Possible values are 'student' and 'test_preview'. Defaults to 'student'.
has_seen_resultsvarcharDenotes whether the student has viewed their results to the quiz.
temporary_user_codevarcharConstruct for previewing a quiz.
created_attimestampTime when the quiz submission was created.
updated_attimestampTime when the quiz submission was last updated.
started_attimestampTime at which the student started the quiz submission.
finished_attimestampTime at which the student submitted the quiz submission.
due_attimestampTime at which the quiz submission will be overdue, and will be flagged as a late submission.

role_dim

Give the possible roles for an enrolled user

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the role.
canvas_idbigintPrimary key for this record in the Canvas roles table
root_account_idbigintForeign key to the account dimension for this role's root account.
account_idbigintThe foreign key to the account that is in the role
namevarcharThe name of role, previously was "role_name" on the enrollments_dim
base_role_typevarcharThe built in type this role is based on.
workflow_statevarcharWorkflow status indicating that the role is [deleted] or [inactive]
created_attimestampTimestamp of the first time the role was entered into the system
updated_attimestampTimestamp of the last time the role was updated
deleted_attimestampTimestamp of when the role was removed from the system

score_dim

Attributes for scores. You can think of a score as synonymous with a cell inside the gradebook.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate identifier for the score.
canvas_idbigintPrimary key for the score.
enrollment_idbigintForeign key to the Enrollment table.
grading_period_idbigintForeign key to the grading period group table.
created_attimestampTimestamp when record was created.
updated_attimestampTimestamp when record was last updated.
workflow_statevarcharworkflow state for the score. Possibe values are 'active', 'deleted'

submission_comment_dim

Table contains attributes related to the submission comments feature in Canvas.

Type: dimension

Columns

NameTypeDescription
idbigint
canvas_idbigint
submission_idbigint
recipient_idbigint(Deprecated) No longer used in Canvas.
author_idbigint
assessment_request_idbigint
group_comment_idvarchar
commenttext
author_namevarchar
created_attimestamp
updated_attimestamp
anonymousboolean
teacher_only_commentboolean
hiddenboolean

submission_comment_participant_dim

[Deprecated] This table is based on a table in the canvas application that no longer exists. It will be deprecated in the next major release of Canvas Data.

Type: dimension

Columns

NameTypeDescription
idbigint
canvas_idbigint
participation_typevarchar
created_attimestamp
updated_attimestamp

submission_dim

This table records the latest submission for an assignment.

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate ID for the submission.
canvas_idbigintPrimary key of this record in the Canvas submissions table.
bodytextText content for the submission.
urlvarcharURL content for the submission.
gradevarcharLetter grade mapped from the score by the grading scheme.
submitted_attimestampTimestamp of when the submission was submitted.
submission_typeenumType of submission. Possible values are 'discussion_topic', 'external_tool', 'media_recording', 'online_file_upload', 'online_quiz', 'online_text_entry', 'online_upload' and 'online_url'.
workflow_stateenumWorkflow state for submission lifetime values. Possible values are 'graded', 'pending_review', 'submitted' and 'unsubmitted'.
created_attimestampTimestamp of when the submission was created.
updated_attimestampTimestamp of when the submission was last updated.
processedbooleanValid only when there is a file/attachment associated with the submission. By default, this attribute is set to 'false' when making the assignment submission. When a submission has a file/attachment associated with it, upon submitting the assignment a snapshot is saved and its' value is set to 'true'. Defaults to 'NULL'.
process_attemptsint(Deprecated) No longer used in Canvas.
grade_matches_current_submissionbooleanValid only when a score has been assigned to a submission. This is set to 'false' if a student makes a new submission to an already graded assignment. This is done to indicate that the current grade given by the teacher is not for the most recent submission by the student. It is set to 'true' if a score has been given and there is no new submission. Defaults to 'NULL'.
published_gradevarcharValid only for a graded submission. The values are strings that reflect the grading type used. For example, a scoring method of 'points' will show '4' if given a '4' out of '5', and a scoring method of 'letter grade' will show 'B' for the same score (assuming a grading scale where 80-90% is a 'B'). Defaults to 'NULL'.
graded_attimestampTimestamp of when the submission was graded.
has_rubric_assessmentbooleanValid only for a graded submission. Its' value is set to 'true' if the submission is associated with a rubric that has been assessed for at least one student, otherwise is set to 'false'. Defaults to 'NULL'.
attemptintThe number of attempts made including this one.
has_admin_commentboolean(Deprecated) No longer used in Canvas.
assignment_idbigintForeign key to assignment dimension.
excusedenumDenotes if this submission is excused or not. Possible values are 'excused_submission' and 'regular_submission'.
graded_anonymouslyenumDenotes how the grading has been performed. Possible values are 'graded_anonymously' and 'not_graded_anonymously'.
grader_idbigintForeign key to the user dimension of user who graded the assignment.
group_idbigintForeign key to the group_dim table.
quiz_submission_idbigintForeign key to the quiz_submission_dim table.
user_idbigintForeign key to the user_dim table.
grade_stateenumDenotes the current state of the grade. Possible values are 'auto_graded', 'human_graded' and 'not_graded'.

user_dim

Attributes for users

Type: dimension

Columns

NameTypeDescription
idbigintUnique surrogate id for the user. This ID is obfuscated to protect the identity of the user.
canvas_idbigintPrimary key for this user in the Canvas users table.
root_account_idbigintRoot account associated with this user.
namevarcharName of the user
time_zonevarcharUser's primary timezone
created_attimestampTimestamp when the user was created in the Canvas system
visibilityvarchar(Deprecated) No longer used in Canvas.
school_namevarcharUsed in Trial Versions of Canvas, the school the user is associated with
school_positionvarcharUsed in Trial Versions of Canvas, the position the user has at the school. E.g. Admin
gendervarcharThe user's gender. This is an optional field and may not be entered by the user.
localevarcharThe user's locale. This is an optional field and may not be entered by the user.
publicvarcharUsed in Trial Versions of Canvas, the type of school the user is associated with
birthdatetimestampThe user's birth date. This is an optional field and may not be entered by the user.
country_codevarcharThe user's country code. This is an optional field and may not be entered by the user.
workflow_statevarcharWorkflow status indicating the status of the user, valid values are: creation_pending, deleted, pre_registered, registered
sortable_namevarcharName of the user that is should be used for sorting groups of users, such as in the gradebook.
global_canvas_idvarcharSimilar to canvas_id but globalized. This field uses the same globalization as the 'id' field of all other canvas-data tables. Use this field to join to caliper or live event streams.

wiki_dim

Attributes for wiki in canvas.

Type: dimension

Columns

NameTypeDescription
idbigintUnique id for the wiki.
canvas_idbigintPrimary key to the wikis table in canvas.
parent_typevarcharType of Parent the wiki belongs to. For example, Groups or Courses.
titletextTitle for the wiki.
created_attimestampTimestamp when the wiki was first saved in the system.
updated_attimestampTimestamp when the wiki was last updated in the system.
front_page_urltextURL of the front page of the wiki.
has_no_front_pagebooleanTrue if the wiki does not have a front page or is set to NULL.

wiki_page_dim

Attributes for wiki pages in canvas.

Type: dimension

Columns

NameTypeDescription
idbigintUnique id for the wiki pages.
canvas_idbigintPrimary key for the wiki pages table.
titlevarcharTitle of the wiki page.
bodytextBody of the wiki page. Redshift will only load the first 256 bytes of the body.
workflow_statevarcharCurrent state the wiki is in. For Example, active, unpublished, deleted.
created_attimestampTimestamp when the wiki page was created in the system.
updated_attimestampTimestamp when the wiki page was last updated in the system.
urltextURL for the wiki page.
protected_editingbooleanEditing protection for the wiki page. It is false by default.
editing_rolesvarcharUsers or roles who can edit a wiki page.
revised_attimestampTimestamp the wiki page was last revised in the system.
could_be_lockedbooleanTrue if the wiki page can be locked. This prevents it from being visible to others until ready.

requests

Pageview requests. Disclaimer: The data in the requests table is a 'best effort' attempt, and is not guaranteed to be complete or wholly accurate. This data is meant to be used for rollups and analysis in the aggregate, _not_ in isolation for auditing, or other high-stakes analysis involving examining single users or small samples. As this data is generated from the Canvas logs files, not a transactional database, there are many places along the way data can be lost and/or duplicated (though uncommon). Additionally, given the size of this data, our processes are often done on monthly cycles for many parts of the requests tables, so as errors occur they can only be rectified monthly.

Type: both

Columns

NameTypeDescription
idguidRequest ID assigned by the canvas system to the request.
timestampdatetimeTimestamp when the request was made in UTC.
timestamp_yearvarcharYear when the request was made.
timestamp_monthvarcharMonth when the request was made.
timestamp_dayvarcharDay when the request was made.
user_idbigintForeign key in user_dim for the user that made the request. If the request was made by one user masquerading as another, then this column contains the ID of the user being masqueraded as.
course_idbigintForeign key in course_dim for the course that owned the page requested. Set to NULL if not applicable.
root_account_idbigintForeign key in account_dim for the root account on which this request was made.
course_account_idbigintForeign key in account_dim for the account the associated course is owned by.
quiz_idbigintForeign key in quiz_dim if the page request is for a quiz, otherwise NULL.
discussion_idbigintForeign key in discussion_dim if page request is for a discussion, otherwise NULL.
conversation_idbigintForeign key in conversation_dim if page request is for a conversation, otherwise NULL.
assignment_idbigintAssignment foreign key if page request is for an assignment, otherwise NULL.
urltextURL which was requested.
user_agenttextUser agent header received from the users browser/client software.
http_methodvarcharHTTP method/verb (GET, PUT, POST etc.) that was sent with the request.
remote_ipvarcharIP address that was recorded from the request.
interaction_microsbigintTotal time required to service the request in microseconds.
web_application_controllervarcharThe controller the Canvas web application used to service this request.
web_applicaiton_actionvarcharController the Canvas web application used to service this request. (There is a typo in the field name, in order to minimize impact, this will be changed in a future version of Canvas Data.)
web_application_context_typevarcharContaining object type the Canvas web application used to service this request.
web_application_context_idvarcharContaining object's ID the Canvas web application used to service this request.
real_user_idbigintIf the request was processed by one user masquerading as another, then this column contains the real user ID of the user.
session_idvarcharID of the user's session where this request was made.
user_agent_idbigint(Not implemented) Foreign key to the user agent dimension table.
http_statusvarcharHTTP status of the request.
http_versionvarcharHTTP protocol version.