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

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

For Promotions: @coderfun @love_data
Download Telegram
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
๐ŸŽฏ Interview Questions

1๏ธโƒฃ What does CALCULATE() do?

It evaluates an expression after modifying the filter context.

2๏ธโƒฃ What is the difference between ALL() and REMOVEFILTERS()?

Both can remove filters, but REMOVEFILTERS() clearly communicates that the intention is to remove filters.

3๏ธโƒฃ What is ALLSELECTED() used for?

It helps calculate results based on the user's selected context while ignoring certain visual-level filters.

4๏ธโƒฃ What is KEEPFILTERS()?

It preserves existing filters when applying additional filters.

5๏ธโƒฃ What is context transition?

The conversion of row context into filter context, typically triggered by CALCULATE().

๐Ÿงช PRACTICE

Create these measures:

Total Sales

West Sales

Total Sales All Regions

Sales % of Total

Sales % of Selected Regions

Then add:

โœ” Region slicer

โœ” Category slicer

โœ” Sales by Region chart

Change the slicers and observe how each measure behaves.

That observation is one of the best ways to understand DAX filter context.

๐Ÿ’ก Key lesson:

Don't memorize CALCULATE().

Understand what filters exist, which filters you want to change, and what result you expect.

Double Tap โค๏ธ For More
โค9
๐—œ๐—ป๐—ณ๐—ผ๐˜€๐˜†๐˜€ ๐— ๐—ผ๐˜€๐˜ ๐—”๐˜€๐—ธ๐—ฒ๐—ฑ ๐—œ๐—ป๐˜๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฒ๐˜„ ๐—ค๐˜‚๐—ฒ๐˜€๐˜๐—ถ๐—ผ๐—ป๐˜€ & ๐—”๐—ป๐˜€๐˜„๐—ฒ๐—ฟ๐˜€๐Ÿ˜
โ€‹
โœ… Real Interview Experiences
โœ… Company-specific Handbook
โœ… Interview Process & Preparation Roadmap
โœ… FREE Preparation Resources
โ€‹
Specialist Programmer :- https://pdlink.in/4xDH2lD
โ€‹
โ€‹ Systems Engineer :- https://pdlink.in/4xAhGoL
โ€‹
โ€‹Infosys Digital Specialist Engineer :- https://pdlink.in/4yJ98gb
โ€‹
โ€‹The best way to prepare is to learn from candidates who've already been through the process.
โ€‹
โค7
๐Ÿš€ Data Analyst Roadmap โ€” Part 27

POWER BI LEVEL 6 โ€” DAX TIME INTELLIGENCE

Time-based analysis is one of the most important things you will do in Power BI.

Businesses commonly ask:
๐Ÿ‘‰ How much did sales grow this month?
๐Ÿ‘‰ How does this year compare with last year?
๐Ÿ‘‰ What was the sales total year-to-date?
๐Ÿ‘‰ Which month had the highest sales?
๐Ÿ‘‰ Are we growing or declining over time?

DAX Time Intelligence helps answer these questions.

๐Ÿ”น 1. You need a proper Date Table

Before using time-intelligence functions, create a dedicated Date table.

Example:
Date =
CALENDAR(
DATE(2024,1,1),
DATE(2026,12,31)
)

Then create useful columns:
โ€ข Year
โ€ข Month
โ€ข Month Number
โ€ข Quarter
โ€ข Year-Month

Sort Month by Month Number so that January โ†’ February โ†’ March โ†’... โ†’ December instead of alphabetical ordering.

Mark the table as a Date table in Power BI.

๐Ÿ”น 2. Total Sales

Start with a basic measure:
Total Sales =
SUM(Sales[SalesAmount])

This becomes the foundation for most time-based calculations.

๐Ÿ”น 3. Year-to-Date โ€” TOTALYTD()

YTD means Year To Date. It calculates the cumulative value from the beginning of the year up to the current date.

Example:
Sales YTD =
TOTALYTD(
[Total Sales],
'Date'[Date]
)

If the current month is June, the measure calculates: January + February + March + April + May + June

๐Ÿ”น 4. Previous Year Sales

To compare the current period with the same period last year:
Sales LY =
CALCULATE(
[Total Sales],
SAMEPERIODLASTYEAR('Date'[Date])
)

If the current visual shows March 2026, this measure returns March 2025 sales.

๐Ÿ”น 5. Year-over-Year Growth

Now compare current sales with last year:
YoY Growth =
[Total Sales] - [Sales LY]

YoY Growth % =
DIVIDE(
[Total Sales] - [Sales LY],
[Sales LY]
)

Example:
โ€ข Current Year Sales = โ‚น120 lakh
โ€ข Previous Year Sales = โ‚น100 lakh
โ€ข Growth = โ‚น20 lakh
โ€ข Growth % = 20%

๐Ÿ”น 6. DATEADD()

DATEADD() shifts the current date context.

Previous Month Sales:
Sales Previous Month =
CALCULATE(
[Total Sales],
DATEADD(
'Date'[Date],
-1,
MONTH
)
)

Previous Year:
Sales Previous Year =
CALCULATE(
[Total Sales],
DATEADD(
'Date'[Date],
-1,
YEAR
)
)

You can shift by:
โ€ข DAY
โ€ข MONTH
โ€ข QUARTER
โ€ข YEAR

๐Ÿ”น 7. Month-over-Month Growth

First calculate previous month sales:
Sales PM =
CALCULATE(
[Total Sales],
DATEADD(
'Date'[Date],
-1,
MONTH
)
)

MoM Growth % =
DIVIDE(
[Total Sales] - [Sales PM],
[Sales PM]
)

Example:
โ€ข January = โ‚น10 lakh
โ€ข February = โ‚น12 lakh
โ€ข MoM Growth = 20%

๐Ÿ”น 8. TOTALMTD() and TOTALQTD()

Similar to TOTALYTD():

MTD = Month To Date
Sales MTD =
TOTALMTD(
[Total Sales],
'Date'[Date]
)

QTD = Quarter To Date
Sales QTD =
TOTALQTD(
[Total Sales],
'Date'[Date]
)

So you can analyze:
โ€ข MTD โ†’ current month progress
โ€ข QTD โ†’ current quarter progress
โ€ข YTD โ†’ current year progress

๐Ÿ”น 9. Why Date Tables Matter

Suppose your sales table contains Order Date, Customer, Product, Sales. You could try to perform time calculations directly on Order Date, but a dedicated Date table gives you a consistent calendar for:
โ€ข โœ” Year
โ€ข โœ” Quarter
โ€ข โœ” Month
โ€ข โœ” Week
โ€ข โœ” YTD
โ€ข โœ” MTD
โ€ข โœ” QTD
โ€ข โœ” Previous period
โ€ข โœ” YoY
โ€ข โœ” MoM

This becomes especially important when working with multiple fact tables.

๐Ÿ”น 10. A Common Mistake

Don't create every time calculation as a calculated column.
Avoid creating separate columns for:
โ€ข Previous Year Sales
โ€ข YTD Sales
โ€ข MoM Growth
โ€ข YoY Growth

These are generally better as measures because they need to respond dynamically to filters and report context.

๐ŸŽฏ Interview Questions

1๏ธโƒฃ What is Time Intelligence in Power BI?
It is the use of DAX functions to perform calculations across dates and periods.

2๏ธโƒฃ Why do we need a Date table?
It provides a consistent calendar structure for reliable time-based analysis.

3๏ธโƒฃ What does SAMEPERIODLASTYEAR() do?
It returns the corresponding period from the previous year.

4๏ธโƒฃ What is the difference between MTD, QTD and YTD?
โ€ข MTD = Month To Date
โ€ข QTD = Quarter To Date
โ€ข YTD = Year To Date

5๏ธโƒฃ What does DATEADD() do?
It shifts the current date context by a specified number of days, months, quarters, or years.

Double Tap โค๏ธ For More
โค6๐Ÿ‘1
This media is not supported in your browser
VIEW IN TELEGRAM
๐Ÿค– New Powerful AI Model: GigaChat 3.5 Reasoning

This open-source LLM actually thinks before it answers! Perfect for complex coding, math, and reasoning prompts.

โœ… Built on GigaChat 3.5 Ultra: explores multiple step-by-step reasoning paths

โœ… Automated verification reinforces correct answers, enabling self-correction

โœ… Autonomously decides when to call external tools or revise earlier steps

โœ… Highly efficient: Linear attention uses 37% fewer tokens than DeepSeek V4 Flash Preview

๐Ÿ“ˆ Massive benchmark gains over non-reasoning versions:
โ€ข IFBench: 44 โ†’ 77
โ€ข Natural Plan: 64 โ†’ 80
โ€ข LiveCodeBench v6: 56 โ†’ 85

๐Ÿ”— Open-sourced under MIT license. Weights on Hugging Face: fp8 | bf16
โค5
๐ŸŽ“ ๐…๐‘๐„๐„ ๐ˆ๐๐Œ ๐‚๐ž๐ซ๐ญ๐ข๐Ÿ๐ข๐œ๐š๐ญ๐ข๐จ๐ง ๐‚๐จ๐ฎ๐ซ๐ฌ๐ž๐ฌ ๐Ÿš€

