0% found this document useful (0 votes)
160 views17 pages

Accenture Data Analyst Interview Questions

The document outlines SQL and Power BI interview questions for a Data Analyst position at Accenture, targeting candidates with 1-4 years of experience and a salary range of 9-13 LPA. It includes SQL queries for various tasks such as fetching employee salaries, analyzing customer orders, and calculating profit margins, as well as Power BI tasks related to creating dynamic reports and implementing Row-Level Security. Additionally, it features behavioral questions to assess candidates' problem-solving and collaboration skills in data analysis scenarios.

Uploaded by

anwar ansari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
160 views17 pages

Accenture Data Analyst Interview Questions

The document outlines SQL and Power BI interview questions for a Data Analyst position at Accenture, targeting candidates with 1-4 years of experience and a salary range of 9-13 LPA. It includes SQL queries for various tasks such as fetching employee salaries, analyzing customer orders, and calculating profit margins, as well as Power BI tasks related to creating dynamic reports and implementing Row-Level Security. Additionally, it features behavioral questions to assess candidates' problem-solving and collaboration skills in data analysis scenarios.

Uploaded by

anwar ansari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Accenture Data Analyst

Interview
YoE (1–4 Years)
CTC: 9–13 LPA

SQL Questions
1. Write a query to fetch the top 3 employees with the highest
salaries from an Employees table.
Fetch the Top 3 Employees with the Highest Salaries

Input Table: Employees

emp_id emp_name salary

101 Alice 95000

102 Bob 87000

103 Charlie 91000

104 David 75000

105 Eve 99000

Query:

SELECT emp_id, emp_name, salary


FROM Employees

ORDER BY salary DESC

LIMIT 3;

2. Write a Query to Find Customers Who Have Placed More Than


5 Orders in the Last 30 Days
Input Table: Orders

order_id customer_id order_date

201 1 2024-02-15

202 2 2024-02-10

203 1 2024-02-18

204 3 2024-02-20

205 1 2024-02-25

206 2 2024-02-27

207 1 2024-03-02

Query:

SELECT customer_id

FROM Orders

WHERE order_date >= NOW() - INTERVAL 30 DAY

GROUP BY customer_id

HAVING COUNT(order_id) > 5;


3. Write a Query to Retrieve the First and Last Purchase Date for
Each Customer
Input Table: Transactions

transaction_id customer_id purchase_date

301 1 2024-01-10

302 2 2024-01-12

303 1 2024-02-15

304 2 2024-02-20

305 1 2024-03-05

Query:

SELECT customer_id,

MIN(purchase_date) AS first_purchase,

MAX(purchase_date) AS last_purchase

FROM Transactions

GROUP BY customer_id;

4. Write a Query to Fetch All Orders Placed on Weekends


Input Table: Orders

order_id customer_id order_date

401 1 2024-02-17

402 2 2024-02-18

403 3 2024-02-19

404 1 2024-02-24

Query:
SELECT *

FROM Orders

WHERE DAYOFWEEK(order_date) IN (1, 7); -- 1 for Sunday, 7 for Saturday

5. Write a Query to Calculate the Average Sales per Region


Input Table: Sales

sales_id region sales_amount

501 North 50000

502 South 70000

503 North 80000

504 West 90000

Query:

SELECT region,

AVG(sales_amount) AS avg_sales

FROM Sales

GROUP BY region;

6. Write a query to Find the Second-Highest Salary Without


Using LIMIT or TOP
Query:

SELECT MAX(salary) AS second_highest_salary

FROM Employees

WHERE salary < (SELECT MAX(salary) FROM Employees);


7. Write a Query to Find Customers Who Have Never Placed an
Order
Input Tables:

Customers Table

customer_id customer_name

1 John

2 Alice

3 Bob

Orders Table

order_id customer_id

101 1

102 2

Query:

SELECT c.customer_id, c.customer_name

FROM Customers c

LEFT JOIN Orders o ON c.customer_id = o.customer_id

WHERE o.customer_id IS NULL;

8. Write a Query to Find the Most Frequently Sold Product in


