BIDA Exam Prep Free practice test →

Free BIDA Practice Questions

10 free, exam-style Business Intelligence & Data Analyst (BIDA) practice questions with answers and explanations. No signup required. Work through them below, then take the full free BIDA practice test to study every exam domain.

Question 1

A Power BI analyst creates this calculated column in the Sales table: Revenue Pct = Sales[Amount] / CALCULATE(SUM(Sales[Amount]), ALL(Sales)) She expects the column to update dynamically when a Region slicer is used. After selecting 'North', all Revenue Pct values remain unchanged. What is the MOST likely explanation?

  1. CALCULATE inside a calculated column cannot modify filter context the same way it does inside a measure, so the denominator always reflects the unfiltered grand total regardless of any slicer state
  2. Calculated columns are evaluated once at model refresh and do not respond to slicers or visual filters - a measure is required for context-sensitive calculations
  3. The ALL(Sales) argument strips the slicer filter before it can apply, so the formula must be rewritten using ALLSELECTED to respect the current visual context
  4. Calculated columns cannot reference their own table inside CALCULATE without using RELATEDTABLE to safely navigate the model relationship
Show answer & explanation

Correct answer: B - Calculated columns are evaluated once at model refresh and do not respond to slicers or visual filters - a measure is required for context-sensitive calculations

Question 2

A financial analyst receives a budget workbook where each of twelve months is a separate column containing revenue figures. She connects the file to Power BI via Power Query. Which single transformation creates a structure suitable for time-series analysis in Power BI?

  1. Append the twelve monthly columns to form a single consolidated annual revenue total
  2. Use Group By on the month columns to aggregate and summarise revenue values, creating one consolidated summary row that represents the average across all twelve monthly periods
  3. Pivot the month columns by selecting the month headers as the new row grouping field
  4. Unpivot the twelve monthly columns so each month becomes a separate row with a period label and a revenue value
Show answer & explanation

Correct answer: D - Unpivot the twelve monthly columns so each month becomes a separate row with a period label and a revenue value

Question 3

An analyst creates this measure in Power BI: All Products Sales = CALCULATE([Total Sales], ALL(Products)) A table visual has Product Category on rows and All Products Sales as a value column. What does this measure display for each category row?

  1. The grand total of all product sales, repeated identically for every category row regardless of which category is displayed
  2. The total sales for only the products belonging to each displayed category, consistent with the visual's row filter context
  3. An error, because ALL() must reference a column rather than a full table when used as a CALCULATE filter argument
  4. The cumulative sales from the first category row to the current row, following a default top-to-bottom evaluation sequence
Show answer & explanation

Correct answer: A - The grand total of all product sales, repeated identically for every category row regardless of which category is displayed

Question 4

An analyst runs the following SQL query and receives an error: SELECT Region, SUM(Revenue) AS TotalRevenue FROM Sales WHERE SUM(Revenue) > 500000 GROUP BY Region What is the MOST likely cause of the error?

  1. The alias TotalRevenue cannot be referenced in the same SELECT clause where it is first defined
  2. GROUP BY must appear before WHERE in the written clause order for the query to execute correctly
  3. Aggregate functions cannot appear in a WHERE clause - the filter on SUM(Revenue) must be moved to a HAVING clause
  4. SUM() requires a DISTINCT modifier to prevent double-counting revenues when used alongside GROUP BY in the same query block, which has been omitted here
Show answer & explanation

Correct answer: C - Aggregate functions cannot appear in a WHERE clause - the filter on SUM(Revenue) must be moved to a HAVING clause

Question 5

A Tableau analyst builds a view showing the Top 10 customers by revenue using a Top N filter. She adds a Region quick filter so users can isolate a specific region. After selecting 'East', several non-East customers still appear in the Top 10. What is the MOST appropriate fix?

  1. Rebuild the Top 10 as a table calculation so it re-evaluates after all dimension filters have been applied in the order of operations
  2. Promote the Region filter to a context filter so the Top 10 calculation is scoped to only the records that pass the Region condition
  3. Replace the Region quick filter with a filter action driven from a separate Region reference sheet to enforce the correct evaluation sequence
  4. Change the Customer dimension from Continuous to Discrete so that each customer is treated as an individual categorical member rather than a position on a continuous scale, allowing the Top N condition to evaluate correctly against distinct values
Show answer & explanation

Correct answer: B - Promote the Region filter to a context filter so the Top 10 calculation is scoped to only the records that pass the Region condition

Question 6

