The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
Howdy all.
I am trying to run a Canvas Report on "User course Access" but have found what I believe is a bug.
In the report I am asked to set a date to start the report from. I select Jan 1st 2022.
And yet, when I run the report it will ONLY give me data for the past 30 days.
How can I get this data from the 12 month period?
Julian
Solved! Go to Solution.
Hi @DeletedUser,
If you click the help icon for that report, at the very end it does state "A maximum of one month's data will be retrieved. By default, it will return data from the beginning of the previous week." So, I think the report is acting as designed at this point, but I know that's not really the info you wanted to hear. If the report is easy for you to run and you like the format of the data, perhaps you could set up a script to run the report every 30 days and save those locally so you could have your own local archive. Of course you can only do that going forward, so you'll still be in a bind to get data right now. I'd suggest taking a look at Canvas Data Services to get longer term data right now, but I'll admit that it may take some learning or a specialist to get things setup and get he data you actually want out of all the available info.
-Chris
Hi @DeletedUser,
If you click the help icon for that report, at the very end it does state "A maximum of one month's data will be retrieved. By default, it will return data from the beginning of the previous week." So, I think the report is acting as designed at this point, but I know that's not really the info you wanted to hear. If the report is easy for you to run and you like the format of the data, perhaps you could set up a script to run the report every 30 days and save those locally so you could have your own local archive. Of course you can only do that going forward, so you'll still be in a bind to get data right now. I'd suggest taking a look at Canvas Data Services to get longer term data right now, but I'll admit that it may take some learning or a specialist to get things setup and get he data you actually want out of all the available info.
-Chris
@DeletedUser
What Chris ( @chriscas ) wrote is correct. Here is some additional information. You noticed the start date field since you told it to start with January 1, 2022.
Although the report is limited to a month, the availability of the start date could give an expectation that could repeat the process, changing the start date to when the last report ended, until you have covered the entire year.
With some reports, Canvas only keeps the data available for a certain (often un-publicly documented) amount of time. Some reports only allow a year worth of data, other six months. Other reports go back as long as you've had Canvas. The User Access report is one that other people have mentioned difficulty obtaining for courses that were long ago.
It may be possible that Canvas is saying "there's nothing available that far back, so I'll just give the most recent information" or it might be by design. When I run the report, I too got the data from just the last month. When I reload the report tab, Canvas even alerts me to that fact (emphasis added).
Dec 14 at 9:22am (Term: All Terms; Enrollment types: ["TeacherEnrollment", "TaEnrollment", "DesignerEnrollment", "StudentEnrollment", "ObserverEnrollment"]; The start date was set to 1 month ago.)
A similar message was in the email I received after the report was done being generated.
I did some checking and if I go to a course I had in January 2022 and run a script I have that downloads all of the access report for just that course, Canvas does still have data from that course. January 10, 2022, was the first time someone was active in the course, which would be when the course started. That means that the data is available inside Canvas. However, if I go back to my August 2012 course, the access report data is no longer available. It isn't available for August 2013, but is for August 2014. I don't need to pinpoint the exact date, but the point is that it's still there for quite a while back. That is not the issue here.
It turns out that the issue is in interpreting the language of the wording. Here is the Ready Release Notes (2020-04-25) where the report was announced. Toward the bottom of the announcement, it says "A maximum of one month's data could be retrieved." (emphasis mine).
The issue is that there are multiple ways that could be interpreted and the way it is implemented is not the way that most people would interpret it.
You're taking it the first way. Canvas implemented it the second way.
For people who monitor this on an on-going basis, the Canvas way works well. The report can be generated through the Canvas API, so people could schedule a job to run once a week and get the report for the previous week's material. Or they could run the job nightly if they wanted to have more recent information available. Specifying a recent start date avoids having to download the entire month's worth of data when you have most of it already. It also makes sense from a perspective of schools trying to find students who aren't doing things in time to still do something about it.
For people who are trying to track down an issue from over a month ago or those who just discovered the report and think that would be nifty information to have, well, you're out of luck. You can still go into individual courses and look at individual students or you can use the script I wrote to download all access reports for an entire course, but that process would need to be repeated for each course.
It's not a bug as Canvas is doing what was programmed. It's a case of poorly worded documentation. Instead of saying "A maximum of one month's data could be retrieved", it would be clearer to say "Only data for the previous 30 days can be retrieved."
Technically, that may not be correct since some months may have 31 days in them. I looked for the code to see what it was doing, but couldn't find it. Using the word month in the phrasing becomes challenging to convey the intent with clarity. Here are some alternatives, none of which I truly like from a grammatical sense, but all would convey the meaning better than what Canvas has: "Only the most recent month's data can be retrieved", "Only data within the last month can be retrieved", or "Data is available for the most recent month". Perhaps "The start date must be within the last month."
An even better solution would be to put a start date and an end date on the report configuration and then make sure that they were not more than a month apart. Feature ideas are closed for right now so Canvas can figure out how to handle them.
I also carefully read what Oxana wrote in her blog announcement about the User Course Access Log. She wrote "One could request data for up to a month timeframe from a present moment."
Again, the emphasis is mine.
Thanks all for the reply. It's amazing what you learn when you RTFM! 😛 I'll make sure to do that next time.
Have a great Xmas all. 🙂
JR
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in