I'm working with the submission_dim table and calculating how long it takes between submission and a grade to be assigned for a submission. It's a simple calculation, graded_at - submitted_at. I'm seeing a few strange results. They are a very small percentage of the records but enough to make me wonder how this happens and whether I should ignore the records.
1. The graded_at timestamp is before the submitted_at timestamp. These records have a workflow_state of 'graded'. Results in a negative value for time to grade.
2. The graded_at timestamp is not null but the submitted_at timestamp is null. These all have a workflow_state of 'submitted'.
3. An online_quiz submission has a workflow status of 'pending_review' even though there is a grade and a graded_at timestamp. I have a ton of these.
I would expect that a graded_at value would always be greater than or equal to submitted_at and if there is a graded_at value, there would be a submitted_at value too.
Can anyone explain how data like this can occur?