You must use FILTER to create a table of rows meeting the condition, then COUNTROWS counts those rows.
Can COUNTROWS be used on a calculated table expression?
AYes
BNo
COnly if the table is physical
DOnly with numeric columns
✗ Incorrect
COUNTROWS works on any table expression, including calculated or filtered tables.
What will COUNTROWS return if the table is empty?
AError
B1
C0
DNull
✗ Incorrect
COUNTROWS returns 0 when the table has no rows.
Which scenario is a good use case for COUNTROWS?
ACounting total sales amount
BCalculating average price
CFinding maximum sales date
DCounting how many customers made purchases
✗ Incorrect
COUNTROWS is useful to count how many rows meet a condition, like customers who made purchases.
Explain how COUNTROWS can be combined with FILTER to count specific rows in a table.
Think about filtering first, then counting.
You got /3 concepts.
Describe a real-life example where COUNTROWS would help in a sales report dashboard.
Imagine you want to know how many orders were made last month.
You got /3 concepts.
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
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.
Step 2: Compare with other functions
Unlike SUM or MAX, COUNTROWS does not perform calculations on values but counts rows.
Final Answer:
Counts the number of rows in a table or filtered table -> Option D
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
Step 1: Recall DAX function syntax
DAX functions use parentheses to pass arguments, so COUNTROWS requires parentheses around the table name.
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.
Final Answer:
COUNTROWS(Sales) -> Option A
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
Step 1: Understand the FILTER function
FILTER returns a table with only rows where Region equals "West", which is 30 rows.
Step 2: Apply COUNTROWS to filtered table
COUNTROWS counts the rows in the filtered table, so it returns 30.
Final Answer:
30 -> Option A
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
Step 1: Check function syntax
FILTER is a function and requires parentheses around its arguments.
Step 2: Identify missing parentheses
The formula misses parentheses after COUNTROWS and FILTER, it should be COUNTROWS(FILTER(Sales, Sales[Amount] > 100)).
Final Answer:
Missing parentheses around FILTER arguments -> Option C
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
Step 1: Understand the requirement
We need to count distinct customers who have purchases over $500.
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.
Final Answer:
COUNTROWS(DISTINCT(SELECTCOLUMNS(FILTER(Sales, Sales[Amount] > 500), "Customer", Sales[CustomerID]))) -> Option B
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 unknownstrongwhile earning +1 Grip toward your certificate.