Bird
Raised Fist0
Power BIbi_tool~8 mins

COUNTROWS in Power BI - Dashboard Guide

Choose your learning style10 modes available
Dashboard Mode - COUNTROWS
Dashboard Goal

How many sales transactions happened in total and by each product category?

Sample Data
TransactionIDProductCategorySalesAmount
1Electronics200
2Clothing150
3Electronics300
4Clothing100
5Home250
6Electronics400
Dashboard Components
  • Total Transactions (KPI Card): Shows total number of sales transactions.
    Total Transactions = COUNTROWS(Sales)
    Result: 6
  • Transactions by Category (Bar Chart): Shows count of transactions per product category.
    Transactions by Category = COUNTROWS(Sales) used with category axis.
    Results:
    • Electronics: 3
    • Clothing: 2
    • Home: 1
  • Sales Data Table: Displays raw sales data for reference.
Dashboard Layout
+-----------------------+-----------------------+
| Total Transactions KPI | Transactions by Cat   |
|        (CountRows)     |      (Bar Chart)      |
+-----------------------+-----------------------+
|                   Sales Data Table               |
+-------------------------------------------------+
Interactivity

Clicking a product category bar filters the Sales Data Table and updates the Total Transactions KPI to show only transactions in that category.

Self Check

If you add a filter for ProductCategory = Electronics, what is the updated Total Transactions count?

Answer: 3 transactions.

Key Result
Dashboard shows total sales transactions and counts by product category using COUNTROWS.

Practice

(1/5)
1. What does the COUNTROWS function do in Power BI?
easy
A. Filters rows based on a condition
B. Calculates the sum of values in a column
C. Returns the maximum value in a column
D. Counts the number of rows in a table or filtered table

Solution

  1. Step 1: Understand the purpose of COUNTROWS

    The COUNTROWS function is designed to count how many rows exist in a given table or filtered table.
  2. Step 2: Compare with other functions

    Unlike SUM or MAX, COUNTROWS does not perform calculations on values but counts rows.
  3. Final Answer:

    Counts the number of rows in a table or filtered table -> Option D
  4. Quick Check:

    COUNTROWS counts rows [OK]
Hint: Remember: COUNTROWS counts rows, not values or sums [OK]
Common Mistakes:
  • Confusing COUNTROWS with SUM or MAX functions
  • Thinking COUNTROWS filters data instead of counting
  • Assuming COUNTROWS returns values from columns
2. Which of the following is the correct syntax to count rows in a table named Sales using DAX?
easy
A. COUNTROWS(Sales)
B. COUNTROWS = Sales
C. COUNTROWS[Sales]
D. COUNTROWS{Sales}

Solution

  1. Step 1: Recall DAX function syntax

    DAX functions use parentheses to pass arguments, so COUNTROWS requires parentheses around the table name.
  2. Step 2: Check each option

    COUNTROWS(Sales) uses correct syntax: COUNTROWS(Sales). Options A, B, and D use invalid syntax with brackets, equal sign, or braces.
  3. Final Answer:

    COUNTROWS(Sales) -> Option A
  4. Quick Check:

    COUNTROWS(table) uses parentheses [OK]
Hint: Use parentheses for function arguments in DAX [OK]
Common Mistakes:
  • Using square brackets or braces instead of parentheses
  • Writing an equal sign inside the function call
  • Missing parentheses around the table name
3. Given a table Orders with 100 rows, and a filter applied to only include rows where Region = "West" which has 30 rows, what will COUNTROWS(FILTER(Orders, Orders[Region] = "West")) return?
medium
A. 30
B. 100
C. 0
D. Syntax Error

Solution

  1. Step 1: Understand the FILTER function

    FILTER returns a table with only rows where Region equals "West", which is 30 rows.
  2. Step 2: Apply COUNTROWS to filtered table

    COUNTROWS counts the rows in the filtered table, so it returns 30.
  3. Final Answer:

    30 -> Option A
  4. Quick Check:

    COUNTROWS of filtered 30 rows = 30 [OK]
Hint: COUNTROWS counts after filtering rows [OK]
Common Mistakes:
  • Counting all rows ignoring the filter
  • Assuming FILTER returns a number, not a table
  • Expecting a syntax error due to FILTER usage
4. You wrote this DAX formula: COUNTROWS FILTER(Sales, Sales[Amount] > 100). What is the problem?
medium
A. FILTER should be replaced with CALCULATE
B. COUNTROWS cannot be used with FILTER
C. Missing parentheses around FILTER arguments
D. Sales[Amount] > 100 is invalid syntax

Solution

  1. Step 1: Check function syntax

    FILTER is a function and requires parentheses around its arguments.
  2. Step 2: Identify missing parentheses

    The formula misses parentheses after COUNTROWS and FILTER, it should be COUNTROWS(FILTER(Sales, Sales[Amount] > 100)).
  3. Final Answer:

    Missing parentheses around FILTER arguments -> Option C
  4. Quick Check:

    Functions need parentheses [OK]
Hint: Always use parentheses for all function calls [OK]
Common Mistakes:
  • Omitting parentheses for nested functions
  • Thinking COUNTROWS can't use FILTER
  • Misusing comparison operators inside FILTER
5. You want to create a measure that counts how many customers made purchases over $500. The table Sales has columns CustomerID and Amount. Which DAX formula correctly counts distinct customers with purchases over $500?
hard
A. COUNTROWS(DISTINCT(FILTER(Sales[CustomerID], Sales[Amount] > 500)))
B. COUNTROWS(DISTINCT(SELECTCOLUMNS(FILTER(Sales, Sales[Amount] > 500), "Customer", Sales[CustomerID])))
C. COUNTROWS(FILTER(Sales, Sales[Amount] > 500))
D. COUNTROWS(VALUES(Sales[CustomerID]))

Solution

  1. Step 1: Understand the requirement

    We need to count distinct customers who have purchases over $500.
  2. Step 2: Analyze each option

    COUNTROWS(FILTER(Sales, Sales[Amount] > 500)) counts all sales rows over $500, not distinct customers.
    COUNTROWS(DISTINCT(FILTER(Sales[CustomerID], Sales[Amount] > 500))) attempts to filter a column instead of a table, causing syntax error.
    COUNTROWS(DISTINCT(SELECTCOLUMNS(FILTER(Sales, Sales[Amount] > 500), "Customer", Sales[CustomerID]))) correctly filters sales over $500, selects CustomerID column, then gets distinct customers and counts rows.
    COUNTROWS(VALUES(Sales[CustomerID])) counts all distinct customers regardless of purchase amount.
  3. Final Answer:

    COUNTROWS(DISTINCT(SELECTCOLUMNS(FILTER(Sales, Sales[Amount] > 500), "Customer", Sales[CustomerID]))) -> Option B
  4. Quick Check:

    Filter, select column, distinct, then count rows [OK]
Hint: Filter, select column, distinct, then count rows [OK]
Common Mistakes:
  • Counting rows instead of distinct customers
  • Using DISTINCT incorrectly on filtered table
  • Ignoring filtering before counting distinct
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard