Data Analytics
111K subscribers
219 photos
1 video
2 files
946 links
Perfect channel to learn Data Analytics

Learn SQL, Python, Alteryx, Tableau, Power BI and many more

For Promotions: @coderfun @love_data
Download Telegram
๐Ÿš€ Data Analyst Roadmap โ€” Part 20

๐Ÿง  SQL Level 10 โ€” Cohort Analysis, Retention & Customer Analytics

Now we're moving from writing SQL queries to using SQL for real analytical problems.

Customer analytics is one of the most important areas because businesses want to know:

๐Ÿ‘ฅ Who are our customers?

๐Ÿ›’ When did they first purchase?

๐Ÿ”„ Do they come back?

๐Ÿ“‰ When do they stop returning?

๐Ÿ’ฐ Which customers generate most revenue?

๐Ÿ“Š How does behavior change over time?

One of the most powerful techniques for this is Cohort Analysis.

๐Ÿ”น 1. What Is Cohort Analysis?

A cohort is a group who share a common starting point.

โ€ข Jan 2026 Cohort = first purchase in Jan 2026

โ€ข Feb 2026 Cohort = first purchase in Feb 2026

Instead of mixing everyone, we track each group over time.

๐Ÿ”น 2. Why It Matters

Suppose total monthly customers are increasing.

That sounds positive.

But what if new customers are increasing while existing customers stop returning?

A simple monthly report may hide this problem.

Cohort analysis separates New vs Returning customers.

This makes retention problems much easier to identify.

๐Ÿ”น 3. Step 1 โ€” Find Each Customer's First Purchase

SELECT
Customer_ID,
MIN(Order_Date) AS First_Order_Date
FROM Orders
GROUP BY Customer_ID;


This gives us the first purchase date for every customer.

Customer | First Order
C101 | 2026-01-10
C102 | 2026-01-18
C103 | 2026-02-05


๐Ÿ”น 4. Step 2 โ€” Assign a Cohort Month

We can convert the first purchase into a month-level cohort.

First Purchase Date โ†’ Cohort Month
C101 โ†’ 2026-01
C103 โ†’ 2026-02


The exact month-truncation syntax varies between SQL databases.

๐Ÿ”น 5. Step 3 โ€” Join Cohort Back to Orders

Now we need both:

Customer's cohort

and

Customer's subsequent activity

WITH Customer_Cohorts AS (
SELECT Customer_ID, MIN(Order_Date) AS First_Order_Date
FROM Orders GROUP BY Customer_ID
)
SELECT o.Customer_ID, c.First_Order_Date, o.Order_Date, o.Sales
FROM Orders o
JOIN Customer_Cohorts c ON o.Customer_ID = c.Customer_ID;


Now every transaction knows which cohort the customer belongs to.

๐Ÿ”น 6. Cohort Month vs Activity Month

โ€ข Cohort Month: When first purchased

โ€ข Activity Month: When purchase happened

Customer | Cohort | Activity
C101 | Jan | Jan
C101 | Jan | Feb
C101 | Jan | Mar


๐Ÿ”น 7. Measuring Retention

Retention measures how many customers from a cohort remain active in later periods.

Retention = Active in Period / Original Cohort * 100

โ€ข Jan cohort: 100 customers

โ€ข Feb: 60 active โ†’ 60%

โ€ข Mar: 40 active โ†’ 40%

๐Ÿ”น 8. Retention Month

Months Since Cohort = Activity - Cohort

Eg:

Customer | Cohort | Activity | Months_Since_Cohort
C101 | Jan | Jan | 0
C101 | Jan | Feb | 1
C101 | Jan | Mar | 2


๐Ÿ”น 9. Cohort Retention Matrix

Conceptually, the final result may look like:

Cohort | Month0 | Month1 | Month2 | Month3
Jan | 100% | 60% | 40% | 30%
Feb | 100% | 65% | 45% | โ€”
Mar | 100% | 70% | โ€” | โ€”


This is often called a cohort retention matrix.

It immediately shows whether newer customer cohorts are retaining better or worse.

๐Ÿ”น 10. Customer Lifetime Value (CLV)

Another important customer metric is Customer Lifetime Value (CLV/LTV).

A simplified version can be based on:

Total Revenue Generated by Customer

A more advanced business model may consider:

โ€ข Revenue

โ€ข Gross margin

โ€ข Purchase frequency

โ€ข Retention

โ€ข Customer lifespan

โ€ข Acquisition cost

๐Ÿ”น 11. Average Order Value (AOV)

A basic customer metric is:

Average Order Value = Total Sales รท Number of Orders

In SQL:
โค6
SELECT Customer_ID, SUM(Sales) / COUNT(DISTINCT Order_ID) AS AOV
FROM Orders GROUP BY Customer_ID;


This tells us how much a customer spends per order on average.

๐Ÿ”น 12. Purchase Frequency

We can also calculate the number of orders per customer:

SELECT Customer_ID, COUNT(DISTINCT Order_ID) AS Number_of_Orders
FROM Orders GROUP BY Customer_ID;


Customers can then be segmented based on activity.

For example:

โ€ข 1 order โ†’ One-time customer

โ€ข 2โ€“5 orders โ†’ Repeat customer

โ€ข 6+ orders โ†’ Highly active customer

โš ๏ธ These thresholds are business rules, not universal definitions.

๐Ÿ”น 13. Recency

SELECT Customer_ID, MAX(Order_Date) AS Last_Order_Date
FROM Orders GROUP BY Customer_ID;


Then compare the last order date with a chosen analysis date.

A customer who purchased recently is generally more active than someone whose last purchase was a long time ago.

๐Ÿ”น 14. RFM Analysis

โ€ข R โ†’ Recency: How recently?

โ€ข F โ†’ Frequency: How often?

โ€ข M โ†’ Monetary: How much?

Example:

Customer | Recency | Frequency | Monetary
C101 | 5 days | 12 orders | โ‚น85,000
C102 | 20 days | 6 orders | โ‚น42,000
C103 | 120 days| 2 orders | โ‚น8,000


This allows businesses to identify:

โญ High-value customers

๐Ÿ”„ Loyal customers

โš ๏ธ Customers at risk

๐Ÿ’ค Inactive customers

๐Ÿ”น 15. Segmentation With CASE

You can convert analytical metrics into business segments.

For example:

SELECT Customer_ID, Total_Sales,
CASE
WHEN Total_Sales >= 50000 THEN 'High Value'
WHEN Total_Sales >= 20000 THEN 'Medium Value'
ELSE 'Low Value'
END AS Customer_Segment
FROM Customer_Sales;


This transforms numerical analysis into a business-friendly classification.

๐Ÿ”น 16. Repeat Customers

SELECT Customer_ID, COUNT(DISTINCT Order_ID) AS Order_Count
FROM Orders GROUP BY Customer_ID
HAVING COUNT(DISTINCT Order_ID) > 1;


This finds customers with more than one order.

๐Ÿ”น 17. First vs Repeat Purchase

You can use ROW_NUMBER() to identify purchase sequence.

WITH Customer_Orders AS (
SELECT Customer_ID, Order_ID, Order_Date,
ROW_NUMBER() OVER (PARTITION BY Customer_ID ORDER BY Order_Date) AS Purchase_Number
FROM Orders
)
SELECT * FROM Customer_Orders;


Now:

Purchase_Number = 1 means the customer's first purchase.

Purchase_Number = 2 means the second purchase.

