Forum Discussion
Dax
Hola @krishna_1811 ,
Para lograr esto en Power BI, puede usar una combinación de medidas de DAX y una tabla desconectada para la segmentación. A continuación, se muestra una solución paso a paso con datos de muestra y el resultado esperado:
1.Cree una nueva tabla desconectada para la segmentación con las opciones "QoQ", "MoM" y "YoY". También puede crear esta tabla introduciendo datos.
SlicerTable = DATATABLE(
"Period", STRING,
{
{"QoQ"},
{"MoM"},
{"YoY"}
}
)
2.Cree una medida para calcular los valores en función del período seleccionado.
SaSalesAmountlesQoQ =
VAR SelectedPeriod = SELECTEDVALUE(SlicerTable[Period], "QoQ")
VAR SalesQoQ =
IF(
SelectedPeriod = "QoQ",
CALCULATE(SUM(Sales[Amount]), DATESQTD(Sales[Date])),
BLANK()
)
VAR SalesMoM =
IF(
SelectedPeriod = "MoM",
CALCULATE(SUM(Sales[Amount]), DATESMTD(Sales[Date])),
BLANK()
)
VAR SalesYoY =
IF(
SelectedPeriod = "YoY",
CALCULATE(SUM(Sales[Amount]), DATESYTD(Sales[Date])),
BLANK()
)
RETURN
SalesQoQ + SalesMoM + SalesYoY
3.Crea un objeto visual de matriz:
Agregue un objeto visual de matriz al informe.
Use el campo de fecha en las filas y la medida SalesAmount en los valores.
Agregue el campo Period de SlicerTable al objeto visual de segmentación.
Datos de muestra
Supongamos que tiene una tabla Sales con los siguientes datos:
| Fecha | Importe |
|---|---|
| 2024-01-01 | 100 |
| 2024-02-01 | 150 |
| 2024-03-01 | 200 |
| 2024-04-01 | 250 |
| 2024-05-01 | 300 |
| 2024-06-01 | 350 |
| 2024-07-01 | 400 |
| 2024-08-01 | 450 |
| 2024-09-01 | 500 |
| 2024-10-01 | 550 |
| 2024-11-01 | 600 |
| 2024-12-01 | 650 |
Resultado esperado
Al seleccionar "QoQ" en la segmentación, la matriz debe mostrar las ventas trimestrales. Cuando selecciona "MoM", debería mostrar las ventas mensuales, y cuando seleccione "YoY", debería mostrar las ventas anuales.
Saludos
Esteban Tao
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente