Power BI & Tableau Resources
🆓 Resources to learn Power BI, Tableau & Data Visualisation Perfect channel to start learning everything about Data Analytics Admin: @coderfun
نمایش بیشتر📈 تحلیل کانال تلگرام Power BI & Tableau Resources
کانال Power BI & Tableau Resources (@powerbi_analyst) در بخش زبانی انگلیسی بازیگری فعال است. در حال حاضر جامعه شامل 55 783 مشترک است و جایگاه 3 130 را در دسته آموزش و رتبه 6 187 را در منطقه الهند دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 55 783 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 26 اکتبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -76 و در ۲۴ ساعت گذشته برابر 3 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 2.22% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 0.85% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 1 239 بازدید دریافت میکند. در اولین روز معمولاً 475 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 2 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند dax, visual, dashboard, chart, slicer تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“🆓 Resources to learn Power BI, Tableau & Data Visualisation
Perfect channel to start learning everything about Data Analytics
Admin: @coderfun”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 27 اکتبر, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته آموزش تبدیل کردهاند.
(Sales - Cost) / Sales
For example:
Sales = ₹10,000
Cost = ₹7,000
Profit Margin:
(10000 - 7000) / 10000
= 0.30
= 30%
Then test your function with different Sales and Cost values.
After that, think about how you could use the same concept to transform multiple monthly files.
🎯 Key Takeaway
Custom M Functions allow you to write transformation logic once and reuse it many times.
They are particularly valuable when working with multiple files that require the same cleaning and transformation steps.
Double Tap ❤️ For More
-----
1.42 ₽ · /balance_helpCalculatePrice(1000, 0.18)
Result:
1180
And:
CalculatePrice(1000, 0.05)
Result:
1050
The function becomes more flexible.
6. Custom Functions with Tables
Custom functions become especially powerful when working with tables.
Imagine you receive these files:
January.xlsx
February.xlsx
March.xlsx
April.xlsx
Each file contains raw sales data.
You want every file to go through the same cleaning process.
You can create a function such as:
TransformSalesFile
The function can:
1. Receive a file.
2. Extract the required table.
3. Remove unnecessary columns.
4. Rename columns.
5. Change data types.
6. Clean the data.
7. Return the transformed table.
You can then apply the function to multiple files.
7. Custom Function Workflow
A common workflow is:
Files → Function → Cleaned Tables → Combined Dataset
For example:
Jan.xlsx
Feb.xlsx
Mar.xlsx
Each file is passed through the same transformation function.
The result is a consistent dataset ready for analysis.
This is one of the most useful applications of custom functions in Power Query.
8. Creating a Function from an Existing Query
Power Query can also help you create a function from an existing query.
A common approach is:
1. Build the transformation for one sample file.
2. Turn the query into a function.
3. Define the input parameter.
4. Apply the function to other files.
This is much easier than manually writing the entire function from scratch.
9. Function vs Parameter
These two concepts can sometimes be confused.
Parameter
A parameter stores a value that can change.
Example:
MinimumSales = 5000
Function
A function performs an operation using one or more inputs.
Example:
CalculateProfit(Sales, Cost)
So:
Parameter = value
Function = reusable logic
10. Real-World Example
Suppose your company receives employee files from different branches.
Each file contains:
Name Salary Department
Rahul 50000 Sales
Priya 60000 HR
Every file needs the same cleaning:
• Remove blank rows
• Standardize department names
• Change Salary to number
• Trim employee names
Instead of repeating these steps for every branch, create:
CleanEmployeeFile
Then apply that function to every branch file.
If you later modify the cleaning logic, you can update the function rather than rebuilding the transformation for every file.
11. Important: Functions Need Consistent Inputs
A custom function works best when the input structure is predictable.
For example, if your function expects:
• Name
• Salary
• Department
but one file contains:
• EmployeeName
• Pay
• Team
the function may fail.
Therefore, when working with multiple files, make sure the files have a consistent structure or build logic to handle differences.
12. Common Mistakes
Mistake 1: Creating a function for everything
Not every transformation needs a custom function.
Use functions when the same logic needs to be reused.
Mistake 2: Wrong input data type
If your function expects a number but receives text, the function may produce an error.
Mistake 3: Inconsistent file structures
Different column names or missing columns can break a function.(price as number) as number =>
price * 1.18
Here:
price is the input.
as number specifies the input data type.
price * 1.18 is the calculation.
The final as number specifies the output type.
4. Using the Function
Suppose your function is called:
AddGST
You could use it like:
AddGST(1000)
Result:
1180
Another example:
AddGST(5000)
Result:
5900
The same logic can be reused with different values.
5. Functions Can Accept Multiple Inputs
A function doesn't have to accept only one parameter.
For example:
(price as number, taxRate as number) as number =>
price * (1 + taxRate)each frequently in Power Query.
For example:
each [Sales] > 5000
It means the expression should be evaluated for each row.
Another example:
each [Quantity] * [Price]
This calculates the result for every row.
If:
Quantity = 10
Price = 500
then:
10 × 500 = 5000
8. Column References
In M, a column can commonly be referenced like:
[Sales]
For example:
each [Sales] * 1.18
This calculates a value using the Sales column.
For column names containing spaces or special characters, you may see syntax such as:
[#"Sales Amount"]
You don't need to memorize this immediately. Power Query usually generates the correct syntax for you.
9. M Is Case-Sensitive
M language is case-sensitive.
For example:
Sales
and
sales
are not necessarily treated as the same identifier.
Similarly, function names need to be written correctly.
This is one reason copying and modifying existing M code is often easier than writing everything from scratch.
10. Editing M Code
You can modify M code directly using:
View → Advanced Editor
For example, you might change:
[Sales] > 5000
to:
[Sales] > 10000
This changes the filtering condition.
However, don't edit M code blindly.
If you change a step incorrectly, later steps may stop working.
11. Why Learn M If Power Query Has a GUI?
The interface is enough for many common transformations.
But M becomes useful when:
• A transformation isn't easily available through the interface
• You need dynamic logic
• You want to reuse code
• You need parameters
• You want to create custom functions
• You need more control over transformations
• You want to troubleshoot query errors
Think of the GUI as the easy way to build transformations.
M gives you deeper control over those transformations.
12. M vs DAX
This is an important distinction.
Power Query M
Used mainly for:
• Extracting data
• Cleaning data
• Transforming data
• Combining data
• Preparing data before loading
DAX
Used mainly for:
• Measures
• Calculated columns
• Calculations within the data model
• Analysis and reporting
For example:
Removing unnecessary columns:
Use Power Query.
Creating:
Total Sales = SUM(Sales[SalesAmount])
Use DAX.
🧪 Practical Exercise
Take a simple Sales table containing:
Product Quantity Price
Laptop 2 50000
Mouse 5 1000
Keyboard 3 2000
In Power Query:
1. Change the data types.
2. Add a Revenue column.
3. Filter Revenue greater than 5000.
4. Rename the Revenue column.
5. Open the formula bar.
6. Look at the M code generated for each step.
7. Open Advanced Editor.
8. Identify the let and in sections.
🎯 Key Takeaway
M is the language behind Power Query transformations.
You don't need to learn all of M at once.
Start by performing transformations through the interface, then study the M code Power Query generates.
This approach makes M much easier to learn because you already understand what the code is supposed to accomplish.
Double Tap ❤️ For More
-----
1.37 ₽ · /balance_helpTable.SelectRows(Source, each [Sales] > 4000)
This means:
Take the Source table and keep rows where Sales is greater than 4000.
You don't have to memorize this immediately.
The goal is to understand what the code is doing.
3. Power Query Steps Are M Code
When you perform transformations, Power Query creates individual steps.
For example:
Source
Changed Type
Removed Columns
Filtered Rows
Renamed Columns
Each step represents a transformation.
The formula bar can show the M expression behind the selected step.
This is one of the easiest ways to learn M.
Instead of starting with programming syntax, perform a transformation and observe the code Power Query generates.
4. The let and in Structure
A typical Power Query query looks like:
let
Source = Excel.Workbook(File.Contents("Sales.xlsx")),
SalesData = Source{[Item="Sales"]}[Data],
ChangedType = Table.TransformColumnTypes(
SalesData,
{{"Sales", type number}}
)
in
ChangedType
Don't worry about every part yet.
The important idea is:
let
Step 1,
Step 2,
Step 3
in
Final Step
Power Query performs the steps in sequence and returns the step specified after in.
5. Understanding a Step
Consider:
FilteredRows =
Table.SelectRows(Source, each [Sales] > 5000)
There are two important parts.
Step name
FilteredRows
This is the name of the step.
Transformation
Table.SelectRows(Source, each [Sales] > 5000)
This tells Power Query what transformation to perform.
6. Common M Functions
You will frequently encounter functions such as:
Table.SelectRows
Used to filter rows.
Table.SelectRows(Source, each [Sales] > 5000)
Table.RemoveColumns
Used to remove columns.
Table.RemoveColumns(Source, {"Region"})
Table.RenameColumns
Used to rename columns.
Table.RenameColumns(Source, {{"Sales", "Revenue"}})
Table.AddColumn
Used to create a new column.
Table.AddColumn(Source, "Profit", each [Sales] - [Cost])