Data Analytics
Hands-onBeginner 45 min· Insights and storytelling · 6 of 10

Dashboards with Power BI and Looker Studio

Build the same small sales dashboard twice, once in Power BI Desktop and once in Looker Studio. You will learn how to connect data, define measures, pick charts, add filters and avoid the mistakes that make dashboards useless.

A dashboard is one screen that answers a few recurring questions at a glance: How are we doing? Is it better or worse than before? Where should I look next? It is not a place to show every chart you can make.

What you will build: a one-page dashboard for Brew & Bean with three KPI cards (revenue, orders, average order value), a monthly revenue trend, revenue by store, a top-items chart and a store filter. You will build it in Power BI Desktop and in Looker Studio so you can choose the tool you like.

Prerequisites: you should know what a metric is (see *Business metrics and KPIs*) and be comfortable with a table of rows and columns (see *Spreadsheets for analysis*). You need either a Windows PC for Power BI Desktop (free to download; it does not run on macOS or Linux) or any browser and a Google account for Looker Studio (free).

Step 0: the data

Both tools read a flat table where each row is one line of an order. Save the sample below as sales_sample.csv. It has the same columns as the larger sales.csv you will generate in the project lesson, so everything you build here carries over.

When your dashboard works on 10 rows, replace the file with the big one and it will keep working.

sales_sample.csv
order_id,order_date,store,item_id,item_name,category,unit_price,qty,revenue
1001,2026-01-03,Indiranagar,cappuccino,Cappuccino,coffee,180,2,360
1001,2026-01-03,Indiranagar,croissant,Butter Croissant,bakery,150,1,150
1002,2026-01-03,Koramangala,masala-chai,Masala Chai,tea,90,1,90
1003,2026-01-17,HSR Layout,cold-brew,Cold Brew,coffee,220,1,220
1004,2026-01-25,Indiranagar,filter-coffee,Filter Coffee,coffee,80,2,160
1005,2026-02-02,Koramangala,veg-sandwich,Veg Grilled Sandwich,food,160,1,160
1005,2026-02-02,Koramangala,espresso,Espresso,coffee,120,1,120
1006,2026-02-14,Indiranagar,banana-bread,Banana Bread,bakery,130,2,260
1007,2026-02-20,HSR Layout,cappuccino,Cappuccino,coffee,180,1,180
1008,2026-03-05,Indiranagar,masala-chai,Masala Chai,tea,90,2,180

Order 1001 has two rows because the customer bought two items. This is why 'orders' must be counted as distinct order_id, not as rows.

Rows are not orders

In this table one order can span several rows. If you count rows you will overstate the number of orders. Always count distinct order_id for orders.

Part A: Power BI Desktop

Load the data

  1. 1Open Power BI Desktop. Choose Get data, then Text/CSV, and select sales_sample.csv.
  2. 2In the preview window click Transform Data (not Load). This opens Power Query, where you can fix types before building anything.
  3. 3Check the column types: order_date must be Date, unit_price, qty and revenue must be Whole Number, the rest Text. Fix any that are wrong with the type icon in each column header.
  4. 4Click Close & Apply. The table appears in the Data pane on the right, named sales_sample.

Fixing types first matters. If order_date is Text, you cannot get a proper monthly trend, and if revenue is Text, you cannot sum it.

Create measures with DAX

  1. 1Right-click the sales_sample table in the Data pane and choose New measure.
  2. 2Type the first measure from the code block below and press Enter. Repeat for the other two.
  3. 3Measures are calculated when a chart needs them, so they respond to filters automatically. That is why you use measures, not a new column, for totals and ratios.
DAX measures
Total Revenue = SUM(sales_sample[revenue])

Orders = DISTINCTCOUNT(sales_sample[order_id])

Avg Order Value = DIVIDE([Total Revenue], [Orders])

DAX is the formula language of Power BI. DIVIDE returns blank instead of an error when the denominator is zero, which is safer than the / operator.

Build the visuals

  1. 1Add three Card visuals from the Visualizations pane. Drag Total Revenue, Orders and Avg Order Value into one each. Place them in a row at the top.
  2. 2Add a Line chart. Put order_date on the X-axis and remove the Year, Quarter and Day levels from the date hierarchy so only Month remains (click the small cross next to each level). Put Total Revenue on Y-axis.
  3. 3Add a Clustered bar chart. Put store on the Y-axis and Total Revenue on X-axis.
  4. 4Add another Clustered bar chart. Put item_name on the Y-axis and Total Revenue on X-axis. In the Filters pane, set this visual's filter on item_name to Top N, show the top 5 by Total Revenue.
  5. 5Add a Slicer visual and drag store into it. In its format options choose a Tile or List style.
  6. 6Click one store in the slicer. Every chart and card should change. If one does not, check that it uses a measure or a field from the same table.

Sort and label

Sort bar charts from largest to smallest (the three-dot menu, then Sort axis). Give each visual a plain title such as 'Revenue by store (₹)'. Turn on data labels if there are few bars. Readers should never have to guess what a chart shows.

Save the file as brew_and_bean.pbix. To share it outside your PC you can publish to the Power BI service; at the time of writing (2026) sharing reports with other people generally needs a paid licence or capacity, so for a portfolio many learners share screenshots, a short screen recording or a PDF export instead. Check Microsoft's current licensing page before you rely on it.

Part B: Looker Studio

