Alex Majale’s JCars Power BI project turns 276 transaction records into a report about revenue, profitability, vehicle sales, and delivery—but its most useful lesson comes before the dashboard: repeated IDs and messy values need investigation, not automatic deletion. Majale reports retaining all 276 rows after cleaning, building a star-schema model, and presenting the results across three report pages. The figures below are the author’s reported analysis, not independently audited business results.
What the JCars project set out to analyze
In a project article published on 29 September 2026, Alex Majale describes analyzing a JCars dataset with 276 transaction records and 46 columns. The fields covered customers, vehicles, locations, sales, payments, delivery, and costs. Majale treated each row as one transaction or order record and aimed to examine sales performance, revenue and profit, vehicle performance, customers and sales channels, delivery, operating costs, returns, and cancellations. Read Majale’s project article.
As an Amazon Associate I earn from qualifying purchases.
The work began with a practical question: what does the data actually allow the analyst to conclude? That question shaped how the records were cleaned, modeled, and interpreted.
Why repeated Order IDs were not automatically deleted
The dataset contained repeated Order IDs, including ord1020, CAR1086, and ord1174. Because the rows differed in other attributes, Majale did not treat a repeated identifier alone as proof that two records represented the same transaction. As the author puts it, “A duplicate value is not automatically a duplicate record.”
#1 Best Overall
Instead of removing these rows, the author retained them, assigned each fact row a unique Transaction Key, and kept the original Order ID as a source reference. This preserves potentially distinct records while separating the technical need for a unique row key from the business meaning of the original identifier.
| Choice | What it protects | What still needs checking |
|---|---|---|
| Delete every row with a repeated Order ID | A simpler dataset with fewer repeated identifiers | Whether distinct transaction details are discarded; the ID alone does not establish that rows are duplicates |
| Retain rows, assign unique Transaction Keys, and investigate | Potentially distinct transaction records and traceability to the source ID | Downstream counts must use the intended grain and avoid treating repeated Order IDs as unique transactions |
How the author handled inconsistent and missing data
Majale reports finding inconsistent customer types, regions, counties, cities, branches, lead sources, vehicle makes, fuel types, transmissions, vehicle years, discounts, prices, costs, delivery dates, and delivery statuses. Values included blanks, N/A, NULL, differences in capitalization, spelling variants, Excel serial dates, and invalid dates. For example, Toyota appeared with capitalization variants.
Not every apparent mismatch could safely be resolved. The author did not merge sales-representative names such as “Faith” and “Faith Achieng” without evidence that they referred to the same person. That restraint matters: standardizing formatting is different from deciding that two business entities are identical.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsRank #2
The reported Power Query work included standardizing text and categories, handling missing and placeholder values, assigning data types, validating numeric fields, investigating dates, adding calculated fields, and checking the transformed results. Majale reports retaining all 276 records with zero technical Power Query errors after transformation. That result describes the author’s transformation process; it does not by itself establish that every source value was factually correct.
How the Power BI model treated sales and delivery dates
The author reports organizing the data as a star schema with a central Fact Sales table and customer, vehicle, location, sales, payment, delivery, and date dimensions. The dedicated Date table covered 1 January 2025 through 15 July 2026.
Order Date had the active relationship to the Date table, making it the default date context for time-based analysis. Delivery Date had an inactive relationship, available for delivery-focused calculations when explicitly needed. This distinction prevents a date slicer from silently changing meaning: a report using the active relationship analyzes orders by order date unless a measure deliberately uses delivery date.
Reported DAX measures included total revenue, units sold, cost, profit, profit margin, average delivery days, average discount, delivery fees, logistics cost, revenue per unit, transaction count, average units per transaction, and profit per transaction. For total cost, Majale says the measure was calculated from units sold multiplied by unit cost rather than simply summing a pre-existing total-cost field.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
What the three report pages showed
The report was organized into Executive Overview, Sales & Profitability, and Delivery & Operations. The headline results reported by Majale from this dataset are:
| Measure or finding | Value reported by Alex Majale |
|---|---|
| Total revenue | $1.273 billion |
| Total profit | $455.46 million |
| Profit margin | 36% |
| Units sold | 452 |
| Transactions | 276 |
| Average delivery time | 16.76 days |
These are figures shown in Majale’s 2026 project account of the JCars dataset. The article does not provide independent validation of the source data or an audit of the calculations, so the numbers should not be read as verified company-wide performance.
Rank #4
Vehicle results that prompt follow-up
Toyota accounted for approximately $540.8 million in reported revenue from 137 units. BMW generated approximately $50.9 million in reported revenue with a margin around negative 2%. Majale presents the BMW result as a reason to investigate acquisition cost, selling price, discounts, and transaction records—not as proof of what caused the negative margin.
Delivery status and average time
In the author’s analysis, records marked Held averaged approximately 25 days, compared with approximately 15.4 days for records marked Delivered. The comparison describes the dataset’s observed status groups; it does not establish why the averages differ or whether status caused a longer delivery time.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Why date anomalies should remain visible
Majale reports negative calculated delivery periods for LCL-1080, CAR1219, ord1229, and LCL1236. The dataset also contained valid dates, blanks, placeholders, Excel serial values, and invalid dates. Rather than silently deleting the negative periods, the author retained them as visible data-quality issues.
That choice preserves evidence for investigation. A negative interval might reflect incorrect source dates or another record-level issue, but the project article does not establish which explanation applies to each case. Showing the anomalies makes the limitation easier to see than a cleaned metric that conceals how records were treated.
What this case study demonstrates—and what it cannot establish
The project offers a useful workflow for transaction analysis: define what one row represents, investigate repeated identifiers, preserve uncertain records, standardize only what the evidence supports, and model dates according to the question being asked. Those decisions affect what measures such as transaction count, profit margin, and average delivery time mean.
Its results remain a report of one project using one dataset. The article does not state the Power BI or Excel versions, provide reproducibility evidence, independently validate the input data, or audit the calculations. The dashboard figures are therefore best understood as Majale’s reported findings from the described dataset, not verified facts about JCars beyond that analysis.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