And so on.

This opens the door to deeper customer behavior analysis.

๐Ÿ”น 18. Time Between Purchases

SELECT Customer_ID, Order_Date,
LAG(Order_Date) OVER (PARTITION BY Customer_ID ORDER BY Order_Date) AS Previous_Order_Date
FROM Orders;


Now you can calculate the number of days between purchases.

โ†’ Helps answer "How frequently do customers return?"

๐Ÿ”น 19. Churn Analysis

Churn means customers stop using or purchasing from a business.

SQL can help identify customers whose activity has fallen below a defined threshold.

For example:

Last Purchase โ†’ Days Since โ†’ Business Threshold โ†’ Active / At Risk / Inactive

SQL finds pattern, business defines churn.

๐ŸŽฏ Interview Challenge

Find customers with โ‰ฅ3 orders and >50,000 spent:

SELECT Customer_ID, COUNT(DISTINCT Order_ID) AS Order_Count, SUM(Sales) AS Total_Sales
FROM Orders
GROUP BY Customer_ID
HAVING COUNT(DISTINCT Order_ID) >= 3 AND SUM(Sales) > 50000;


๐Ÿง  Double Tap โค๏ธ For More
โค8
๐—ง๐—ผ๐—ฝ ๐Ÿฑ ๐—™๐—ฅ๐—˜๐—˜ ๐—–๐—ผ๐˜‚๐—ฟ๐˜€๐—ฒ๐˜€ ๐˜๐—ผ ๐—ž๐—ถ๐—ฐ๐—ธ๐˜€๐˜๐—ฎ๐—ฟ๐˜ ๐—ฌ๐—ผ๐˜‚๐—ฟ ๐——๐—ฎ๐˜๐—ฎ ๐—ฆ๐—ฐ๐—ถ๐—ฒ๐—ป๐—ฐ๐—ฒ ๐—–๐—ฎ๐—ฟ๐—ฒ๐—ฒ๐—ฟ ๐Ÿ“Š

Want to start a career in Data Science without spending money?

Here are 5 beginner-friendly learning resources covering essential skills such as Python, SQL, Machine Learning and hands-on projects.

๐Ÿ”— ๐—˜๐—ป๐—ฟ๐—ผ๐—น๐—น ๐—ณ๐—ผ๐—ฟ ๐—™๐—ฅ๐—˜๐—˜ ๐Ÿ‘‡:-

https://pdlink.in/4ilAmok

๐ŸŽฏ Perfect for Students โ€ข Freshers โ€ข Beginners โ€ข Aspiring Data Scientists

๐Ÿ’ก Learn โ†’ Practice โ†’ Build Projects โ†’ Create Your Portfolio
๐Ÿš€ Data Analyst Roadmap โ€” Part 18

๐Ÿง  SQL Level 8 โ€” Advanced Analytical Queries & Business Problems

At this stage, you know the core SQL building blocks:

SELECT โ†’ WHERE โ†’ GROUP BY โ†’ HAVING โ†’ JOIN โ†’ CTE โ†’ Window Functions โ†’ Date Analysis

Now it's time to combine them.

Real Data Analyst work rarely asks: "Write a query using RANK()"

Instead, you'll get business questions like:

โ€ข "Which customers are becoming inactive?"

โ€ข "What are our top-selling products in each category?"

โ€ข "Which month had the highest revenue growth?"

The real skill is converting a business problem into SQL logic.

๐Ÿ”น 1. Start With the Business Question

Before writing SQL, identify:

โ€ข What are we measuring?

โ€ข At what level?

โ€ข Which tables contain the required data?

โ€ข What filters are needed?

โ€ข Do we need aggregation?

โ€ข Do we need ranking or comparison?

For example: "Find the top 3 products in every category."

Break it down: Product โ†’ Category โ†’ Sales โ†’ Rank within Category โ†’ Keep Top 3

๐Ÿ”น 2. Find the Correct Grain

Grain means: What does one row represent?

โ€ข Orders โ†’ one row per order

โ€ข Order_Items โ†’ one row per product within an order

โ€ข Customers โ†’ one row per customer

If you don't understand the grain, you can accidentally double-count revenue.

๐Ÿ”น 3. Revenue by Customer

SELECT
c.Customer_ID,
c.Customer_Name,
SUM(o.Sales) AS Total_Sales
FROM Customers c
JOIN Orders o ON c.Customer_ID = o.Customer_ID
GROUP BY c.Customer_ID, c.Customer_Name;


๐Ÿ”น 4. Rank Customers by Revenue

WITH Customer_Sales AS (
SELECT Customer_ID, SUM(Sales) AS Total_Sales
FROM Orders GROUP BY Customer_ID
)
SELECT
Customer_ID,
Total_Sales,
RANK() OVER (ORDER BY Total_Sales DESC) AS Sales_Rank
FROM Customer_Sales;


๐Ÿ”น 5. Top 3 Customers in Each Region

WITH Customer_Sales AS (
SELECT Customer_ID, Region, SUM(Sales) AS Total_Sales
FROM Orders GROUP BY Customer_ID, Region
),
Ranked_Customers AS (
SELECT *, RANK() OVER (PARTITION BY Region ORDER BY Total_Sales DESC) AS Sales_Rank
FROM Customer_Sales
)

SELECT * FROM Ranked_Customers WHERE Sales_Rank <= 3;


๐Ÿ”น 6. Finding the Second-Highest Salary

WITH Ranked_Employees AS (
SELECT Employee, Salary,
DENSE_RANK() OVER (ORDER BY Salary DESC) AS Salary_Rank
FROM Employees
)

SELECT Employee, Salary FROM Ranked_Employees WHERE Salary_Rank = 2;


๐Ÿ”น 7. Find Products That Never Sold

SELECT p.Product_ID, p.Product_Name
FROM Products p
LEFT JOIN Order_Items oi ON p.Product_ID = oi.Product_ID
WHERE oi.Product_ID IS NULL;


๐Ÿ”น 8. Customers With No Orders

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;


๐Ÿ”น 9. Customers Above Average Spending

WITH Customer_Sales AS (
SELECT Customer_ID, SUM(Sales) AS Total_Sales
FROM Orders GROUP BY Customer_ID
)
SELECT Customer_ID, Total_Sales FROM Customer_Sales
WHERE Total_Sales > (SELECT AVG(Total_Sales) FROM Customer_Sales);


๐Ÿ”น 10. Month-over-Month Sales Growth

WITH Monthly_Sales AS (
SELECT EXTRACT(YEAR FROM Order_Date) AS Year,
EXTRACT(MONTH FROM Order_Date) AS Month,
SUM(Sales) AS Total_Sales
FROM Orders GROUP BY 1, 2
),
Comparison AS (
SELECT Year, Month, Total_Sales,
LAG(Total_Sales) OVER (ORDER BY Year, Month) AS Previous_Sales
FROM Monthly_Sales
)

SELECT Year, Month, Total_Sales, Previous_Sales,
Total_Sales - Previous_Sales AS Sales_Change
FROM Comparison;
โค3
๐Ÿ”น 11. Calculate Growth Percentage

(Total_Sales - Previous_Sales) / NULLIF(Previous_Sales, 0) * 100

NULLIF() prevents division-by-zero errors.

๐Ÿ”น 12. Find the Latest Order for Every Customer

WITH Ranked_Orders AS (
SELECT Customer_ID, Order_ID, Order_Date,
ROW_NUMBER() OVER (PARTITION BY Customer_ID ORDER BY Order_Date DESC) AS rn
FROM Orders
)