Each Category
Input Table: Products

product_id category product_name

601 A Apple
product_id category product_name

602 B Banana

603 A Orange

Input Table: Sales

sale_id product_id quantity_sold

701 601 50

702 602 30

703 601 40

704 603 60

Query:

SELECT p.category, p.product_name, s.total_sold

FROM (

SELECT product_id, SUM(quantity_sold) AS total_sold,

RANK() OVER (PARTITION BY p.category ORDER BY SUM(quantity_sold) DESC) AS rnk

FROM Sales s

JOIN Products p ON s.product_id = p.product_id

GROUP BY p.category, s.product_id

)s

JOIN Products p ON s.product_id = p.product_id

WHERE s.rnk = 1;

9.Write a SQL query to Calculate Profit Margin for Each Product


and Rank Them Within Their Category
Input Table: Products
product_id category revenue cost

801 A 10000 7000

802 A 15000 9000

803 B 20000 15000

Query:

SELECT product_id, category,

(revenue - cost) / revenue AS profit_margin,

RANK() OVER (PARTITION BY category ORDER BY (revenue - cost) / revenue DESC) AS


rank

FROM Products;

10. Write a query to Fetch Orders Where the Total Order Value
Exceeds the Average Order Value
Input Table: Orders

order_id customer_id total_value

901 1 5000

902 2 7000

903 3 6000

904 4 8000

Query:

SELECT *

FROM Orders

WHERE total_value > (SELECT AVG(total_value) FROM Orders);


Power BI Questions
1. How would you create a dynamic report that shows revenue by
region and allows filtering by product and sales channel?

Creating a Dynamic Report for Revenue by Region with Filters for Product and Sales
Channel

Steps:

1. Load the data into Power BI.

2. Create a bar chart or matrix visual to display revenue by region.

3. Add slicers for Product and Sales Channel:

o Click on the Slicer visual in Power BI.

o Drag Product and Sales Channel fields into separate slicers.

4. Ensure that the slicers are synced across all report pages.

5. Use interactions to control how visuals respond to filters.

2. Write a DAX measure to calculate month-over-month revenue


growth.
DAX Measure for Month-over-Month Revenue Growth

MoM Growth =

VAR PrevMonthSales =

CALCULATE(

SUM(Sales[Revenue]),

PREVIOUSMONTH(Sales[Date])
)

VAR CurrentMonthSales = SUM(Sales[Revenue])

RETURN

IF(PrevMonthSales = 0, BLANK(), (CurrentMonthSales - PrevMonthSales) /


PrevMonthSales)

• This calculates the percentage change in revenue compared to the previous month.

3. Create a DAX measure to calculate cumulative sales for a


product category year-to-date.
DAX Measure for Cumulative Sales Year-to-Date (YTD) for a Product Category

Cumulative Sales YTD =

