Courseiva
Data Governance →hardMultiple Choice

DA0-002 Data Governance Practice Question

A data analyst at a retail company is building a dashboard for store managers to track sales performance. The data comes from three sources: point-of-sale (POS) systems, inventory, and customer loyalty. The POS table contains columns transaction_id, store_id, date, product_id, quantity, and price. The inventory table has product_id, store_id, stock_level, and reorder_point. The loyalty table has customer_id, transaction_id, and points_earned. The analyst creates a star schema with a sales_fact fact table containing all rows from POS, dimension tables for store, product, date, and customer. To calculate average transaction value, the analyst uses the formula SUM(quantity * price) / COUNT(*). Store managers report that the average transaction value appears too low, especially for stores with multiple registers. The analyst realizes that because each product sold in a transaction creates a separate row in sales_fact, a single transaction with multiple items contributes multiple rows. The current calculation divides by the number of rows rather than the number of distinct transactions. Which of the following is the best course of action to correct the average transaction value metric? (Choose one.)

⚠ Common exam trap

It's easy for candidates to confuse row-level aggregation with entity-level aggregation — candidates see 'average' and reach for AVG without checking the fact table grain, missing that COUNT(*) counts line items, not transactions.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Create a calculated field that sums sales per transaction (quantity * price) and then averages across distinct transaction IDs

The metric is wrong because the denominator counts fact rows (one per product line), not transactions. The correct approach is to compute the transaction-level total (SUM of quantity * price grouped by transaction_id) and then average those distinct transaction totals. Option D captures this exactly: sum sales per transaction, then average across distinct transaction IDs, which yields the true average transaction value.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Use the MEDIAN function instead of AVG

    Why it's wrong here

    The median returns the middle transaction value, not the mean, so it answers a different question and leaves the row-level COUNT(*) denominator untouched. It appeals because medians resist skew from large basket sizes, which is useful when outliers distort averages, but the stem's defect is grain, not distribution.

  • ✗

    Aggregate the data at the transaction level before calculating the average

    Why it's wrong here

    This is too vague; it does not specify how to aggregate or handle the calculation.

  • ✗

    Use a different data model that denormalizes transaction totals into a new fact table

    Why it's wrong here

    Denormalising transaction totals into a new fact table changes the model's grain but does not by itself correct the metric, and rebuilding the schema is unnecessary when the existing sales_fact already carries transaction_id for distinct counting. It tempts because pre-aggregated fact tables genuinely suit transaction-level reporting.

  • ✓

    Create a calculated field that sums sales per transaction (quantity * price) and then averages across distinct transaction IDs

    Why this is correct

    The inflated row count from multi-item transactions skews the divisor. Summing quantity times price per transaction and averaging across distinct transaction IDs restores the correct denominator, giving the true average transaction value store managers expect.

About these practice questions

Courseiva writes every DA0-002 question from scratch — 1,004 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official CompTIA exam blueprint

This DA0-002 practice question is part of Courseiva's free CompTIA certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DA0-002 exam.