SELECT Customer_ID, Order_ID, Order_Date FROM Ranked_Orders WHERE rn = 1;


๐Ÿ”น 13-14. Inactive Customers & Duplicates

Inactive = MAX(Order_Date) vs 90-day threshold.

Business defines the rule, SQL calculates it.

Detect duplicates:

WITH Duplicate_Check AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY Customer_ID, Order_Date, Sales ORDER BY Order_ID) AS rn
FROM Orders
)

SELECT * FROM Duplicate_Check WHERE rn > 1;


๐Ÿ”น 15. Combining Multiple Tables

SELECT c.Customer_ID, c.Customer_Name, p.Product_Name, oi.Quantity, oi.Sales
FROM Customers c
JOIN Orders o ON c.Customer_ID = o.Customer_ID
JOIN Order_Items oi ON o.Order_ID = oi.Order_ID
JOIN Products p ON oi.Product_ID = p.Product_ID;


โš ๏ธ Every additional join can change the number of rows. Always check the grain.

๐Ÿ”น 16. The Most Important Analytical Pattern

1. Filter raw data โ†’ 2. Join tables โ†’ 3. Aggregate to correct grain โ†’ 4. Apply window functions โ†’ 5. Filter analytical result โ†’ 6. Present final output

๐Ÿ’ผ Real-World Business Problems to Practice

Sales: Top 5 products by revenue, Top products within each category, Month with highest sales, Revenue growth by month

Customers: Customers with no orders, declining purchases, most recent purchase, repeat customers, AOV per customer

Operations: Orders taking longer than expected, Products never sold, Duplicate transactions, Most active regions

๐ŸŽฏ SQL Interview Challenge: Find the highest-selling product in each category.

WITH Product_Sales AS (
SELECT Product_ID, Category, SUM(Sales) AS Total_Sales
FROM Product_Sales_Data GROUP BY Product_ID, Category
),
Ranked_Products AS (
SELECT *, RANK() OVER (PARTITION BY Category ORDER BY Total_Sales DESC) AS Sales_Rank
FROM Product_Sales
)
SELECT Product_ID, Category, Total_Sales FROM Ranked_Products WHERE Sales_Rank = 1;


๐Ÿง  SQL Resources: https://whatsapp.com/channel/0029VanC5rODzgT6TiTGoa1v

Double Tap โค๏ธ For More
โค10
๐Ÿš€ ๐—ง๐—ผ๐—ฝ ๐Ÿฏ ๐—™๐—ฅ๐—˜๐—˜ ๐—ฅ๐—ฒ๐˜€๐—ผ๐˜‚๐—ฟ๐—ฐ๐—ฒ๐˜€ ๐˜๐—ผ ๐—Ÿ๐—ฒ๐—ฎ๐—ฟ๐—ป ๐—œ๐—ป-๐——๐—ฒ๐—บ๐—ฎ๐—ป๐—ฑ ๐—ง๐—ฒ๐—ฐ๐—ต ๐—ฆ๐—ธ๐—ถ๐—น๐—น๐˜€ ๐Ÿ”ฅ

๐Ÿ’ซ Artificial Intelligence (AI)
๐Ÿ“Š Data Analytics
๐Ÿ” Cybersecurity

๐Ÿ”— ๐—˜๐—ป๐—ฟ๐—ผ๐—น๐—น ๐—ณ๐—ผ๐—ฟ ๐—™๐—ฅ๐—˜๐—˜ ๐Ÿ‘‡:-

https://pdlink.in/4y2XyN1

๐ŸŽฏ Perfect for Students โ€ข Freshers โ€ข Beginners โ€ข Tech Enthusiasts

๐Ÿ’ก Learn for FREE โ†’ Build Skills โ†’ Upgrade Your Career
โค4
๐Ÿš€ Data Analyst Roadmap โ€” Part 22

๐Ÿ“Š Power BI Level 1 โ€” Introduction to Power BI & Business Intelligence

After learning Excel and SQL, it's time to move into one of the most important tools in the modern Data Analyst toolkit:

Microsoft Power BI

Power BI helps you transform raw data into:

๐Ÿ“Š Interactive dashboards

๐Ÿ“ˆ Reports

๐Ÿ” Business insights

๐ŸŽฏ KPIs

๐Ÿ“‰ Trends and comparisons

๐Ÿ’ผ Decision-making tools

The goal isn't simply to create attractive charts.

The goal is to turn data into information that people can use to make better decisions.

๐Ÿ”น 1. What Is Power BI?

Power BI is Microsoft's business intelligence and

data visualization platform.

It allows you to:

โ€ข Connect to different data sources

โ€ข Clean and transform data

โ€ข Build data models

โ€ข Create calculations

โ€ข Create interactive visualizations

โ€ข Build dashboards and reports

โ€ข Share insights with others

A typical workflow looks like:

Data Sources

โ†“

Power Query

โ†“

Data Model

โ†“

DAX Calculations

โ†“

Visualizations

โ†“

Report / Dashboard

โ†“

Business Insights

๐Ÿ”น 2. Why Should a Data Analyst Learn Power BI?

Companies generate huge amounts of data.

But raw tables aren't easy for business users to understand.

Imagine giving management this:

Date | Region | Product | Sales | Profit

They may have thousands or millions of rows.

Instead, Power BI can turn that data into:

Total Sales: โ‚น12.5 Cr

Profit: โ‚น3.1 Cr

Top Region: West

Top Product: Product A

Monthly Trend: ๐Ÿ“ˆ

Sales by Region: Interactive chart

Now decision-makers can understand the situation quickly.

๐Ÿ”น 3. Power BI vs Excel

You already learned Excel in the earlier parts of this roadmap.

Both tools are valuable, but they are commonly used differently.

Excel| Power BI

Spreadsheet-based| BI platform

Great for ad-hoc analysis| Great for interactive reporting

Cell-based calculations| Model + DAX-based calculations

Manual dashboard updates can be common| Reports can refresh from data sources

Excellent for detailed individual analysis| Excellent for scalable business reporting

This doesn't mean:

Power BI replaces Excel.

Strong Data Analysts often use both.

๐Ÿ”น 4. Main Components of Power BI

You should become familiar with the Power BI ecosystem.

The major concepts you'll encounter are:

Power BI Desktop

Used to build reports, transform data, create models, and write DAX.

Power BI Service

Used for publishing, sharing, collaboration, refresh, and managing reports in the cloud.

Power BI Mobile

Allows users to view and interact with reports on mobile devices.

For a beginner, Power BI Desktop is where most hands-on learning starts.

๐Ÿ”น 5. Power BI Desktop Interface

When you open Power BI Desktop, you'll work with several important areas.

Report View

Used to create visualizations and report pages.

Data View

Allows you to inspect the data loaded into your model.

Model View

Shows relationships between tables.

These three views are important because Power BI isn't just a visualization tool.

It's also a data modeling and analytical environment.

๐Ÿ”น 6. Connecting Power BI to Data

Power BI can connect to many sources.

For example:

๐Ÿ“ Excel

๐Ÿ“„ CSV

๐Ÿ—„๏ธ SQL databases

โ˜๏ธ Cloud data sources

๐ŸŒ Web sources

๐Ÿ“Š Other business systems

A common beginner workflow is:

