Sales dashboard example: revenue by region and month
A sales dashboard shows how a defined sales measure changes across periods and selling groups. This synthetic example contains revenue of 150,000 from 75 completed orders across East and West, giving revenue per order of 2,000 for January–March 2026.
Updated
How can I try this sales dashboard with my CSV?
The live view opens the clearly marked synthetic sample. Choose Use my CSV or paste a CSV to replace it, then match the category, period and measure fields. Continue editing in xmetric carries the current view into the app.
Synthetic sample · January–March 2026 · illustrative currency units
Use a header row, one category column, one reporting-period column and a numeric measure. Use a numeric reporting period, YYYY-MM (for example 2026-01), or YYYY-MM-DD (for example 2026-01-31). Labels such as Q1 or Q2 are not supported; convert them to a numeric period or an explicit date before importing. Choose fields after importing. CSV limits: 32 MiB on lower-memory devices or 160 MiB on higher-memory devices, and 3.5 million source rows. Views support up to 10,000 marks per sheet. Continue editing supports up to 100,000 source rows.
Opening the synthetic sample. Your own CSV replaces it.
The live view aggregates the selected primary and comparison fields, calculates the defined comparison, and charts the primary measure by category and period. The linked sample record defines the expected values for the initial SUM settings. A ratio with a zero denominator is undefined.
What question does this dashboard example answer?
Review revenue contribution by region and month, keeping completed order counts distinct from CSV row counts.
Use the region split to identify where booked revenue comes from and the monthly trend to locate a change. Revenue alone does not show pipeline conversion, quota attainment or profitability; those need their own stage, target or cost definitions.
Which fields and row grain does this sample use?
Each of the six synthetic rows is one category-month summary for January–March 2026. The fields below define this example; importing a CSV does not import hidden Power BI measures or Tableau calculations.
| Field | Definition |
|---|---|
| Period | Booking month in YYYY-MM format; each completed order belongs to exactly one month. Your own CSV may use numeric periods, YYYY-MM or YYYY-MM-DD; Q1/Q2 labels are not supported. |
| Region | East or West, a synthetic sales region assigned to the completed orders. |
| Revenue | Booked revenue in illustrative currency units, already aggregated to region-month grain. |
| Orders | Number of completed orders for that region-month; sum this column, not CSV row counts. |
How are the worked sample metrics calculated?
The formulas below define this sample using all six rows, with no additional filters. They are independently checkable arithmetic expectations, rather than a claim of native Tableau or Power BI parity.
Download the exact synthetic sample CSV · Read the definitions and expected values (JSON)
| Metric | Formula | Defined sample value | Definition |
|---|---|---|---|
| Booked revenue | SUM(Revenue) | 150,000 | Add revenue over all six region-month rows. |
| Completed orders | SUM(Orders) | 75 | Add the Orders column; the CSV has six summary rows, not six orders. |
| Revenue per order | SUM(Revenue) / SUM(Orders) | 2,000 | 150,000 / 75; a zero order count leaves this ratio undefined. |
| East revenue share | 100 × East revenue / SUM(Revenue) | 60% | 90,000 / 150,000 × 100; West contributes the remaining 40%. |
Monthly revenue rises from 40,000 in January to 50,000 in February and 60,000 in March. East contributes 90,000 from 45 orders and West 60,000 from 30 orders. The regional revenue and order totals reconcile to 150,000 and 75.
Which exact rows produce those sample numbers?
The following rows are the complete authored sample behind this page, not customer data or an industry benchmark. Use the linked CSV and JSON record to reproduce the defined totals.
Download the exact synthetic sample CSV · Read the definitions and expected values (JSON)
| Period | Region | Revenue | Orders |
|---|---|---|---|
| 2026-01 | East | 24000 | 12 |
| 2026-01 | West | 16000 | 8 |
| 2026-02 | East | 30000 | 15 |
| 2026-02 | West | 20000 | 10 |
| 2026-03 | East | 36000 | 18 |
| 2026-03 | West | 24000 | 12 |
How do I prepare and inspect my own dashboard data?
Use one consistent row grain, identify the category and reporting-period columns, and select the numeric measure whose aggregation answers your question.
- Remove precomputed total rows when your CSV also contains their underlying detail.
- Use a numeric reporting period, YYYY-MM (for example 2026-01), or YYYY-MM-DD (for example 2026-01-31). Labels such as Q1 or Q2 are not supported; convert them to a numeric period or an explicit date before importing.
- Choose Use my CSV or paste the header and rows; match the category, period and measure controls to your columns.
- Start with SUM for additive measures. AVG is a mean of input rows, not a weighted ratio.
- Compare the total, category split and period view with the source export before continuing in xmetric.
What can change the interpretation of this dashboard?
Do not interpret six region-month rows as six orders. This sample already aggregates completed orders, so SUM(Orders) is the count of orders. If your export instead has one row per order line, deduplicate order IDs before defining an order-based ratio.
This CSV example supplies only the explicitly listed fields. A Power BI Desktop .pbix or Tableau .twbx workbook may contain additional calculations, filters and relationships; the CSV is not a replacement for those governed definitions.
Which dashboard example can I inspect next?
Choose a different example when its row grain and metric definitions better match the review you need to perform.
How do the measures in this dashboard differ?
These measures answer different questions over the same sample rows. A total, a count and a ratio have different definitions; changing the selected column does not create a new governed calculation.
| Measure | Question it answers | Formula | Defined sample value |
|---|---|---|---|
| Booked revenue | How much revenue was booked? | SUM(Revenue) | 150,000 |
| Completed orders | How many completed orders are represented? | SUM(Orders) | 75 |
| Revenue per order | What revenue is associated with each completed order? | SUM(Revenue) / SUM(Orders) | 2,000 |
What else do people ask?
This sales dashboard uses the explicitly defined sample fields above. The answers below clarify which measures are live, which are worked calculations, and which source files are available.
Is the sample a sales pipeline dashboard?
No. It contains completed order counts and booked revenue by region-month, with no opportunity stages, win dates or pipeline values. A pipeline dashboard requires those additional fields and a clear stage definition.
Does the live sales panel calculate revenue per order?
The panel divides the selected primary revenue aggregate by the selected order-count aggregate, then charts the primary measure by region and month. With the sample's default SUM settings, 150,000 divided by 75 gives revenue per order of 2,000. A zero order-count denominator leaves the ratio undefined. AVG changes the input aggregates and is not an average of per-order ratios.
Which reporting-period values can I use in my CSV?
Use a numeric reporting period, YYYY-MM (for example 2026-01), or YYYY-MM-DD (for example 2026-01-31). Labels such as Q1 or Q2 are not supported; convert them to a numeric period or an explicit date before importing.
Can I download this example as a Power BI .pbix file?
This page provides the exact synthetic CSV and its definition record. It does not provide a Power BI .pbix download. Continue in xmetric to inspect the actions available for the current workbook.
Are the sample numbers measured customer or native workbook results?
No. These are authored synthetic inputs and defined arithmetic expectations. They are neither customer results nor evidence of native Tableau or Power BI compatibility. Reconcile the live result to your own source after replacing the sample.