Restaurant Inspection Data: When Several Rows Mean One Visit

Several rows in an inspection dataset do not always mean several visits. King County’s inspection-data description says one inspection with multiple violations produces multiple rows under the same Inspection_Serial_Num. Chicago’s Food Inspections dataset describes an inspection row with an Inspection ID and a Violations field, while warning that duplicate reports may remain. Check the publisher’s row definition before counting. Before filtering out blank findings, check whether the publisher uses them to retain inspections with no violations.

Decide what one row represents

A row can describe a business, a visit, or one finding made during a visit. That choice determines what a spreadsheet count means. In King County’s documented structure, business_id helps identify the establishment, Inspection_Serial_Num identifies the inspection, and fields such as violation_type, description and points carry finding detail. The inspection score, result and inspection_closed_business field sit alongside that detail. Three finding rows with one serial number still represent one documented inspection event.

Chicago puts violation information in the Violations text field of an inspection row. Its listed columns include Inspection ID, license number, inspection date, type and result. That is a different storage shape. A name appearing repeatedly can reflect separate visits, different licenses or an unresolved duplicate. The city’s duplicate warning is a reason to check the identifiers, not a license to discard rows that look familiar.

Official dataStart withKeep separate
King County finding-level rowsGroup by Inspection_Serial_Num for a visit count.Keep each violation row and its description, type and points.
Chicago inspection rowsExamine Inspection ID, then compare license, date, type and result if a report looks repeated.Retain the Violations text and flag an unresolved duplicate.

The Seattle-area inspection-search guide helps with a different job: locating a dated King County result. The Chicago inspection lookup guide helps locate a report there. This page is for deciding what to count after you have identified the dataset and its columns.

Try a count without erasing findings

Imagine this fictional King-style extract. A100 is an invented event key, not a real inspection or facility:

Data rowInspection keyFinding labelAdditional visits counted
1A100Handwashing itemOne visit starts here
2A100Temperature itemNone
3A100Storage itemNone

There are three rows and one distinct event key. Keep all three findings when describing that visit. Do not add an inspection score three times merely because it appears beside three violation rows. The score is an inspection-level field in the King description, not three new scores earned by the individual rows.

Now imagine a second key, A101, on the same date and business. Do not merge it with A100 from the name and date alone. It could represent a different inspection event, type or correction visit. The official event identifier and the supporting fields should decide what needs further review. If the identifier is blank or inconsistent, record the ambiguity instead of inventing a key.

For Chicago, reverse the assumption: start from the listed inspection-row structure. If two apparently identical records appear, compare Inspection ID and the other available fields, then mark the pair for investigation. The publisher says duplicates may remain, but does not say every repeated name or date is a duplicate. Deleting one before checking could remove a legitimate visit or a different license’s record.

Keep inspection records that have no violation code

Do not delete a row solely because its violation cell is blank. In Delaware’s published field definitions, no violation code means there were no violations for that inspection. Preserve the dated record. This is an explicit rule for that dataset, not a rule that any missing result means no findings.

On October 15, 2026, a limited query selected the first two 2025 rows without codes, ordered by establishment name, inspection date and address. They identified one named establishment at a Wilmington address. A query for that same name and address then retrieved all its 2025 rows, across all inspection types and codes. This deliberately selected example tests blank-code handling; it does not estimate how common such records are.

Inspection date (2025)TypeRowsViolation code
February 18Routine13Present in all 13
February 21Follow-up1Present
June 12Complaint1Absent
June 24Complaint2Present in both
October 13Routine7Present in all 7
October 27Follow-up1Absent

The filtered official response returned 25 rows; matching counts before and after retrieval were also 25, below the 200-row cap. Grouping by date and type gives six provisional groups. Deleting the two rows without codes leaves 23 rows and only four groups, removing two dated inspection records from the calculation. Their violation-description keys are also absent; neither absence is a numeric zero. Keep the no-code records in an inspection count while distinguishing them from citation rows.

Delaware’s nine published fields include no stable inspection ID, so these groups alone cannot certify six distinct visits. The October 27 Follow-up row records no violations under the publisher’s definition, but does not identify which earlier items were corrected or when. These fields provide no item-level correction time, closure or operating-status record. The 2025 records do not establish present conditions. The NYC data-view example shows why a next date also needs its inspection type before you connect visits.

Keep a short audit trail for your total

Save the original download or view unchanged. In a separate working copy, note the publisher, the date you accessed its description, the field you treated as the event key, any filters and the number of source rows. Make a second column or summary that counts distinct event keys; keep the detailed rows linked to those keys. List missing IDs and suspected duplicates as unresolved, with your reason for excluding or retaining each one. Someone else should be able to reproduce your count without trusting a restaurant name as the join key.

Use the same care with a chart labeled violations, inspections or establishments. Those labels may use different denominators even on one site. A total produced from finding rows cannot be compared directly with a total of inspection events unless you first convert to the same unit and matching time, location and facility-type filters.

A row count is not a safety guarantee or proof of a current closure. A closure marker repeated beside several findings is still attached to that inspection event; look for a later reopening or return inspection before describing what happened next. Dataset updates do not establish a restaurant’s current condition. Chicago also warns that inspection observations concern the visit, not every other time. For a decision about one establishment, return to its dated official report and ask the responsible agency about missing or conflicting records. The King-style A100/A101 example is fictional; the Delaware table summarizes an actual bounded query. Official descriptions, columns and the Delaware rows were checked October 15, 2026.