Excel/CSV โ†’ Power BI โ†’ Dashboard
โค2
Later, you'll learn how to connect Power BI directly to SQL databases and other enterprise sources.

๐Ÿ”น 7. Importing Data

A typical process is:

Home

โ†“

Get Data

โ†“

Choose Source

โ†“

Select Table/File

โ†“

Transform Data

โ†“

Load

Don't immediately start creating charts.

First understand:

What data did I load?

๐Ÿ”น 8. Power Query

Power Query is Power BI's data preparation and transformation engine.

You'll use it to:

โ€ข Remove unwanted columns

โ€ข Rename columns

โ€ข Change data types

โ€ข Remove duplicates

โ€ข Handle missing values

โ€ข Split columns

โ€ข Merge tables

โ€ข Append tables

โ€ข Filter rows

โ€ข Create transformation steps

This is similar to the Power Query work you learned in Excel.

The important idea is:

Power Query prepares the data before analysis.

๐Ÿ”น 9. Power Query vs DAX

This distinction is extremely important.

Power Query

โ†’ Used mainly for data preparation and transformation

DAX

โ†’ Used mainly for calculations and analysis inside the data model

Think:

Power Query

"Prepare the data."

DAX

"Analyze the data."

You'll learn both in detail in later parts.

๐Ÿ”น 10. Data Modeling

Suppose you have:

Sales

โ€ข Order_ID

โ€ข Customer_ID

โ€ข Product_ID

โ€ข Date

โ€ข Sales

Customers

โ€ข Customer_ID

โ€ข Customer_Name

โ€ข Region

Products

โ€ข Product_ID

โ€ข Product_Name

โ€ข Category

Date

โ€ข Date

โ€ข Month

โ€ข Quarter

โ€ข Year

Instead of putting everything into one giant table, Power BI can connect these tables through relationships.

This is called data modeling.

๐Ÿ”น 11. Relationships

For example:

Customers

Customer_ID

โ†“

Sales

โ†‘

Product_ID

Products

The relationship allows Power BI to understand how tables are connected.

For example:

Customer โ†’ Sales

allows you to analyze sales by customer region.

Product โ†’ Sales

allows you to analyze sales by product category.

๐Ÿ”น 12. Fact Tables and Dimension Tables

A common data-modeling structure is the star schema.

At the center:

โญ Fact Table

Around it:

๐Ÿ”น Dimension Tables

Example:

Customers

Products โ€” Sales โ€” Date

Region

The "Sales" table contains business events or measurements.

The dimension tables provide descriptive context.

This structure is extremely important for Power BI.

๐Ÿ”น 13. Measures vs Columns

Another fundamental concept.

Suppose you have:

"Sales"

A calculated column could calculate something for each row.

A measure calculates a value based on the current report context.

Example measure:

Total Sales =

SUM(Sales[Sales_Amount])

When you put this measure into a visual, Power BI calculates it according to the selected:

โ€ข Region

โ€ข Product

โ€ข Date

โ€ข Customer

โ€ข Filters

This makes measures extremely powerful.

๐Ÿ”น 14. Your First Visualization

Suppose you have:

Month| Sales

Jan| 100,000

Feb| 120,000

Mar| 150,000

You could create a line chart.

The chart immediately communicates:

๐Ÿ“ˆ Sales are increasing over time.

But visualization choice matters.

You shouldn't select a chart because it looks attractive.

Choose it because it communicates the business message clearly.

๐Ÿ”น 15. Common Power BI Visuals

You should become familiar with:

๐Ÿ“Š Bar Chart

๐Ÿ“ˆ Line Chart

๐Ÿฅง Pie / Donut Chart

๐Ÿ”ข Card

๐Ÿ“‹ Table

๐Ÿ“‘ Matrix

๐ŸŽฏ KPI

๐Ÿ—บ๏ธ Map

๐Ÿ“Š Column Chart

๐ŸŽ›๏ธ Slicer

Each visual serves a different analytical purpose.

๐Ÿ”น 16. Cards

Cards are useful for displaying important KPIs.
For example:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”

โ”‚ TOTAL SALES โ”‚

โ”‚ โ‚น12.5 Cr โ”‚

โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Other examples:

Total Profit

Total Customers

Total Orders

Average Order Value

A dashboard should make its most important KPIs easy to find.

๐Ÿ”น 17. Slicers

Slicers allow users to interactively filter a report.

For example:

Region:

[All โ–ผ]

Year:

[2026 โ–ผ]

Category:

[Electronics โ–ผ]

Selecting a region can update multiple visuals on the report page.

This is one of the features that makes Power BI dashboards interactive.

๐Ÿ”น 18. Filters

Power BI provides filtering at different levels.

Common concepts include:

Visual-level filter

Affects one visual.

Page-level filter

Affects visuals on a particular page.

Report-level filter

Can affect the entire report.

Understanding filter behavior becomes extremely important when building complex reports.

๐Ÿ”น 19. Dashboard vs Report

These terms are often confused.

A report can contain multiple pages with interactive visuals.

A dashboard in the Power BI Service is a single-page canvas made from pinned tiles.

In everyday conversation, people sometimes use "dashboard" to mean any Power BI report page.

But technically, they're different concepts.

๐Ÿ”น 20. The Real Purpose of a Power BI Dashboard

A good dashboard should answer business questions.

For example:

Sales Dashboard

ยซHow much are we selling?ยป

ยซWhich regions are performing best?ยป

ยซWhich products drive revenue?ยป

ยซIs revenue increasing or decreasing?ยป

ยซWhere are we underperforming?ยป

The dashboard should make these answers easy to discover.

๐Ÿ”น 21. Common Beginner Mistakes

Avoid:

โŒ Adding too many visuals

โŒ Using every available chart type

โŒ Creating unnecessary colors and decorations

โŒ Building dashboards before understanding the data

โŒ Ignoring relationships

โŒ Creating everything as calculated columns

โŒ Using measures incorrectly

โŒ Showing numbers without business context

A professional dashboard should be:

Clear + Accurate + Interactive + Business-focused

๐Ÿš€ Double Tap โค๏ธ For More
โค5
๐Ÿš€ ๐——๐—ฎ๐˜๐—ฎ ๐—”๐—ป๐—ฎ๐—น๐˜†๐˜๐—ถ๐—ฐ๐˜€ ๐—–๐—ฒ๐—ฟ๐˜๐—ถ๐—ณ๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—–๐—ผ๐˜‚๐—ฟ๐˜€๐—ฒ ๐˜๐—ผ ๐—š๐—ฒ๐˜ ๐—ฎ ๐—›๐—ถ๐—ด๐—ต-๐—ฃ๐—ฎ๐˜†๐—ถ๐—ป๐—ด ๐—๐—ผ๐—ฏ ๐—ถ๐—ป ๐Ÿฎ๐Ÿฌ๐Ÿฎ๐Ÿฒ ๐Ÿ“Š

Build job-ready skills through live online classes, practical assignments and real-world projects.

๐Ÿ’ผ End-to-End Placement Support
๐Ÿค 500+ Partner Companies
๐ŸŽ“ 2000+ Students Placed
๐Ÿ† Highest Salary: โ‚น41 LPA

๐Ÿ“ž Get FREE career counselling and check your eligibility!

๐Ÿ”— ๐—ฅ๐—ฒ๐—ด๐—ถ๐˜€๐˜๐—ฒ๐—ฟ ๐—ก๐—ผ๐˜„ ๐Ÿ‘‡

https://pdlink.in/45vk5ph

