← QCE Digital Solutions Unit 4

Data completeness

Data is complete when every required value is present. There are no blank fields and no missing records, so everything the exchange needs has arrived.

Understanding Data completeness in QCE Digital Solutions Unit 4

What it does: The code tests a required field for an empty value and flags the record as incomplete, which checks for blank fields. Matching the received count to the sent count confirms no records were lost during the exchange. Records that never arrived are a completeness problem. The values in the 480 records may still be correct. Missing values can cause failed processing or misleading results. Incompleteness does not need an attacker, as it can be caused by faults or errors.

Common mistakes: The loop must go through the required fields. Looping over the record only checks fields that are already there, so missing ones are never found. It should be: for f in required:. A single = assigns the number of expected records to the variable. == is a comparison and would cause a NameError because expected does not exist yet. It should be: expected = 10.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 127–333) and word search (Modules 127–401).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
A student record arrives with the email field left blank, but email is a required field. Is the data complete?
Yes, the rest of the record is presentNo, a required value is missing
Matches
if name != "": print("Name is missing")
↓
The condition is reversed. It reports a missing name when the name is present. It should test name == "" to find a blank required field.
Applying
Meanings
Term
completeness
Meaning
Data is complete when every required value is present. There are no blank fields and no missing records, so everything the exchange needs has arrived.
Practice
SELECT COUNT(*) AS totalRecords,
Testing
Gaps
SELECT * FROM students WHERE house IS ;
Check Answer
Spots
3missing = []
4for f in record:

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Ostrich' badge — Full Sprint, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. A student record arrives with the email field left blank, but email is a required field. Is the data complete?
A. No, a required value is missing ✓
B. Yes, the rest of the record is present
Completeness needs every required value present. One blank required field makes the record incomplete, even if other fields are filled.
2. A file of 500 orders is sent, but only 480 records arrive. Which data quality issue is this?
A. Incorrect values, so the data is inaccurate
B. Missing records, so the data is incomplete ✓
Records that never arrived are a completeness problem. The values in the 480 records may still be correct.
3. Which statement best describes complete data?
A. Every required value is present, with no blank fields or missing records ✓
B. Every value that is present is the right value
Correct values describe accuracy. Completeness is about whether everything required has arrived.
4. An exchange marks the field 'dateOfBirth' as required. A record arrives with dateOfBirth empty. What should the receiving system do?
A. Flag the record as incomplete and request the missing value ✓
B. Accept it, because the other fields are filled in
Required fields in an exchange must be filled. A receiving system should flag or reject incomplete records rather than silently accepting them.
5. A customer record has no value in the optional 'middleName' field. Is the record incomplete?
A. Yes, any blank field makes data incomplete
B. No, optional fields can be blank ✓
Completeness is judged against required values only. A blank optional field does not break completeness.

Match the Pairs

=COUNTBLANK(B2:B9) → Counts the blank cells in a column so you can see how many values are missing and whether the data is complete
if len(records) < expected: → Checks whether fewer records arrived than were expected, which means some records are missing and the data is incomplete
A required field must not be left blank, so a record with an empty email is incomplete → if email == "": print("Incomplete record")
Completeness also means no records are missing, so the count received must match the count sent → if received == sent: print("All records arrived")
if name != "": print("Name is missing") → The condition is reversed. It reports a missing name when the name is present. It should test name == "" to find a blank required field.
A file with 98 of 100 records is complete because every record that arrived has all its fields filled in → Completeness also needs every record to be present. Two records are missing, so the data is incomplete even if the 98 records have no blank fields.

Key Term

completeness
Data is complete when every required value is present. There are no blank fields and no missing records, so everything the exchange needs has arrived.

Fill in the Blanks

1. SELECT * FROM students WHERE house IS NULL;
Hint: Type the SQL keyword that represents a blank field with no value stored.
2. =COUNTBLANK(B2:B9)
Hint: Type the spreadsheet function that counts empty cells in a range.
3. required = ["id", "name", "email"] complete = all(f in row for f in required)
Hint: Type the built-in function that is True only when every item checked is True.
4. if len(rows) < expected_rows: print("Missing records")
Hint: Type the comparison operator meaning fewer rows arrived than expected.
5. if email == "": print("Blank field")
Hint: Type the operator that checks whether the email value equals an empty string.

Spot the Error

Question 1
A required = ["name", "email"]
B record = {"name": "Ava"}
C missing = []
D for f in record:
E if f not in record:
F missing.append(f)
Line D — The loop must go through the required fields. Looping over the record only checks fields that are already there, so missing ones are never found. It should be: for f in required:
Question 2
A expected == 10
B received = len(rows)
C if received < expected:
D print("Missing records")
Line A — A single = assigns the number of expected records to the variable. == is a comparison and would cause a NameError because expected does not exist yet. It should be: expected = 10
Question 3
A row = ["Ava", "", "Year 12"]
B blanks = 0
C for value in row:
D if value == " ":
E blanks += 1
Line D — A blank field is an empty string, "", with nothing inside the quotes. " " contains a space, so truly blank fields would be missed. It should be: if value == "":
Question 4
A rows = [["Ava", 7], ["Liam", ""]]
B complete = 0
C for r in rows
D if "" not in r:
E complete += 1
Line C — A for statement must end with a colon. Without it Python raises a SyntaxError and the completeness check cannot run. It should be: for r in rows:
Question 5
A required = ["id", "name" "mark"]
B data = {"id": 1, "name": "Zoe"}
C for f in required:
D if f not in data:
E print(f, "is missing")
Line A — The comma between "name" and "mark" is missing. Python joins them into "namemark", so the list has only two required fields and the mark field is never checked. It should be: required = ["id", "name", "mark"]

Student with a class code? Join your class →