A finance analyst uses VLOOKUP to retrieve employee names from an HR lookup table. The table is sorted in ascending order by Employee ID, the match_type argument is set to FALSE, and data types and cell values have been verified to match exactly with no leading or trailing spaces. Employee ID is in column C of the array and Name is in column A. The formula returns #N/A for every record. What is the MOST likely cause?

  1. VLOOKUP searches left to right only - it cannot return a value from a column that sits to the LEFT of the lookup column within the selected array
  2. Even with match_type set to FALSE, VLOOKUP still requires the first column of the lookup array to be sorted in ascending order to correctly locate exact match values
  3. The #N/A errors are caused by a structural mismatch between the lookup range and the source table that only becomes visible when Employee ID is not in the first column of the array range selected
  4. VLOOKUP is limited to lookup arrays spanning fewer than 256 columns - selecting a wide range that includes columns to the left of Employee ID may push the return column index beyond the maximum allowed offset value for this function
Show answer & explanation

Correct answer: A - VLOOKUP searches left to right only - it cannot return a value from a column that sits to the LEFT of the lookup column within the selected array

Question 7

After fitting a linear regression model, an analyst plots the residuals against the predicted values and observes a funnel shape - the scatter of residuals clearly widens as predicted values increase. Which OLS assumption is violated?

  1. No autocorrelation - residuals must be independent across all observations, showing no systematic or sequential pattern that would indicate temporal or spatial clustering in the error terms
  2. No multicollinearity - the independent variables must not be substantially correlated with one another, as high inter-predictor correlation inflates standard errors and destabilises coefficient estimates
  3. Normality of residuals - the error terms must follow an approximately normal distribution and should not display increasing spread as a function of the predicted values
  4. Homoscedasticity - the variance of the residuals must remain constant across all levels of the predicted values rather than expanding in a fan or funnel pattern
Show answer & explanation

Correct answer: D - Homoscedasticity - the variance of the residuals must remain constant across all levels of the predicted values rather than expanding in a fan or funnel pattern

Question 8

A data warehouse designer is building a retail analytics model in Power BI. Products belong to subcategories, and subcategories belong to departments. In a star schema, how should this product hierarchy be modeled?

  1. Create three separate dimension tables - Product, Subcategory, and Department - each joined directly to the Sales fact table via its own dedicated foreign key column in the fact table
  2. Store the hierarchy as a parent-child recursive table where each node holds a reference to its parent ID, preserving relational integrity while minimising attribute redundancy across dimension levels
  3. Flatten the hierarchy into a single Product dimension table with ProductName, SubcategoryName, and DepartmentName as regular attribute columns
  4. Add a bridge table between Subcategory and Department to resolve what the designer suspects is a many-to-many relationship embedded within the product hierarchy structure
Show answer & explanation

Correct answer: C - Flatten the hierarchy into a single Product dimension table with ProductName, SubcategoryName, and DepartmentName as regular attribute columns

Question 9

A business analyst presents a monthly revenue trend to the CFO using a bar chart where the y-axis begins at $950,000 instead of $0. After viewing the chart - where one bar appears nearly double the height of another - the CFO approves a major budget reallocation. The analyst's manager later flags the chart as misleading. What is the PRIMARY design violation?

  1. The analyst used a bar chart rather than a line chart, which is the standard format for displaying a financial metric measured across consecutive time periods
  2. Truncating the y-axis exaggerates the visual difference between bars, distorting the perceived magnitude of variation and misrepresenting the data to decision-makers
  3. The chart lacks data labels on each bar, making it impossible for the CFO to verify the exact revenue figures before committing to a decision
  4. Bar charts are inappropriate for executive financial presentations because they fail to communicate precise numerical values as effectively as a formatted data table, and a supporting table should always accompany any chart shown to the C-suite to enable independent verification of the underlying figures
Show answer & explanation

Correct answer: B - Truncating the y-axis exaggerates the visual difference between bars, distorting the perceived magnitude of variation and misrepresenting the data to decision-makers

Question 10

An analyst runs the following line of Python code on a DataFrame called df: result = df.loc[df['Profit'] < 0, ['Region', 'Product', 'Profit']] What does result contain?

  1. All rows where Profit is negative, returning only the Region, Product, and Profit columns
  2. The sum of Profit values grouped by Region and Product for every row where Profit falls below zero
  3. All rows from df with a new Boolean column appended that flags each row where Profit is less than zero
  4. The first row in df that satisfies the Profit condition, with only the three specified column labels returned
Show answer & explanation

Correct answer: A - All rows where Profit is negative, returning only the Region, Product, and Profit columns

Ready for the real thing?

Practice hundreds more BIDA questions with instant scoring, weak-area drills, and full exam simulations.

Start the free practice test See pricing