โšกPrepare for roles such as Data Analyst, Business Analyst, BI Analyst and Reporting Analyst.
โค3
๐Ÿš€ Data Analyst Roadmap โ€” Part 23

๐Ÿ“Š Power BI Level 2 โ€” Power Query: Data Cleaning & Transformation

Power Query is used in Power BI to clean, transform, and prepare data before building reports.

๐Ÿ”น 1. Open Power Query

In Power BI Desktop:

Home โ†’ Transform Data

This opens the Power Query Editor.

You will mainly work with:

โ€ข Queries

โ€ข Data Preview

โ€ข Applied Steps

๐Ÿ”น 2. Change Data Types

Always check whether columns have the correct data type.

For example:

Customer_ID โ†’ Text

Quantity โ†’ Whole Number

Sales โ†’ Decimal Number

Order_Date โ†’ Date

Incorrect data types can cause problems in calculations and visuals.

๐Ÿ”น 3. Remove Unnecessary Columns

If your dataset contains columns you don't need, remove them.

For example:

Customer_ID

Customer_Name

Email

Phone

Sales

Internal_Code

If your analysis only needs Customer ID, Customer Name, and Sales, remove the rest.

๐Ÿ”น 4. Filter Unnecessary Rows

Power Query can remove or filter:

โ€ข Blank rows

โ€ข Invalid records

โ€ข Test data

โ€ข Unwanted categories

โ€ข Records outside the required period

Always understand the business rule before removing data.

๐Ÿ”น 5. Remove Duplicates

Power Query allows you to remove duplicate values based on selected columns.

For example, if "Customer_ID" should be unique in a Customer table, duplicate IDs should be investigated.

But don't remove duplicates blindly.

A Sales table can naturally contain many rows for the same customer.

๐Ÿ”น 6. Handle Missing Values

You may find:

Blank

NULL

N/A

Unknown

Depending on the situation, you can:

โ€ข Keep the value blank

โ€ข Replace it

โ€ข Remove the record

Don't automatically replace blanks with zero.

For example, a blank discount doesn't always mean a discount of 0.

๐Ÿ”น 7. Clean Text

Data often contains unwanted spaces or inconsistent formatting.

Example:

" Mumbai"

"Mumbai "

"MUMBAI"

Useful Power Query transformations include:

Trim โ†’ Removes unnecessary spaces

Clean โ†’ Removes unwanted non-printable characters

You can also change text to:

โ€ข UPPERCASE

โ€ข lowercase

โ€ข Proper Case

๐Ÿ”น 8. Replace Values

Suppose your data contains:

Mum

Mumbai

MUMBAI

You can replace and standardize values so they are represented consistently.

This is especially useful for:

โ€ข City

โ€ข Region

โ€ข Category

โ€ข Department

โ€ข Status

๐Ÿ”น 9. Split Columns

Suppose you have:

Full Name

John Smith

Sarah Johnson

You can split it into:

First Name | Last Name

John | Smith

Sarah | Johnson

You can split a column using delimiters such as:

โ€ข Space

โ€ข Comma

โ€ข Dash

โ€ข Custom delimiter

๐Ÿ”น 10. Extract Text

You can extract specific parts of a text column.

For example:

john@gmail.com

You could extract:

john

or:

gmail.com

Power Query provides options such as:

โ€ข Text Before Delimiter

โ€ข Text After Delimiter

โ€ข Text Between Delimiters

โ€ข First Characters

โ€ข Last Characters

๐Ÿ”น 11. Conditional Column

You can create categories based on conditions.

For example:

Sales >= 50,000 โ†’ High

Sales >= 20,000 โ†’ Medium

Otherwise โ†’ Low

This is similar to "CASE WHEN" in SQL.

๐Ÿ”น 12. Custom Column

Power Query also allows you to create calculated columns.

For example:

Total Amount = Quantity ร— Unit Price

Custom columns use Power Query's formula language, called M.
โค4
You don't need to master M immediately. Start by understanding the transformations available through the interface.

๐Ÿ”น 13. Merge Queries

Merge Queries combines related tables using a common column.

For example:

Customers

Customer_ID | Customer_Name

101 | John

102 | Sarah

Orders

Order_ID | Customer_ID | Sales

1 | 101 | 5000

2 | 102 | 7000

You can merge them using:

Customer_ID

This is similar to a SQL "JOIN".

๐Ÿ”น 14. Append Queries

Append combines tables by adding rows.

For example:

January Sales

โ†“

February Sales

โ†“

March Sales

becomes one table containing all three months.

Remember:

Merge โ†’ Combine columns

Append โ†’ Combine rows

๐Ÿ”น 15. Applied Steps

Power Query records every transformation you perform.

For example:

Source

โ†“

Changed Type

โ†“

Removed Columns

โ†“

Filtered Rows

โ†“

Trimmed Text

โ†“

Removed Duplicates

This makes the cleaning process repeatable.

When the source data is refreshed, Power Query can apply the same steps again.

๐Ÿ”น 16. Query Folding

Query Folding is an important performance concept.

When possible, Power Query pushes transformations back to the source system.

For example:

Power BI

โ†“

Filter 2026 Data

โ†“

Database performs filtering

โ†“

Power BI receives required data

This can reduce the amount of data transferred and improve refresh performance.

Query folding depends on the data source and the transformations being used.

๐Ÿ”น 17. Power Query vs SQL vs DAX

Remember this simple difference:

SQL

โ†’ Retrieve and analyze data from databases

Power Query

โ†’ Clean and transform data

DAX

โ†’ Create calculations and analyze data inside the Power BI model

A typical workflow is:

SQL

โ†“

Get Data

Power Query

โ†“

Clean & Transform

Data Model

โ†“

Create Relationships

DAX

โ†“

Create Measures

Visuals

โ†“

Build Report

๐ŸŽฏ Interview Question

What is the difference between Merge and Append in Power Query?

Merge combines related tables using matching columns.

Append stacks tables with similar structures by adding rows.

Merge โ†’ More columns

Append โ†’ More rows

๐Ÿ’ก Key Lesson

Power Query prepares your data so that your Power BI model and reports are built on clean, reliable data.

๐Ÿš€ Double Tap โค๏ธ For Part-24
โค6
๐Ÿš€ Data Analyst Roadmap โ€” Part 24

๐Ÿ“Š Power BI Level 3 โ€” Data Modeling & Relationships

Once your data is clean, the next step is to build a proper data model.

This is where you decide how your tables connect and how Power BI should understand your data.

๐Ÿ”น 1. What Is a Data Model?

A data model is the structure that connects your tables.

For example, you might have:

Sales

Order_ID

Customer_ID

Product_ID

Date

Sales

Quantity

Customers

Customer_ID

Customer_Name

Region

Products

Product_ID

Product_Name

Category

Date

Date

Month

Quarter

Year

These tables are connected through relationships.

๐Ÿ”น 2. Fact Table

A fact table contains business transactions and numerical values.

Example:

Sales

It may contain:

โ€ข Sales Amount

โ€ข Quantity

โ€ข Cost

โ€ข Profit

โ€ข Order ID

Think:

Fact = What happened?

๐Ÿ”น 3. Dimension Table

Dimension tables describe the facts.

Examples:

Customer โ†’ Who?

Product โ†’ What?

Date โ†’ When?

Region โ†’ Where?

For example:

Customer

Customer_ID

Customer_Name

Region

๐Ÿ”น 4. Star Schema