Connect the data

  1. 1Go to lookerstudio.google.com and sign in with your Google account. Choose Create, then Report.
  2. 2When asked for a data source, pick Google Sheets (upload sales_sample.csv to Google Drive and open it as a Google Sheet first) or the File Upload connector for a CSV.
  3. 3Authorise and add the data. Looker Studio opens a blank canvas and a Data panel on the right.
  4. 4In the data source settings (Resource, then Manage added data sources, then Edit), check the types: order_date should be Date (YYYYMMDD or Date), revenue should be Number. Fix them there if needed, and set the default aggregation of numeric fields to Sum.

Calculated fields and charts

  1. 1In the data source editor choose Add a field and create Orders with the formula COUNT_DISTINCT(order_id).
  2. 2Create another field Avg Order Value with the formula SUM(revenue) / COUNT_DISTINCT(order_id).
  3. 3Back on the canvas use Add a chart, then Scorecard three times. Set the metrics to SUM(revenue), Orders and Avg Order Value.
  4. 4Add a Time series chart. Set the dimension to order_date and change its granularity to Year Month. The metric is SUM(revenue).
  5. 5Add a Bar chart with dimension store and metric SUM(revenue). Add a second bar chart with dimension item_name, metric SUM(revenue), sorted descending with Rows per page set to 5.
  6. 6Add a control: Add a control, then Drop-down list, with the control field set to store. Select a store in View mode to confirm every chart responds.
Looker Studio calculated fields
Orders:           COUNT_DISTINCT(order_id)
Avg Order Value:  SUM(revenue) / COUNT_DISTINCT(order_id)

Looker Studio formulas use SUM(), COUNT_DISTINCT() and similar functions directly on fields. There is no separate measures window.

Looker Studio reports are shared like Google Docs: use Share, then pick specific people or a link. Reports on a public link are visible to anyone who has it, so never put sensitive customer data in one.

Choosing between the two

Power BI vs Looker Studio

QuestionPower BILooker Studio
Where it runsDesktop app on Windows, plus an online serviceIn the browser
Cost to learnDesktop is free to downloadFree with a Google account
Strong atModelling several tables, DAX, big data, company reportingQuick reports on Sheets, BigQuery and Google data, easy sharing
Learning curveSteeper (DAX, relationships)Gentler
Common in jobsVery common in companies that use MicrosoftCommon in marketing and Google-centred teams

Both teach the same ideas: connect, clean types, define metrics, choose charts, filter. A learner who knows one picks up the other in a day. Tableau is another common tool; the same thinking applies.

Design rules that make a dashboard useful

Which chart for which question

QuestionChartAvoid
How has it changed over time?Line chartPie chart
Which is biggest or smallest?Sorted bar chart3D charts
What is the single number now?Card or scorecard with a comparisonA chart with one bar
What are the exact values?A tableA dozen bar charts
What share is each part?A bar chart (or a pie with 2 or 3 slices at most)Pie with 8 slices

Dashboard quality check

  1. The top-left card shows the one number the reader cares most about.
  2. Every visual has a plain-English title with units (₹, orders, %).
  3. Numbers use the same format everywhere (for example ₹1,25,000 or 1.25 L, not both).
  4. Colours mean something: one colour for normal, a different one only to highlight.
  5. Filters are visible and labelled; the date range is stated on the page.
  6. No chart exists just because the tool made it easy.

Common mistakes

Summing a ratio (adding up averages or percentages across rows gives a wrong number; recompute the ratio from totals as you did for average order value). Counting rows instead of distinct orders. Leaving dates as text. A dashboard with 15 visuals where nobody knows where to look. Showing a number with no comparison, so nobody can tell whether it is good.

Prompt · Get chart advice from AI
I am building a dashboard for [business, for example a 3-outlet coffee shop]. The reader is [role, for example the owner who checks it every Monday]. These are the columns I have: [paste column names and one example row].

Suggest the 3 KPI cards and 4 charts that would answer the owner's likely questions. For each, say the metric, the dimension, the chart type and the question it answers. Tell me which of my columns I would need to calculate first.

What to expect: Check that every suggestion uses columns you actually have, and that ratios are calculated from totals, not summed.

Try it: Add a comparison and a category filter

Extend your dashboard: 1. Add a second slicer or drop-down for category. 2. Add a chart showing revenue split by category as a sorted bar chart. 3. Add a card showing revenue for the latest month and, if you can, the change from the previous month.

Key takeaways

  1. A dashboard answers a few recurring questions; it is not a gallery of charts.
  2. Fix data types first, then define measures once and reuse them in every visual.
  3. Count distinct orders, and calculate ratios from totals, not from averages.
  4. Match chart to question: line for time, sorted bar for ranking, card for the headline number.
  5. Power BI and Looker Studio use the same ideas; learn one and the other is easy.
  6. Test your filters: every visual should respond when you click one.

Check yourself

Finishing the quiz marks the lesson as done.

1. Why is the number of orders calculated as a distinct count of order_id in the sample data?

2. What is the safest way to build 'average order value' in a dashboard?

3. Which chart best answers 'how has revenue changed month by month'?

4. You click a store in your slicer and one chart does not change. What is the most likely cause?

5. Which setup is a problem for a monthly trend?

Saved on this device. Create a free account to keep it on every device.

Practise this with Sam

A real mock interview, out loud, with an honest scorecard. Free to start.

Start free