Power BI & Tableau Resources
🆓 Resources to learn Power BI, Tableau & Data Visualisation Perfect channel to start learning everything about Data Analytics Admin: @coderfun
Mostrar más📈 Análisis del canal de Telegram Power BI & Tableau Resources
El canal Power BI & Tableau Resources (@powerbi_analyst) en el segmento lingüístico de Inglés es un actor destacado. Actualmente la comunidad reúne a 55 917 suscriptores, ocupando la posición 3 010 en la categoría Educación y el puesto 6 124 en la región India.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 55 917 suscriptores.
Según los últimos datos del 30 agosto, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 110, y en las últimas 24 horas de 27, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 2.00%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 0.91% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 1 120 visualizaciones. En el primer día suele acumular 509 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 3.
- Intereses temáticos: El contenido se centra en temas clave como dax, visual, dashboard, chart, slicer.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“🆓 Resources to learn Power BI, Tableau & Data Visualisation
Perfect channel to start learning everything about Data Analytics
Admin: @coderfun”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 31 agosto, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Educación.
Rolling 12M Sales =
CALCULATE(
[Total Sales],
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-12,
MONTH
)
)
DATESINPERIOD() creates the required date range, while CALCULATE() evaluates Total Sales over that period.
Rolling totals are useful for identifying longer-term trends while reducing the impact of individual monthly fluctuations.
69. How would you calculate the previous month's sales?
You can use DATEADD() to shift the current date context back by one month.
Previous Month Sales =
CALCULATE(
[Total Sales],
DATEADD(
'Date'[Date],
-1,
MONTH
)
)
If the current context is August 2026, the measure returns the corresponding sales for July 2026.
You can then calculate Month-over-Month growth:
MoM Growth % =
DIVIDE(
[Total Sales] - [Previous Month Sales],
[Previous Month Sales]
)
70. Why can time-intelligence calculations return incorrect results?
Time-intelligence calculations can produce unexpected results when the Date Table, relationships, or filter context are not configured correctly.
Common causes include:
1.
No proper Date Table
Using only transaction dates without a dedicated Date dimension can cause issues.
2.
Missing dates
The Date Table should generally contain a continuous range of dates.
3.
Incorrect relationship
The Date Table must be correctly related to the relevant fact table.
4.
Incorrect data type
Date columns should use an appropriate Date or Date/Time data type.
5.
Incorrect filter context
Unexpected filters can change the period being evaluated.
6.
Incomplete Date Table
The Date Table should cover the complete period required for analysis.
A properly designed Date Table, correct relationships, and appropriate filter context are essential for reliable YTD, MTD, QTD, YoY, and rolling-period calculations.
Double Tap ❤️ For Part 8
-----
2.31 ₽ · /balance_helpDate Table
↓
Sales Fact Table
The Date Table should generally have a continuous range of dates and an appropriate relationship with the fact table.
62. How do you calculate YTD Sales?
YTD means Year-to-Date. It calculates sales from the beginning of the year through the current date in the filter context.
Sales YTD =
TOTALYTD(
[Total Sales],
'Date'[Date]
)
For example, if the current context is March 2026, the measure calculates sales from the beginning of 2026 through the relevant date in March.
YTD is commonly used to compare current performance against annual targets.
63. How do you calculate MTD Sales?
MTD means Month-to-Date. It calculates sales from the beginning of the current month through the current date.
Sales MTD =
TOTALMTD(
[Total Sales],
'Date'[Date]
)
For example, if the current context is August 15, the calculation represents sales from August 1 through August 15.
MTD is useful for monitoring current-month performance.
64. How do you calculate QTD Sales?
QTD means Quarter-to-Date. It calculates sales from the beginning of the current quarter through the current date.
Sales QTD =
TOTALQTD(
[Total Sales],
'Date'[Date]
)
For example, if the current date is May 15, the calculation starts from April 1 because April–June is the second quarter.
QTD is commonly used in financial and business performance reporting.
65. How do you calculate Year-over-Year growth?
Year-over-Year (YoY) growth compares the current period's performance with the corresponding period from the previous year.
First calculate previous-year sales:
Sales LY =
CALCULATE(
[Total Sales],
SAMEPERIODLASTYEAR('Date'[Date])
)
Then calculate the growth percentage:
Sales YoY % =
DIVIDE(
[Total Sales] - [Sales LY],
[Sales LY]
)
For example:
• Current Sales = ₹12 lakh
• Previous Year Sales = ₹10 lakh
YoY Growth = (12 - 10) / 10 = 20%
This allows businesses to understand whether performance has improved or declined compared with the previous year.
66. What does SAMEPERIODLASTYEAR() do?
SAMEPERIODLASTYEAR() returns the corresponding dates from the previous year based on the current date context.
Example:
Sales LY =
CALCULATE(
[Total Sales],
SAMEPERIODLASTYEAR('Date'[Date])
)
If the current report context is January 2026, the calculation returns the corresponding January 2025 period.
It is commonly used for:
• Previous-year sales
• YoY comparisons
• Revenue growth
• Yearly performance analysis
A proper Date Table is important for reliable results.
67. What is the difference between DATEADD() and SAMEPERIODLASTYEAR()?
SAMEPERIODLASTYEAR() specifically shifts the current date context back by one year.
Sales LY =
CALCULATE(
[Total Sales],
SAMEPERIODLASTYEAR('Date'[Date])
)
DATEADD() is more flexible because you can specify the interval and number of periods.
For example:
Previous Month Sales =
CALCULATE(
[Total Sales],
DATEADD(
'Date'[Date],
-1,
MONTH
)
)Sales by Ship Date =
CALCULATE(
[Total Sales],
USERELATIONSHIP(
Sales[Ship Date],
'Date'[Date]
)
)
This is useful when a fact table has multiple date columns such as:
• Order Date
• Ship Date
• Delivery Date
• Invoice Date
• Payment Date
58. What is the purpose of VAR in DAX?
VAR allows you to store the result of an expression in a variable and reuse it within the calculation.
Example:
Profit Margin =
VAR SalesAmount = [Total Sales]
VAR ProfitAmount = [Total Profit]
RETURN
DIVIDE(
ProfitAmount,
SalesAmount
)
Benefits include:
• Improved readability
• Easier debugging
• Avoiding repeated expressions
• Better maintainability
• Potential performance improvements in appropriate cases
VAR is especially useful when DAX formulas become complex.
59. When would you use SWITCH() instead of nested IF()?
SWITCH() is useful when you have multiple possible conditions or outcomes.
Instead of writing deeply nested IF() statements:
Sales Category =
SWITCH(
TRUE(),
[Total Sales] > 100000, "High",
[Total Sales] > 50000, "Medium",
"Low"
)
This is easier to read and maintain than multiple nested IF() functions.
SWITCH() is also commonly used for dynamic calculations.
For example, if a user selects:
• Sales
• Profit
• Quantity
a SWITCH() measure can return the corresponding metric.
60. How would you calculate percentage of total sales?
First create a Total Sales measure:
Total Sales =
SUM(Sales[Sales Amount])
Then calculate the percentage of total:
Sales % of Total =
DIVIDE(
[Total Sales],
CALCULATE(
[Total Sales],
REMOVEFILTERS(Product[Product Name])
)
)
The numerator represents sales in the current context.
The denominator removes the Product filter and calculates sales across all products.
For example:
• Product A Sales = ₹40,000
• Total Sales = ₹1,00,000
Therefore:
• Product A % of Total = 40%
The key concept here is filter context. The calculation works because the denominator deliberately removes the product-level filter.
Double Tap ❤️ For Part-7
-----
2.23 ₽ · /balance_helpTotal Sales All Products =
CALCULATE(
[Total Sales],
ALL(Product[Product Name])
)
If a product filter is applied, ALL() removes that filter for the calculation.
ALLSELECTED() removes filters from the current visual context while generally preserving the user's broader selections.
It is useful for calculations such as percentage of the selected total.
Sales % of Selected Total =
DIVIDE(
[Total Sales],
CALCULATE(
[Total Sales],
ALLSELECTED(Product[Product Name])
)
)
In simple terms:
ALL() → removes specified filters.
ALLSELECTED() → respects the user's broader selections while adjusting the current visual context.
52. What does FILTER() do in DAX?
FILTER() returns a table containing only the rows that satisfy a specified condition.
Example:
High Value Sales =
CALCULATE(
[Total Sales],
FILTER(
Sales,
Sales[Sales Amount] > 10000
)
)
Here, FILTER() evaluates the Sales table and keeps only rows where Sales Amount is greater than 10,000.
It is useful when you need complex filtering logic that cannot be expressed easily with a simple filter argument.
For simple conditions, a direct filter inside CALCULATE() is often preferable:
CALCULATE(
[Total Sales],
Sales[Region] = "North"
)
53. What is REMOVEFILTERS()?
REMOVEFILTERS() removes filters from specified columns or tables.
Example:
Total Sales =
CALCULATE(
[Total Sales],
REMOVEFILTERS(Product[Category])
)
If a report is filtered to a particular product category, this calculation removes that category filter.
It is commonly used for:
• Percentage-of-total calculations
• Overall benchmarks
• Comparing filtered values with overall totals
REMOVEFILTERS() is often preferred when you want the DAX code to clearly communicate that your intention is to remove a filter.
54. What is VALUES()?
VALUES() returns the unique values from a column within the current filter context.
Example:
VALUES(Customer[Customer ID])
If the current report context contains 500 customers, VALUES() returns the customer IDs visible in that context.
It is frequently used in advanced DAX calculations where the calculation needs to work with the currently selected values.
An important point is that VALUES() is affected by filter context, so its result can change when users change slicers or filters.
55. What is DISTINCT()?
DISTINCT() returns unique values from a column or unique rows from a table.
Example:
DISTINCT(Customer[City])
This returns the unique cities available in the current context.
VALUES() and DISTINCT() are similar, but they are not always identical. VALUES() can include a blank/unknown member in certain relationship scenarios.
Therefore, you should understand the difference rather than treating them as completely interchangeable.
56. What is RANKX() and when would you use it?
RANKX() is used to rank values based on an expression.
For example, to rank products according to sales:
Product Rank =
RANKX(
ALL(Product[Product Name]),
[Total Sales],
,
DESC
)