A common Power BI model looks like this:

Customers


Products โ”€โ”€โ”€โ”€ Sales โ”€โ”€โ”€โ”€ Date


Region


The fact table is in the middle and dimension tables surround it.

This is called a Star Schema.

๐Ÿ”น 5. Primary Key

A primary key uniquely identifies a record.

For example:

Customer_ID

101

102

103

Each ID identifies one customer.

๐Ÿ”น 6. Foreign Key

The Sales table can contain the same customer multiple times:

Customer_ID

101

101

102

101

103

Here, "Customer_ID" is used to connect Sales with Customers.

So:

Customers โ†’ Primary Key

Sales โ†’ Foreign Key

๐Ÿ”น 7. One-to-Many Relationship

The most common relationship in Power BI is:

One Customer โ†’ Many Sales

Customers              Sales
1 *
| |
Customer_ID โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Customer_ID


This is called a:

1 : * relationship

๐Ÿ”น 8. Why Relationships Matter

Suppose you select:

Region = West

Power BI needs to know which sales belong to customers from the West region.

The relationship allows the filter to travel from:

Customers

โ†“

Sales

Without a proper relationship, your visuals may show incorrect results.

๐Ÿ”น 9. Cardinality

Cardinality describes how records relate between two tables.

Common types:

1 : * โ†’ One-to-Many

1 : 1 โ†’ One-to-One

โ€ข : * โ†’ Many-to-Many

For most Power BI analytical models, 1-to-many relationships are the most common.

๐Ÿ”น 10. Many-to-Many Relationships

Many-to-many relationships can make models more complicated.

For example:

Customers โ†” Products

A customer can buy many products.

A product can be purchased by many customers.

Instead of directly connecting them in some cases, a bridge table can be used.

Customers

โ†“

Bridge Table

โ†“

Products

๐Ÿ”น 11. Date Table

A proper Date table is extremely important for Power BI.

It can contain:

Date

Day

Month

Month Number

Quarter

Year

Year-Month

For example:

Date       | Month   | Quarter | Year
01-Jan-26 | January | Q1 | 2026
02-Jan-26 | January | Q1 | 2026
โค4
This makes time-based analysis much easier.

๐Ÿ”น 12. Why Month Number Is Important

If you display:

January

February

March

April

Power BI may sort month names alphabetically depending on the setup.

You need a:

Month Number

January โ†’ 1

February โ†’ 2

March โ†’ 3

Then sort Month by Month Number.

๐Ÿ”น 13. Understand the Grain

Before creating relationships, ask:

"What does one row represent?"

For example:

Sales table

โ†’ One row = One order

or:

Sales table

โ†’ One row = One order item

These are different grains.

If you don't understand the grain, you can accidentally double-count sales.

๐Ÿ”น 14. Example of a Grain Problem

Suppose one order contains:

Order 1001

Laptop โ†’ โ‚น60,000

Mouse โ†’ โ‚น2,000

The order-item table has two rows.

If you join this with another table incorrectly, the โ‚น62,000 order value could potentially be repeated.

So before creating relationships or calculations:

Always understand the grain of your tables.

๐Ÿ”น 15. Active and Inactive Relationships

Sometimes two tables can have more than one possible relationship.

For example, Sales may contain:

Order_Date

Ship_Date

Both could connect to the Date table.

But Power BI generally allows only one active relationship between the same pair of tables at a time.

The other relationship can be inactive and activated when needed using DAX.

This becomes important when building advanced date analysis.

๐Ÿ”น 16. Filter Direction

Relationships control how filters move between tables.

In a simple star schema:

Customer

โ†“

Sales

filters usually flow from the dimension toward the fact table.

Avoid using bi-directional filtering everywhere.

It can create:

โ€ข Ambiguous relationships

โ€ข Unexpected results

โ€ข Difficult-to-debug models

โ€ข Performance issues

๐Ÿ”น 17. Don't Create Relationships Just Because Column Names Match

For example:

Customer_ID

appearing in two tables doesn't automatically mean they should be connected.

Check:

โœ” Same business meaning

โœ” Compatible data type

โœ” Correct grain

โœ” Unique values on the "one" side

โœ” Correct cardinality

๐ŸŽฏ Interview Question

What is the difference between a Fact Table and a Dimension Table?

Fact Table

Contains business transactions and measurable values.

Example:

"Sales, Quantity, Cost"

Dimension Table

Contains descriptive information used to analyze those transactions.

Example:

"Customer, Product, Date, Region"

Easy way to remember:

Fact = What happened

Dimension = Describe what happened

๐Ÿ’ก Key Lesson

Don't build your Power BI visuals before understanding your data model.

A good model makes your calculations easier, your reports more reliable, and your analysis much easier to maintain.

๐Ÿš€ Double Tap โค๏ธ For More
โค8
๐ŸŽ“ ๐—ง๐—ผ๐—ฝ ๐—œ๐—ป-๐——๐—ฒ๐—บ๐—ฎ๐—ป๐—ฑ ๐—™๐—ฅ๐—˜๐—˜ ๐—–๐—ฒ๐—ฟ๐˜๐—ถ๐—ณ๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป๐˜€ ๐˜๐—ผ ๐— ๐—ฎ๐˜€๐˜๐—ฒ๐—ฟ ๐—ถ๐—ป ๐Ÿฎ๐Ÿฌ๐Ÿฎ๐Ÿฒ ๐Ÿ”ฅ

Explore these FREE certification courses in todayโ€™s most in-demand technology fields:

๐Ÿ“Š ๐——๐—ฎ๐˜๐—ฎ ๐—”๐—ป๐—ฎ๐—น๐˜†๐˜๐—ถ๐—ฐ๐˜€ :- https://pdlink.in/4eRA6eF

๐Ÿ’ป ๐—ช๐—ฒ๐—ฏ ๐——๐—ฒ๐˜ƒ๐—ฒ๐—น๐—ผ๐—ฝ๐—บ๐—ฒ๐—ป๐˜ :- https://pdlink.in/4gP18Eo

๐Ÿ’ซ ๐—”๐—ฟ๐˜๐—ถ๐—ณ๐—ถ๐—ฐ๐—ถ๐—ฎ๐—น ๐—œ๐—ป๐˜๐—ฒ๐—น๐—น๐—ถ๐—ด๐—ฒ๐—ป๐—ฐ๐—ฒ :- https://pdlink.in/45HWa5Q

โ˜๏ธ ๐—–๐—น๐—ผ๐˜‚๐—ฑ ๐—–๐—ผ๐—บ๐—ฝ๐˜‚๐˜๐—ถ๐—ป๐—ด :- https://pdlink.in/4zrksPn

๐ŸŸง ๐—”๐—ช๐—ฆ :- https://pdlink.in/4j4Jxtv

๐Ÿ›ก๏ธ ๐—–๐˜†๐—ฏ๐—ฒ๐—ฟ๐˜€๐—ฒ๐—ฐ๐˜‚๐—ฟ๐—ถ๐˜๐˜† & ๐—”๐˜‡๐˜‚๐—ฟ๐—ฒ :- https://pdlink.in/4f0GNuH

โšก Start learning today and prepare yourself for better career opportunities in 2026!
โค1
Preparing for a SQL interview?

Focus on mastering these essential topics:

1. Joins: Get comfortable with inner, left, right, and outer joins.
Knowing when to use what kind of join is important!