Explore these beginner-friendly courses and strengthen your resume!

๐ŸŽฏ Perfect for Students, Freshers and Working Professionals
๐Ÿ’ป Learn Online at Your Own Pace
๐Ÿ“œ Earn Certificates After Successful Completion

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

https://pdlink.in/45KgqDR

๐Ÿ”ฅ Donโ€™t just collect certificatesโ€”build skills that employers value. Share this with your friends!
๐Ÿš€ Data Analyst Roadmap โ€” Part 28

POWER BI LEVEL 7 โ€” DAX ITERATORS: SUMX, AVERAGEX, COUNTX & VIRTUAL CALCULATIONS

You already know functions like "SUM()" and "AVERAGE()". But sometimes a business calculation needs to happen row by row before the final result is calculated. That's where DAX iterators become important.

๐Ÿ”น 1. What is an Iterator?

Iterator functions evaluate an expression for each row of a table and then combine the results.

Common iterators include: "SUMX()", "AVERAGEX()", "COUNTX()", "MINX()", "MAXX()"

๐Ÿ”น 2. SUM() vs SUMX()

Suppose your Sales table has: Quantity, Unit Price. You want total revenue.

With "SUM()", you can directly add a column:

Total Sales = SUM(Sales[SalesAmount])

But if SalesAmount doesn't exist and you need Quantity ร— Unit Price you can use "SUMX()":

Total Sales =

SUMX(

    Sales,

    Sales[Quantity] * Sales[UnitPrice]

)

DAX evaluates: Row 1 โ†’ Quantity ร— Price, Row 2 โ†’ Quantity ร— Price, Row 3 โ†’ Quantity ร— Price, Then adds all the results.

๐Ÿ”น 3. AVERAGEX()

Suppose you want the average revenue generated by each transaction:

Average Sales =

AVERAGEX(

    Sales,

    Sales[Quantity] * Sales[UnitPrice]

)

The expression is calculated for every row first. Then the average is calculated.

๐Ÿ”น 4. COUNTX()

"COUNTX()" counts the number of non-blank results produced by an expression.

Transactions With Value =

COUNTX(

    Sales,

    Sales[Quantity] * Sales[UnitPrice]

)

This can be useful when the calculation itself determines whether a value exists. For simply counting rows, however, "COUNTROWS()" is usually clearer:

Transaction Count = COUNTROWS(Sales)

๐Ÿ”น 5. MINX() and MAXX()

You can also find the minimum or maximum value from a calculated expression.

Highest Transaction =

MAXX(

    Sales,

    Sales[Quantity] * Sales[UnitPrice]

)

Lowest Transaction =

MINX(

    Sales,

    Sales[Quantity] * Sales[UnitPrice]

)

๐Ÿ”น 6. Iterators Create Row Context

This is one of the most important DAX concepts. Inside:

SUMX(

    Sales,

    Sales[Quantity] * Sales[UnitPrice]

)

DAX evaluates the expression for the current row. That is called: Row Context.

So: "SUM()" โ†’ directly aggregates a column, "SUMX()" โ†’ evaluates an expression row by row and then aggregates the result

๐Ÿ”น 7. A Practical Profit Example

Suppose your table contains: Quantity, Sales Price, Cost Price. You can calculate total profit without creating a Profit column:

Total Profit =

SUMX(

    Sales,

    (Sales[SalesPrice] - Sales[CostPrice]) * Sales[Quantity]

)

This is extremely useful because the calculation happens dynamically inside the measure.

๐Ÿ”น 8. Iterators with CALCULATE()

Iterators become even more powerful when combined with "CALCULATE()". For example, you might want to calculate sales only for high-value transactions:

High Value Sales =

SUMX(

    FILTER(

        Sales,

        Sales[SalesAmount] > 10000

    ),

    Sales[SalesAmount]

)

Here: "FILTER()" โ†’ creates the relevant set of rows, "SUMX()" โ†’ evaluates and adds the values. This combination appears frequently in real Power BI projects.

๐Ÿ”น 9. Virtual Tables

DAX can create temporary tables during a calculation. These are called: Virtual Tables. They aren't permanently stored in your model.

For example:

High Value Sales =

CALCULATE(

    [Total Sales],

    FILTER(

        Sales,

        Sales[SalesAmount] > 10000

    )

)

The filtered table exists only while the calculation is being evaluated.

๐Ÿ”น 10. SUMX() with Related Tables

Iterators can also work with relationships.

Suppose: Product table contains: Product ID, Product Name, Cost. Sales table contains: Product ID, Quantity.

You could calculate total cost using:

Total Cost =

SUMX(

    Sales,

    Sales[Quantity] * RELATED(Product[Cost])

)

"RELATED()" retrieves the related product cost for the current Sales row. Then "SUMX()" performs the calculation for every sales row.

๐Ÿ”น 11. When Should You Use SUMX()?

Use "SUMX()" when the calculation requires an expression. For example: Quantity ร— Price, Quantity ร— Cost, Revenue โˆ’ Cost, Discount ร— Quantity, Price ร— Exchange Rate

If the value already exists in a column and you simply need the total, "SUM()" is usually simpler.

๐ŸŽฏ Interview Questions

1๏ธโƒฃ What is an iterator in DAX? - A function that evaluates an expression row by row over a table.

2๏ธโƒฃ What is the difference between SUM() and SUMX()? - "SUM()" directly aggregates a column, while "SUMX()" evaluates an expression for each row before aggregating.

3๏ธโƒฃ What does the X in SUMX() represent? - It indicates that the function iterates through rows and evaluates an expression.

4๏ธโƒฃ What is row context? - The context representing the current row while DAX evaluates an expression.

5๏ธโƒฃ Can SUMX() work with FILTER()? - Yes. FILTER() can define the rows to process, while SUMX() performs the row-by-row calculation.

๐Ÿงช PRACTICE

Create a Sales table containing: Customer, Product, Quantity, Unit Price, Unit Cost

Then create: Total Sales using SUMX(), Total Cost using SUMX(), Total Profit using SUMX(), Average Transaction Value using AVERAGEX(), Highest Transaction using MAXX()

Finally, add: Region slicer, Product slicer, Month slicer. Change the filters and observe how your measures respond.

Power BI Resources: https://t.me/PowerBI_analyst

๐Ÿ’ก Double Tap โค๏ธ For More
โค7
๐—™๐—ฅ๐—˜๐—˜ ๐—”๐—œ ๐—–๐—ฎ๐—ฟ๐—ฒ๐—ฒ๐—ฟ ๐— ๐—ฎ๐˜€๐˜๐—ฒ๐—ฟ๐—ฐ๐—น๐—ฎ๐˜€๐˜€ ๐Ÿš€

Join this expert-led masterclass and discover how to become industry-ready for high-growth AI roles.

๐Ÿ“… Date: 24 September 2026
โฐ Time: 7:00 PMโ€“9:00 PM IST
๐ŸŒ Mode: Online
๐ŸŽ“ Certificate: Available to all attendees

Eligibility :- Graduates Passing In 2025 or earlier

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

https://pdlink.in/4xAMeGW

โšก Register now and take your first step towards a successful career in AI!
โค1
Which DAX function evaluates an expression row by row and then adds the results?
Anonymous Quiz
14%
A) SUM
63%
B) SUMX
11%
C) COUNT
12%
D) CALCULATE
Which function would you use to calculate the average of a row-level expression?
Anonymous Quiz
21%
A) AVERAGE
55%
B) AVERAGEX
18%
C) AVGX
7%
D) MEANX
๐Ÿš€ ๐—ง๐—ผ๐—ฝ ๐Ÿณ ๐—™๐—ฅ๐—˜๐—˜ ๐— ๐—ถ๐—ฐ๐—ฟ๐—ผ๐˜€๐—ผ๐—ณ๐˜ ๐—–๐—ผ๐˜‚๐—ฟ๐˜€๐—ฒ๐˜€ ๐˜๐—ผ ๐—Ÿ๐—ฒ๐—ฎ๐—ฟ๐—ป ๐——๐—ฎ๐˜๐—ฎ ๐—”๐—ป๐—ฎ๐—น๐˜†๐˜๐—ถ๐—ฐ๐˜€! ๐Ÿ“Š

Want to start a career in Data Analytics?

Explore these 7 free Microsoft-backed learning resources covering Power BI, Excel, SQL and data fundamentals

๐Ÿ”— ๐—”๐—ฐ๐—ฐ๐—ฒ๐˜€๐˜€ ๐˜๐—ต๐—ฒ ๐—™๐—ฅ๐—˜๐—˜ ๐—–๐—ผ๐˜‚๐—ฟ๐˜€๐—ฒ๐˜€ ๐Ÿ‘‡

https://pdlink.in/3Tm2D3Z

๐Ÿ’ก Ideal for students, freshers and professionals who want to build practical data skills.
โค4
๐Ÿš€ SQL & Python Quick Cheatsheet for Beginners

๐Ÿ—„๏ธ SQL Programming

1. What is SQL?

SQL stands for Structured Query Language. It is used to communicate with databases and work with stored data.

You can use SQL to:

