The MPADQ admin dashboard includes a dedicated Review Answers section that gives administrators on-demand access to all completed questionnaire responses. Two distinct data views are available, each presenting the data in a different format suited for different research and reporting needs. Both views write a fresh CSV file to the server each time the page is loaded and provide an immediate download link.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ijmeisner/einerlei/llms.txt
Use this file to discover all available pages before exploring further.
Navigating to Review Answers
After logging in, access the data views from the admin dashboard at/admin/dashboard/. Click Review Answers (or navigate directly to /admin/dashboard/data-view/) to reach the data view index, which lists links to View 1 and View 2.
Both
View1.csv and View2.csv are overwritten each time their respective pages are loaded. If you need to preserve a snapshot of the data, download and rename or archive the file before the next page visit.View 1 — Raw Answers (Wide Format)
URL:/admin/dashboard/data-view/view-1/
View 1 generates a wide-format CSV in which each row represents one completed quiz submission identified by its license_id, and each column represents a single question. The header row lists the question texts; each data row fills in the respondent’s raw answer for every question.
What the file contains
| Position | Content |
|---|---|
| Column 1 | User — the respondent’s license_id |
| Columns 2–N | All demographic question texts (e.g., Age:, Gender:, Primary voice type or instrument:) |
| Columns N+1–end | All Likert question texts (e.g., I tend to have anxiety about performances., I am a confident performer.) |
- Only users where
active = falsein theLicensetable are included — meaning only respondents who have fully completed the questionnaire. - Demographic answers are prefixed with a single quote (
') in the raw CSV (a convention carried over from the server-side PHP writer). - Commas inside question text are replaced with spaces to preserve CSV integrity.
How it is generated
When you load the page, the server:- Opens (or creates)
View1.csvin write mode in theview-1/directory. - Queries
DemographicQuestionandLikertQuestionto build the header row. - Queries
Licensefor all rows whereactive = false, then for eachlicense_idfetches answers fromDemographicAnswerandLikertAnswer. - Writes all rows to the file, then renders a download link on the page.
Downloading
Once the page loads and the file is written, a link reading “Click here to download the latest data in this view” appears. Click it to saveView1.csv to your computer.
View 2 — Long-Format Answers
URL:/admin/dashboard/data-view/view-2/
View 2 generates a long-format CSV with three fixed columns: User, Question, and Answer. Rather than spreading all questions across columns, each question-answer pair for a respondent occupies its own row. This format is particularly convenient for pivot-table workflows or analysis tools that prefer a normalized row structure.
What the file contains
| Column | Content |
|---|---|
User | The respondent’s license_id |
Question | The full text of the question |
Answer | The respondent’s raw answer for that question |
active = false are included, and commas within question text are replaced with spaces.
How it is generated
When you load the page, the server:- Opens (or creates)
View2.csvin write mode. - Writes the header row:
User, Question, Answer. - For each completed
license_id, runs a JOIN query againstDemographicQuestion/DemographicAnswerand a second JOIN query againstLikertQuestion/LikertAnswer. - Writes all resulting rows, then renders a download link.
Downloading
A link reading “Click here to download the latest data in this view” appears after the file is written. Click it to saveView2.csv to your computer.
Choosing Between View 1 and View 2
- View 1 — Wide Format
- View 2 — Long Format
Best for:
- Statistical software that expects one row per participant (SPSS, R
data.frame, Excel pivot tables) - Direct comparison of a single question across all respondents
- Machine learning or regression analysis where each observation is a row
- One row per completed respondent
- Hundreds of columns (one per question)
- Suitable for
read.csv()in R orpd.read_csv()in Python without reshaping
Database Tables Behind the Views
Both views draw from the same underlying MySQL tables in theQuiz database:
DemographicAnswer
Stores each respondent’s answers to demographic questions.
Columns:
license_id, demographic_question_id, answerLikertAnswer
Stores each respondent’s numerical answers to Likert-scale statements.
Columns:
license_id, question_id, answerDemographicQuestion
Question text and IDs for all demographic items (joined in Views 1 and 2 for headers and labels).
LikertQuestion
Question text and IDs for all Likert-scale statements.
License
Maps
license_id to licenseKey and active status. Only records with active = false (completed quizzes) appear in the exports.SubCategoryResult / BroadCategoryResult
Store computed sub-category and broad-category scores per respondent. Written by
finish/index.php after a respondent completes the questionnaire. Defined in mysql/likert/likertResults.mysql.