2. Window Functions: Understand when to use
ROW_NUMBER, RANK(), DENSE_RANK(), LAG, and LEAD for complex analytical queries.

3. Query Execution Order: Know the sequence from FROM to
ORDER BY. This is crucial for writing efficient, error-free queries.

4. Common Table Expressions (CTEs): Use CTEs to simplify and structure complex queries for better readability.

5. Aggregations & Window Functions: Combine aggregate functions with window functions for in-depth data analysis.

6. Subqueries: Learn how to use subqueries effectively within main SQL statements for complex data manipulations.

7. Handling NULLs: Be adept at managing NULL values to ensure accurate data processing and avoid potential pitfalls.

8. Indexing: Understand how proper indexing can significantly boost query performance.

9. GROUP BY & HAVING: Master grouping data and filtering groups with HAVING to refine your query results.

10. String Manipulation Functions: Get familiar with string functions like CONCAT, SUBSTRING, and REPLACE to handle text data efficiently.

11. Set Operations: Know how to use UNION, INTERSECT, and EXCEPT to combine or compare result sets.

12. Optimizing Queries: Learn techniques to optimize your queries for performance, especially with large datasets.

Here you can find essential SQL Interview Resources๐Ÿ‘‡
https://whatsapp.com/channel/0029VanC5rODzgT6TiTGoa1v

Like this post if you need more ๐Ÿ‘โค๏ธ

Hope it helps :)
โค4
๐Ÿš€ Data Analyst Roadmap โ€” Part 25

๐Ÿ“Š Power BI Level 4 โ€” DAX Fundamentals: Measures, Calculated Columns & Filter Context

Now that you understand Power Query and Data Modeling, it's time to learn one of the most important parts of Power BI:

DAX โ€” Data Analysis Expressions

DAX is the formula language used in Power BI to create calculations.

๐Ÿ”น 1. What Is DAX?

DAX is used to create:

โ€ข Measures

โ€ข Calculated columns

โ€ข Calculated tables

For example:

Total Sales = SUM(Sales[Sales_Amount])

This simple measure can become the foundation for many Power BI reports.

๐Ÿ”น 2. Measures vs Calculated Columns

This is one of the most common Power BI interview questions.

โ€ข

Calculated Column: Calculates a value for each row.

โ€ข Example: Profit = Sales[Sales_Amount] - Sales[Cost]

โ€ข If there are 1 million rows, the column contains a result for each row.

โ€ข

Measure: Calculates a result when it is used in a visual.

โ€ข Example: Total Sales = SUM(Sales[Sales_Amount])

โ€ข A measure can change depending on the filters and selections in the report.

๐Ÿ”น 3. Simple Example

Suppose your Sales table contains:

โ€ข Product: Laptop | Sales: 80,000 | Cost: 60,000

โ€ข Product: Mouse | Sales: 2,000 | Cost: 1,000

โ€ข

Product: Keyboard | Sales: 4,000 | Cost: 2,500

โ€ข

Calculated column: Profit = Sales[Sales] - Sales[Cost]

calculates profit for every row.

โ€ข

Measure: Total Profit = SUM(Sales[Sales]) - SUM(Sales[Cost])

calculates the total based on the current filter context.

๐Ÿ”น 4. Basic Aggregation Functions

Some DAX functions you'll use constantly are:

โ€ข SUM(), AVERAGE(), MIN(), MAX(), COUNT(), COUNTROWS(), DISTINCTCOUNT()

Examples:

โ€ข Total Sales = SUM(Sales[Sales])

โ€ข Average Sales = AVERAGE(Sales[Sales])

โ€ข Total Orders = COUNTROWS(Sales)

โ€ข Total Customers = DISTINCTCOUNT(Sales[Customer_ID])

๐Ÿ”น 5. Why DISTINCTCOUNT() Matters

Suppose the same customer placed 10 orders.

COUNT() could count all transaction rows. But DISTINCTCOUNT(Sales[Customer_ID]) counts the customer only once.

So if you want "How many unique customers do we have?"

DISTINCTCOUNT() is often the right choice.

๐Ÿ”น 6. Creating Your First Measure

In Power BI: Modeling โ†’ New Measure

Then write:

Total Sales = SUM(Sales[Sales_Amount])

You can then drag Total Sales into a Card visual. Result might show:

TOTAL SALES โ‚น12.5 Cr

๐Ÿ”น 7. Measures Respond to Filters

This is where DAX becomes powerful.

Suppose your report contains Total Sales = โ‚น10 Crore. Now select Region = West. The same measure Total Sales = SUM(Sales[Sales_Amount]) may now show โ‚น3 Crore.

You didn't create another measure. The filter changed the calculation. This is called Filter Context.

๐Ÿ”น 8. What Is Filter Context?

Filter context means: The filters currently affecting a DAX calculation.

Filters can come from:

โ€ข Slicers, Visuals, Rows and columns, Page filters, Report filters, Relationships, DAX expressions

For example: Region = West, Year = 2026, Category = Electronics. The Total Sales measure calculates only within that context.

๐Ÿ”น 9. A Simple Way to Understand Filter Context

Think of it like this:

โ€ข Total Sales โ†’ Which rows are currently visible? โ†’ Apply filters โ†’ Calculate SUM

This concept is extremely important.
โค4
If you understand filter context, you'll understand much more advanced DAX later.

๐Ÿ”น 10. CALCULATE()

One of the most important DAX functions is CALCULATE(). It evaluates an expression after modifying the filter context.

For example:

West Sales = CALCULATE([Total Sales], Customers[Region] = "West")

This calculates sales specifically for the West region.

๐Ÿ”น 11. Why CALCULATE() Is So Important

Many advanced DAX calculations are built around CALCULATE().

It is commonly used for:

โ€ข Conditional calculations, Time intelligence, Comparisons, Removing filters, Adding filters, Changing filter context

Learning CALCULATE() properly is one of the biggest milestones in Power BI.

๐Ÿ”น 12. Measures Can Use Other Measures

You don't need to repeat the same logic everywhere.

โ€ข Total Sales = SUM(Sales[Sales_Amount])

โ€ข Total Cost = SUM(Sales[Cost])

โ€ข Total Profit = [Total Sales] - [Total Cost]

This makes your model easier to maintain.

๐Ÿ”น 13. Profit Margin

You can create:

Profit Margin = DIVIDE([Total Profit], [Total Sales])

DIVIDE() is generally safer than manually using "/" because it handles division-by-zero cases more gracefully.

๐Ÿ”น 14. DIVIDE() vs "/"

Instead of [Total Profit] / [Total Sales] prefer:

Profit Margin = DIVIDE([Total Profit], [Total Sales], 0)

You can also specify an alternate result (0) when denominator is zero.

๐Ÿ”น 15. Calculated Column vs Measure โ€” When to Use Which?

Simple rule:

โ€ข Use a calculated column when you need a value stored for each row. Examples: Profit per transaction, Customer category, Product classification

โ€ข Use a measure when you need an aggregated or dynamically calculated result. Examples: Total Sales, Total Profit, Profit Margin, Average Order Value, Sales Growth %

For most report-level KPIs, measures are usually preferred.

๐Ÿ”น 16. Row Context

Calculated columns work with row context.

For example: Profit = Sales[Sales_Amount] - Sales[Cost]

Power BI evaluates this expression for each row. Think: Row Context = "Which row am I currently calculating?"

๐Ÿ”น 17. Filter Context vs Row Context

โ€ข Row Context โ†’ Focuses on the current row