CALCULATE(

SUM(Sales[Revenue]),

FILTER(

ALLSELECTED(Sales),

Sales[Date] <= MAX(Sales[Date])

• This calculates running total sales for the selected product category in the current
year.

4. Explain how to create a slicer in Power BI to toggle between


different time periods (Monthly, Quarterly, Yearly).
Creating a Slicer to Toggle Between Monthly, Quarterly, and Yearly Views

Steps:

1. Create a calculated table with time periods:


TimePeriod = DATATABLE(

"Period", STRING,

{ "Monthly", "Quarterly", "Yearly" }

2. Add this table to a slicer.

3. Create a switch-based measure to adjust the date aggregation:

Revenue by Period =

SWITCH(

SELECTEDVALUE(TimePeriod[Period]),

"Monthly", SUM(Sales[Revenue]),

"Quarterly", CALCULATE(SUM(Sales[Revenue]), DATESQTD(Sales[Date])),

"Yearly", CALCULATE(SUM(Sales[Revenue]), DATESYTD(Sales[Date])),

SUM(Sales[Revenue]) -- Default to monthly if none selected

4. Use this measure in the report visuals.

5. Write a DAX formula to rank sales representatives based on


their total sales within each region.
DAX Formula to Rank Sales Representatives by Total Sales Within Each Region

Sales Rank =

RANKX(

FILTER(ALL(Sales), Sales[Region] = MAX(Sales[Region])),

SUM(Sales[Revenue]),

DESC,

DENSE
)

• This ranks sales reps based on total sales within their respective regions.

6. How would you implement Row-Level Security (RLS) in Power


BI to restrict data access based on user roles?
Implementing Row-Level Security (RLS) in Power BI

Steps:

1. Go to Model View → Manage Roles → Create New Role.

2. Define DAX Filter for the role:

[Region] = USERPRINCIPALNAME()

o This restricts users to see only their assigned region’s data.

3. Assign roles to users in the Power BI Service under Security settings.

7. How would you design a dashboard that dynamically


highlights top-performing regions and underperforming
products?
Designing a Dashboard to Highlight Top-Performing Regions and Underperforming
Products

Key Features:

• KPI Cards: Show overall revenue, profit, and sales trends.

• Bar Chart (Top-Performing Regions):

o Sort revenue in descending order.

o Use conditional formatting to highlight regions above the target.

• Table (Underperforming Products):

o Apply a DAX measure to flag products with sales below a threshold:

Low Sales Flag = IF(SUM(Sales[Revenue]) < 10000, "Underperforming", "Good")


o Apply conditional formatting to highlight low-performing products.

• Slicers for dynamic filtering by region, product, and sales channel.

8. Explain the steps to create a Data Flow in Power BI Service to


consolidate data from multiple sources.
Creating a Data Flow in Power BI Service

Steps:

1. Open Power BI Service → Go to Workspaces → Click New → Dataflow.

2. Select Add Data → Choose a data source (SQL, Excel, API, etc.).

3. Use Power Query Online to clean and transform data.

4. Define relationships and apply aggregations if needed.

5. Save and Refresh the Dataflow → Use it as a dataset in Power BI reports.

9. How do you optimize a large dataset in Power BI to improve


performance and refresh time?
Optimizing Large Datasets in Power BI for Performance & Refresh Time

Best Practices:

• Use Import Mode for smaller datasets, DirectQuery for real-time access.

• Remove Unused Columns in Power Query to reduce model size.

• Use Aggregations to pre-calculate summaries instead of detailed data.

• Create Star Schema: Avoid too many relationships and use fact & dimension
tables.

• Optimize DAX Measures: Prefer SUMX() over FILTER() when working with row-level
calculations.

• Reduce Data Granularity: Use pre-aggregated tables if possible.

• Enable Query Folding: Push transformations back to the database.


10. Demonstrate how you would use Power Query to:
Replace missing values in a dataset.
Unpivot columns to normalize the data.
Merge data from two files with different column names.

Power Query Tasks

(a) Replacing Missing Values

Steps:

1. Open Power Query Editor.

2. Select the column with missing values.

3. Click Transform → Replace Values → Enter a default value (0, Unknown, etc.).

4. Click Close & Apply to update the dataset.

M Code Alternative:

Table.ReplaceValue(Source, null, "Unknown", Replacer.ReplaceValue, {"ColumnName"})

(b) Unpivoting Columns to Normalize Data

Before Unpivoting:

Region Jan Sales Feb Sales Mar Sales

North 5000 6000 7000

South 4000 5000 6000

After Unpivoting:

Region Month Sales

North Jan Sales 5000


Region Month Sales

North Feb Sales 6000

South Jan Sales 4000

Steps in Power Query:

1. Select Jan Sales, Feb Sales, Mar Sales columns.

2. Click Transform → Unpivot Columns.

3. Rename the columns as Month and Sales.

(c) Merging Data from Two Files with Different Column Names

Example:

• File 1: Contains Customer_ID, Full_Name, Amount_Spent.

• File 2: Contains ID, Name, Total_Spent.

Steps in Power Query:

1. Load both files into Power Query.

2. Rename columns in File 2 to match File 1 (ID → Customer_ID, Name → Full_Name,


Total_Spent → Amount_Spent).

3. Click Home → Merge Queries.

4. Choose Customer_ID as the common key.

5. Expand the merged table and select required columns.

Behavioral & Scenario-Based Questions

1. Describe a time when you automated a reporting process to


improve efficiency.
Automating a Reporting Process for Efficiency
Situation: At my current role at Unisys, I was responsible for generating weekly reports on
incident resolution times for two clients. The manual process involved exporting data from
a data warehouse, cleaning it in Excel, and then updating Power BI dashboards.

Task: The process was time-consuming and prone to errors, so I needed to automate it to
improve efficiency.

Action:

• I leveraged Power Query to directly connect to the data warehouse and clean the
data within Power BI instead of using Excel.

• I used scheduled refresh in Power BI Service to automate data updates.

• I built DAX measures to calculate key metrics dynamically instead of using static
Excel formulas.

Result: The automation reduced report preparation time from 4 hours per week to 30
minutes, eliminated manual errors, and improved data refresh speed, allowing
stakeholders to access real-time insights.

2. Share an experience where you discovered a key business


insight through data analysis that influenced a decision.
Discovering a Key Business Insight Through Data Analysis

Situation: While analyzing customer support data for a client, I noticed an unusual
increase in chat support resolution times over the last quarter.

Task: My goal was to identify the cause of the issue and suggest improvements.

Action:

• I performed a trend analysis in Power BI and found that chat response times spiked
between 6 PM - 10 PM.

• Using data segmentation, I discovered that a new offshore support team was
handling chats during these hours.

• I compared chat transcripts before and after the shift change and identified that
agents lacked proper training, leading to delays.
Result: I presented the findings to the operations team, who implemented targeted
training. Within a month, chat resolution times improved by 25%, reducing customer
complaints.

3. How do you prioritize tasks when handling multiple projects


with tight deadlines?
Prioritizing Tasks With Multiple Projects & Tight Deadlines

Situation: As a Business Intelligence Engineer, I often work on multiple dashboards for


different clients, each with urgent deadlines.

Task: I needed to manage my time effectively while ensuring all deliverables met business
expectations.

Action:

• I used the Eisenhower Matrix to categorize tasks into urgent-important,


important-not-urgent, etc.

• I communicated with stakeholders to understand which insights were most critical


for decision-making.

• I leveraged Power BI templates and reusable DAX measures to speed up


development.

• I set up early-stage reviews to catch potential issues before the final submission.

Result: By focusing on high-impact tasks first and automating repetitive steps, I


successfully delivered all projects on time without compromising quality.

4. Have you faced discrepancies in data from different sources?


How did you resolve it?
Handling Discrepancies in Data From Different Sources

Situation: While building a financial dashboard, I noticed a mismatch between SQL-


based revenue data and Excel reports from the finance team.

Task: My goal was to identify the root cause and ensure accurate reporting.
Action:

• I compared data from multiple sources to pinpoint where discrepancies originated.

• I checked data refresh logs in Power BI and found that SQL data was updating
daily, while the Excel reports were manual uploads that were updated weekly.

• I worked with the finance team to standardize the data refresh frequency.

• I added a data validation step in Power Query to flag mismatches before the report
refresh.

Result: After implementing these changes, we eliminated data mismatches and improved
stakeholder trust in the dashboard.

5. How do you collaborate with cross-functional teams to ensure


data insights align with business goals?

Collaborating With Cross-Functional Teams for Business Insights

Situation: I worked on a customer retention dashboard for a retail client, requiring inputs
from marketing, sales, and customer service teams.

Task: My challenge was to ensure the dashboard provided insights that aligned with all
stakeholders' needs.

Action:

• I conducted stakeholder interviews to understand key metrics each team needed.

• I created mockup dashboards in Power BI and iterated based on feedback.

• I used row-level security (RLS) to ensure teams saw only relevant data.

• I set up monthly review meetings to refine the dashboard based on evolving


business needs.

Result: The final dashboard provided actionable insights, helping increase customer
retention by 12% in three months through targeted marketing campaigns.

You might also like