The full workflow from my Reel. Profile the data, brief Claude like an analyst, make it check its own work, then turn it into a dashboard. Copy each prompt, swap in your details, and go.
| order_id | order_date | region | product | qty | revenue |
|---|---|---|---|---|---|
| 1041 | 2026-01-12 | Jakarta | Coffee Beans 1kg | 3 | 675000 |
| 1042 | 12/01/2026 | jakarta | Coffee beans 1kg | 2 | 450000 |
| 1042 | 12/01/2026 | jakarta | Coffee beans 1kg | 2 | 450000 |
| 1043 | 2026-01-13 | Surabaya | Drip Kettle | 389000 | |
| 1044 | 2026-01-13 | Bandung | Hand Grinder | 1 | 9999999 |
| 1045 | 2026-01-14 | Medan | Paper Filters | 5 | Rp 60.000 |
This is what real data looks like, so don't clean it first. A good first prompt should make Claude find every one of these on its own:
In Claude, open Settings › Capabilities and switch on Code execution and file creation. This lets Claude run real Python on your whole file instead of guessing from a preview. It's usually on by default for personal accounts. On a Team or Enterprise plan, your admin controls it.
Up to 30 MB per file. One table per sheet works best. Headers in the first row help a lot.
Remove names, phone numbers, emails, and anything confidential before you upload. If it's company data, check your company's AI policy first.
Use the same messy file I use in my videos: 9,408 rows of made-up coffee sales with every problem above hidden inside. It's also the file behind the sample dashboard further down.
Download the practice fileExcel, 9,408 rows, about 400 KBOr ask Claude to make you a fresh one. Download it, then start a new chat and upload it, so Claude comes in fresh:
Fill these in once and every prompt below updates as you type. Anything you leave blank stays as a highlighted placeholder you can edit inside Claude.
Upload the raw file and ask Claude to understand it first. Most bad analysis starts with skipping this.
The row count matches what you see in Excel. It tells you what one row represents (an order? a customer? a day?). Problems come with counts, like “214 blank quantities”, not vague warnings.
Who you are, what you're deciding, and the questions you need answered. Context is what turns “interesting charts” into answers you can act on.
Every number comes with a calculation you can follow. The cleaning log explains any rows that disappeared. And when the data can't answer something, it says so instead of making it sound certain.
The step most people skip
Make Claude check its own work before you trust a single number. This is what separates a pretty chart from an analysis you can defend in a meeting.
Open your original file, make a quick pivot table, and compare the totals Claude flagged. It takes five minutes, and it's what makes the analysis yours. Claude can make mistakes; you own the conclusion.
Once the numbers are verified, turn them into something your manager can open on their phone.
The dashboard appears next to your chat, where you can open it full screen and share it. Every number on it matches the verified numbers from step 3. Open it on your phone once before you send it. There's a working sample right below.
A sample dashboard built with this exact workflow on a messy practice file: 9,408 raw rows, profiled, cleaned, reconciled, and then shipped. Try the filters.
Sample Coffee Co. Sample data
Five regions, three channels, twelve products. January 2025 to June 2026, in rupiah.
Volume: selling more or fewer units. Price: charging more or less per unit. Mix: a shift between cheaper and pricier products.
Selected quarter in dark blue, comparison quarter in mid blue.
Share of revenue by sales channel.
All numbers are made up for practice. The company and its sales are not real.
Stay in the same chat so Claude keeps the cleaned data and everything it already checked.