โœ… Retrieve data

โœ… Filter data

โœ… Analyze data

โœ… Insert data

โœ… Update data

โœ… Delete data

2. SELECT

Used to retrieve data from a table.

SELECT name, salary
FROM employees;


SELECT โ†’ columns you want

FROM โ†’ table you want data from

To get all columns:

SELECT *
FROM employees;


3. WHERE

Used to filter rows.

SELECT *
FROM employees
WHERE salary > 50000;


Common operators:

= Equal



Greater than

< Less than

= Greater than or equal

<= Less than or equal

<> Not equal



4. AND, OR, NOT

Used to combine conditions.

SELECT *
FROM employees
WHERE salary > 50000
AND department = 'IT';


AND โ†’ both conditions must be true.

SELECT *
FROM employees
WHERE department = 'IT'
OR department = 'HR';


OR โ†’ at least one condition must be true.

5. ORDER BY

Used to sort your results.

SELECT *
FROM employees
ORDER BY salary DESC;


ASC โ†’ Lowest to highest

DESC โ†’ Highest to lowest

6. DISTINCT

Used to remove duplicate values.

SELECT DISTINCT department
FROM employees;


7. LIMIT

Used to restrict the number of rows returned.

SELECT *
FROM employees
LIMIT 10;


Note: Some databases use TOP or FETCH.

8. Aggregate Functions

Used to perform calculations on multiple rows.

COUNT() -- Count

SUM() -- Total

AVG() -- Average

MIN() -- Minimum

MAX() -- Maximum

Example:

SELECT AVG(salary)
FROM employees;


9. GROUP BY

Used to create groups and calculate results for each group.

SELECT
department,
AVG(salary) AS average_salary
FROM employees
GROUP BY department;


10. HAVING

Used to filter grouped results.

SELECT
department,
AVG(salary) AS average_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 70000;


WHERE โ†’ filters rows

HAVING โ†’ filters groups

๐Ÿ Python โ€” Beginner Fundamentals

1. What is Python?

Python is a general-purpose programming language used for:

โœ… Data Analytics

โœ… Automation

โœ… AI & Machine Learning

โœ… Data Engineering

โœ… Web Development

2. Variables

Variables store values.

name = "Alex"
age = 25
salary = 50000


3. Data Types

Important beginner data types:

name = "Alex" # str
age = 25 # int
salary = 50000.5 # float
active = True # bool

type(age)


4. Strings

Strings represent text.

name = "Python"

name.upper() # PYTHON
name.lower() # python
name.strip() # removes spaces


5. Numbers

Python supports integers and floating-point numbers.

age = 25
price = 99.50

10 + 5 # Addition
10 - 5 # Subtraction
10 * 5 # Multiplication
10 / 5 # Division
10 % 3 # Remainder
10 ** 2 # Power


6. Boolean

Boolean values represent True or False.

is_logged_in = True


7. Lists

Lists store multiple values in an ordered collection.

numbers = [10, 20, 30, 40]

numbers[0] # Output: 10


Python indexing starts from 0.

8. Dictionaries

Dictionaries store data as key-value pairs.
โค8
employee = {
"name": "Alex",
"age": 25,
"salary": 50000
}

employee["name"] # Output: Alex


9. Tuples

Tuples store ordered values that cannot normally be changed.

coordinates = (10, 20)


10. Sets

Sets store unique values.

numbers = {1, 2, 2, 3}
# Result: {1, 2, 3}


SQL Resources: https://whatsapp.com/channel/0029VanC5rODzgT6TiTGoa1v

โค๏ธ Double Tap & React For More!
โค12
๐Ÿš€ ๐๐ž๐œ๐จ๐ฆ๐ž ๐š๐ง ๐€๐ˆ ๐„๐ง๐ ๐ข๐ง๐ž๐ž๐ซ ๐ข๐ง ๐Ÿ๐ŸŽ๐Ÿ๐Ÿ”

๐ŸŽฏ Choose Your Learning Track:

๐Ÿ’ป Java Full Stack + AI Engineering
๐ŸŒ MERN Full Stack + AI Engineering

Placement Highlights: โ‚น41 LPA highest package | โ‚น7.4 LPA average package | 2,000+ students placed | 500+ hiring partners

๐Ÿ”— ๐—•๐—ผ๐—ผ๐—ธ ๐—™๐—ฅ๐—˜๐—˜ ๐——๐—ฒ๐—บ๐—ผ ๐—–๐—น๐—ฎ๐˜€๐˜€ :- https://pdlink.in/4fWJVID

โšก AI is creating new career opportunitiesโ€”start building the skills companies need in 2026!
โค6