Data Analytics
Perfect channel to learn Data Analytics Learn SQL, Python, Alteryx, Tableau, Power BI and many more For Promotions: @coderfun @love_data
نمایش بیشتر📈 تحلیل کانال تلگرام Data Analytics
کانال Data Analytics (@sqlspecialist) در بخش زبانی انگلیسی بازیگری فعال است. در حال حاضر جامعه شامل 110 744 مشترک است و جایگاه 1 082 را در دسته فناوری و برنامهها و رتبه 2 206 را در منطقه الهند دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 110 744 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 25 اکتبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -102 و در ۲۴ ساعت گذشته برابر -15 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 2.99% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 1.27% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 3 314 بازدید دریافت میکند. در اولین روز معمولاً 1 405 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 6 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند row, sql, analytic, analyst, visualization تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Perfect channel to learn Data Analytics
Learn SQL, Python, Alteryx, Tableau, Power BI and many more
For Promotions: @coderfun @love_data”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 26 اکتبر, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
SELECT Customer_ID, SUM(Sales) AS Total_Sales
FROM Sales
GROUP BY Customer_ID
HAVING SUM(Sales) > 100000;
3️⃣ What is the difference between INNER JOIN and LEFT JOIN?
Sample Answer:
"An INNER JOIN returns only the records that have matching values in both tables.
A LEFT JOIN returns all records from the left table and the matching records from the right table. If there is no match, the columns from the right table contain NULL."
For example, if I want all customers, including customers who haven't placed any orders, I would use a LEFT JOIN.
4️⃣ What is a primary key?
Sample Answer:
"A primary key is a column or combination of columns that uniquely identifies each record in a table. It must contain unique values and cannot contain NULL values.
For example, Customer_ID can be a primary key in a Customer table if every customer has a unique ID."
5️⃣ What is a foreign key?
Sample Answer:
"A foreign key is a column that references a primary key or another unique key in another table. It establishes a relationship between tables.
For example, Customer_ID in an Orders table can reference Customer_ID in the Customers table."
6️⃣ What is the difference between UNION and UNION ALL?
Sample Answer:
"Both are used to combine the results of two or more SELECT statements.
UNION removes duplicate records from the combined result, while UNION ALL retains duplicates.
Because UNION performs duplicate elimination, UNION ALL can generally be faster when duplicate removal isn't required."
7️⃣ What is a NULL value in SQL?
Sample Answer:
"NULL represents a missing, unknown, or unavailable value. It is different from zero, an empty string, or a blank value.
We should use IS NULL or IS NOT NULL to check for NULL values rather than using an equals operator."
SELECT *
FROM Customers
WHERE Email IS NULL;
8️⃣ What is GROUP BY used for?
Sample Answer:
"GROUP BY is used to group rows that have the same values in one or more columns so that aggregate functions can be applied to each group.
For example, to calculate total sales by region:"
SELECT Region, SUM(Sales) AS Total_Sales
FROM Sales
GROUP BY Region;
9️⃣ What are aggregate functions in SQL?
Sample Answer:
"Aggregate functions perform calculations on multiple rows and return a single result for each group.
Common aggregate functions include:"
• COUNT() — counts records
• SUM() — calculates the total
• AVG() — calculates the average
• MIN() — finds the minimum value
• MAX() — finds the maximum value
For example:
SELECT
COUNT(*) AS Total_Orders,
SUM(Sales) AS Total_Sales,
AVG(Sales) AS Average_Sales
FROM Sales;SELECT Customer_ID, Transaction_ID, COUNT(**) AS duplicate_count
FROM transactions
GROUP BY Customer_ID, Transaction_ID
HAVING COUNT(**) > 1;SELECT Customer_ID, Transaction_ID, COUNT(**) AS duplicate_count
FROM transactions
GROUP BY Customer_ID, Transaction_ID
HAVING COUNT(**) > 1;Performance =
SWITCH(
TRUE(),
[Profit Margin] >= 0.30, "Excellent",
[Profit Margin] >= 0.15, "Good",
[Profit Margin] >= 0, "Needs Improvement",
"Loss"
)
It evaluates conditions and returns the corresponding result.
This is useful for:
✔ KPI categories
✔ Business rules
✔ Dynamic labels
✔ Conditional calculations
✔ Performance classification
🔹 10. Building a Dynamic Customer Message
You can combine these functions to create business-friendly messages.
Example:
Customer Message =
"Selected Customers: "
&
COUNTROWS(VALUES(Sales[CustomerID]))
If the current filter context contains 125 unique customers:
• Selected Customers: 125
This can be displayed inside a Card or used in a report title.
🔹 11. Why These Functions Matter
Real dashboards rarely show the same calculation under every situation.
Users interact with:
• Slicers
• Filters
• Drill-downs
• Cross-highlighting
• Page filters
Your DAX measures should respond appropriately.
Functions such as:
• "FILTER()"
• "VALUES()"
• "SELECTEDVALUE()"
• "HASONEVALUE()"
• "SWITCH()"
help you build that dynamic behavior.
🎯 Interview Questions
1️⃣ What does FILTER() do?
• It returns a filtered table based on a specified condition.
2️⃣ What does SELECTEDVALUE() return?
• The single value in the current context, or an alternate result when there isn't exactly one value.
3️⃣ What is HASONEVALUE() used for?
• To check whether exactly one unique value exists in the current filter context.
4️⃣ How can SELECTEDVALUE() be used in a dashboard?
• It can create dynamic titles, labels, messages, and calculations based on slicer selections.
5️⃣ Why is SWITCH() useful in DAX?
• It allows multiple conditions or selections to determine which result should be returned.
🧪 PRACTICE
Create a Region slicer.
Then create:
✔ Selected Region
✔ Customer Count
✔ Dynamic Sales Title
✔ Dynamic KPI using SWITCH()
✔ One Region / Multiple Regions indicator
Select different regions and observe how every measure responds.
💡 Key lesson:
Advanced DAX is largely about making calculations respond intelligently to the user's current context.
Once you understand:
• FILTER()
• VALUES()
• SELECTEDVALUE()
• HASONEVALUE()
• SWITCH()
you can start building genuinely interactive Power BI reports.
Double Tap ❤️ For More
-----
1.37 ₽ · /balance_helpHigh Value Sales =
CALCULATE(
[Total Sales],
FILTER(
Sales,
Sales[SalesAmount] > 10000
)
)
This keeps only transactions where SalesAmount is greater than 10,000.
The important thing to understand:
• "FILTER()" works with a table and evaluates a condition for each row.
• Use it when your filtering requirement is more complex than a simple condition.
🔹 2. VALUES()
"VALUES()" returns the unique values from a column based on the current filter context.
Example:
Customer Count =
COUNTROWS(
VALUES(Sales[CustomerID])
)
This counts the unique customers visible in the current context.
For example:
• Without filters → 1,000 customers
• Region = West → 250 customers
• Region = South → 300 customers
The result changes according to the report filters.
🔹 3. VALUES() vs DISTINCT()
Both can return unique values, but they aren't identical in every situation.
A useful beginner-level rule:
• "DISTINCT()" → returns unique values from a column.
• "VALUES()" → returns unique values while also being sensitive to the current DAX context and can include a blank value when appropriate.
In advanced DAX, "VALUES()" is extremely useful for understanding what values are currently available in the filter context.
🔹 4. SELECTEDVALUE()
This is one of the most useful functions for interactive reports.
Suppose you have a Region slicer.
You can write:
Selected Region =
SELECTEDVALUE(
Sales[Region],
"Multiple Regions"
)
If the user selects:
• West → Result: West
• West + South → Result: Multiple Regions
If nothing is selected, the result can also return the alternate value depending on the filter context.
🔹 5. SELECTEDVALUE() with Dynamic Titles
You can use SELECTEDVALUE() to make report titles dynamic.
Example:
Sales Title =
"Sales Performance - "
&
SELECTEDVALUE(
Sales[Region],
"All Regions"
)
If the user selects West:
• Sales Performance - West
If multiple regions are selected:
• Sales Performance - All Regions
This makes dashboards much more interactive.
🔹 6. HASONEVALUE()
"HASONEVALUE()" checks whether exactly one unique value exists in the current filter context.
Example:
Single Region Selected =
IF(
HASONEVALUE(Sales[Region]),
"One Region",
"Multiple Regions"
)
If exactly one region is selected:
• One Region
Otherwise:
• Multiple Regions
🔹 7. SELECTEDVALUE() vs HASONEVALUE()
They are related but serve different purposes.
"HASONEVALUE()" asks:
• "Is exactly one value selected?"
"SELECTEDVALUE()" asks:
• "What is that selected value?"
For example:
SELECTEDVALUE(Sales[Region]) returns the actual region.
HASONEVALUE(Sales[Region]) returns TRUE or FALSE.
🔹 8. Dynamic KPI Calculation
Suppose you want a KPI to change based on a slicer containing:
• Sales
• Profit
• Orders
A measure can use the selected value to determine what should be displayed.
Conceptually:
Selected KPI =
SWITCH(
SELECTEDVALUE(KPI[KPI Name]),
"Sales", [Total Sales],
"Profit", [Total Profit],
"Orders", [Total Orders]
)
Now one visual can display different KPIs based on the user's selection.
This is called a:
• 👉 Dynamic Measure
🔹 9. SWITCH()
"SWITCH()" is extremely useful for dynamic DAX.
Instead of writing many nested IF statements: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!
-----
1.35 ₽ · /balance_helpSELECT 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 equal4. 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.