โ€ข Filter Context โ†’ Defines which data is included in a calculation

Simple example: Calculated Column โ†’ Row by row. Measure โ†’ Based on current filter context.

Understanding this distinction is essential before moving into advanced DAX.

๐Ÿ”น 18. COUNTROWS()

COUNTROWS() counts rows in a table.

Example: Total Orders = COUNTROWS(Sales)

If one row represents one order, this can represent order count. But if your table contains multiple rows per order, it may not. In that situation: Total Orders = DISTINCTCOUNT(Sales[Order_ID]) may be more appropriate.

Always understand the grain of your table.

๐Ÿ”น 19. RELATED()

RELATED() can retrieve a value from a related table when working in row context.

For example: Region = RELATED(Customers[Region])

This can bring the customer's region into a row-level calculation when the relationship and model support it.

๐Ÿ”น 20. Don't Create Everything as a Calculated Column

A common beginner mistake is creating columns for every calculation.

For example: Total Sales, Total Profit, Average Sales, Profit Margin, Sales Growth
โค3
These are generally better candidates for measures, because they need to respond dynamically to report filters.

๐ŸŽฏ Power BI Interview Questions

โ€ข

What is DAX? DAX is the formula language used in Power BI for analytical calculations.

โ€ข

What is the difference between a calculated column and a measure? A calculated column calculates values row by row and stores them in the model. A measure calculates dynamically based on the current filter context.

โ€ข

What is filter context? The set of filters affecting a DAX calculation.

โ€ข

What is row context? The current row being evaluated, particularly relevant to calculated columns and certain DAX iterators.

โ€ข

What does CALCULATE() do? It evaluates an expression after modifying the filter context.

โ€ข

Why use DIVIDE()? It provides safer division handling, especially when the denominator can be zero or blank.

๐ŸŽฏ Practice Task

Create these measures in a sample Sales model:

โ€ข Total Sales = SUM(Sales[Sales_Amount])

โ€ข Total Cost = SUM(Sales[Cost])

โ€ข Total Profit = [Total Sales] - [Total Cost]

โ€ข Profit Margin = DIVIDE([Total Profit], [Total Sales])

Then create Cards for each measure. Add a Region slicer. Change the region and observe what happens. This is one of the easiest ways to understand filter context practically.

๐Ÿ’ก The biggest DAX concept to understand at this stage is: A measure doesn't simply calculate a number. It calculates a number based on the current context of your report.

Power BI Resources: https://whatsapp.com/channel/0029Vai1xKf1dAvuk6s1v22c

Double Tap โค๏ธ For Part-5
โค5
๐—ง๐—ผ๐—ฝ ๐Ÿญ๐Ÿฑ ๐—ฃ๐˜†๐˜๐—ต๐—ผ๐—ป ๐—œ๐—ป๐˜๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฒ๐˜„ ๐—ค๐˜‚๐—ฒ๐˜€๐˜๐—ถ๐—ผ๐—ป๐˜€ ๐—ฌ๐—ผ๐˜‚ ๐— ๐—จ๐—ฆ๐—ง ๐—ž๐—ป๐—ผ๐˜„! ๐Ÿ”ฅ

Preparing for a Python Developer or Data Analyst interview?

Strengthen your fundamentals with these essential interview topics.

๐ŸŽฏ Perfect for Students โ€ข Freshers โ€ข Python Learners โ€ข Data Analyst Aspirants

๐Ÿ”— ๐—š๐—ฒ๐˜ ๐˜๐—ต๐—ฒ ๐—œ๐—ป๐˜๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฒ๐˜„ ๐—ค๐˜‚๐—ฒ๐˜€๐˜๐—ถ๐—ผ๐—ป๐˜€ ๐Ÿ‘‡

https://pdlink.in/3TAUwk7

๐Ÿ“ŒSave this for your next interview and share it with a friend!
๐Ÿš€ Data Analyst Roadmap โ€” Part 26

POWER BI LEVEL 5 โ€” DAX: CALCULATE(), FILTERS & CONTEXT

If you understand CALCULATE(), DAX becomes much easier.

The most important idea:

๐Ÿ‘‰ CALCULATE() changes the filter context in which a measure is evaluated.

Example:

Total Sales =

SUM(Sales)[SalesAmount]

Now suppose you want sales only for the West region:

West Sales = CALCULATE( [Total Sales], Sales[Region] = "West" )

CALCULATE() takes the existing calculation and applies an additional filter.

๐Ÿ”น 1. CALCULATE() with multiple filters

You can apply multiple conditions:

West Electronics Sales = CALCULATE( [Total Sales], Sales[Region] = "West", Sales[Category] = "Electronics" )

This calculates sales where:

Region = West

AND

Category = Electronics

๐Ÿ”น 2. REMOVEFILTERS()

Sometimes you don't want a slicer or visual filter to affect your calculation.

Example:

Total Sales All Regions = CALCULATE( [Total Sales], REMOVEFILTERS(Sales[Region]) )

If a report is filtered to:

Region โ†’ West

this measure still shows sales across all regions.

๐Ÿ”น 3. ALL()

ALL() can also remove filters.

Example:

Total Sales All Regions = CALCULATE( [Total Sales], ALL(Sales[Region]) )

A common use is calculating percentage of total.

Sales % of Total = DIVIDE( [Total Sales], CALCULATE( [Total Sales], ALL(Sales[Region]) ) )

If West has โ‚น20 lakh sales and all regions have โ‚น100 lakh:

Sales % of Total = 20%

๐Ÿ”น 4. ALLSELECTED()

ALLSELECTED() is useful when you want to respect the user's overall selections but ignore a visual-level grouping.

Example:

Sales % of Selected Regions = DIVIDE( [Total Sales], CALCULATE( [Total Sales], ALLSELECTED(Sales[Region]) ) )

If the user selects:

West + South

the calculation can compare each region against the total of the selected regions rather than the entire dataset.

๐Ÿ”น 5. KEEPFILTERS()

By default, CALCULATE() can replace an existing filter on the same column.

KEEPFILTERS() tells DAX to preserve the existing filter and apply the new condition on top of it.

Example:

CALCULATE( [Total Sales], KEEPFILTERS(Sales[Category] = "Electronics") )

Think of it as:

Existing filters

+

New filter

instead of replacing the existing filter.

๐Ÿ”น 6. FILTER()

FILTER() creates a filtered table based on a condition.

Example:

High Value Sales = CALCULATE( [Total Sales], FILTER( Sales, Sales[SalesAmount] > 10000))

This calculates sales from transactions greater than โ‚น10,000.

Use FILTER() when the filtering logic is more complex than a simple column = value condition.

๐Ÿ”น 7. Context Transition

This sounds complicated, but the basic idea is simple.

DAX has two important contexts:

๐Ÿ‘‰ Row Context

Works with the current row.

๐Ÿ‘‰ Filter Context

Determines which data is included in a calculation.

CALCULATE() has a special behavior:

It can convert row context into filter context.

This is called:

Context Transition

You will encounter this especially when using CALCULATE() inside calculated columns or iterator functions such as SUMX(), FILTER(), etc.

๐Ÿ’ก A simple way to remember CALCULATE():

CALCULATE() = "Calculate this measure, but under these filter conditions."

For example:

[Total Sales]

โ†“

CALCULATE(

[Total Sales],

Region = "West"

)

โ†“

"Calculate Total Sales, but only for West."
โค2