The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Estimados todos,
Estoy trabajando con una tabla de calendario que incluye las siguientes columnas:
DíaFecha | Año | Querter_Num | Quarter_Text | Año-Trimestre | Week_of_the_Year_Num | YearWeek_Text | Month_Num | Start_of_Quarter | End_of_Quarter |
3-ene-10 | 2010 | 1 | Pregunta 1 | 2010-T1 | 1 | 2010- W1 | 1 | 1-Ene-10 | 31-mar-10 |
2-ene-10 | 2010 | 1 | Pregunta 1 | 2010-T1 | 1 | 2010- W1 | 1 | 1-Ene-10 | 31-mar-10 |
1-Ene-10 | 2010 | 1 | Pregunta 1 | 2010-T1 | 1 | 2010- W1 | 1 | 1-Ene-10 | 31-mar-10 |
4-Ene-10 | 2010 | 1 | Pregunta 1 | 2010-T1 | 2 | 2010- W2 | 1 | 1-Ene-10 | 31-mar-10 |
Estoy usando la columna Año-Trimestre como segmentación en mi página de informe.
Existe una relación activa entre las columnas Calendar[DayDate] y Item_Exp[Date_closed].
Quiero crear un gráfico de líneas dinámico que muestre los valores de una medida ( _m_cnt_closed_item ) durante los últimos 5 trimestres, terminando con el trimestre seleccionado en la segmentación.
Por lo tanto, si el usuario selecciona 2023-Q4, el gráfico debería mostrar datos de 2022-Q4 a 2023-Q4.
Actualmente, cuando utilizo la segmentación de datos Año-Trimestre, el gráfico de líneas solo muestra los datos del trimestre seleccionado y excluye los 4 trimestres anteriores.
Esta es mi medida:
_m_cnt_closed_last_5_quarter =
VAR MaxDate = MAX('99999_Calendar'[DayDate])
VAR MinDate = EOMONTH(MaxDate, -15)
RETURN
CALCULATE(
[_m_cnt_closed_item],
'Item_Exp'[Date_closed] > MinDate,
'Item_Exp'[Date_closed] <= MaxDate,
REMOVEFILTERS( 'Item_Exp'[Date_closed] )
)
Hola @abanar2 ,
¿Solo quería verificar si tuvo la oportunidad de revisar las sugerencias proporcionadas y pudo resolver el problema?
Si aún tiene alguna pregunta, no dude en comunicarse.
Gracias
Hola @abanar2 ,
¿Solo quería verificar si tuvo la oportunidad de revisar las sugerencias proporcionadas y pudo resolver el problema?
¿Solo quería verificar si tuvo la oportunidad de revisar las sugerencias proporcionadas?
¿Pudo resolver el problema?
Debe crear una nueva tabla para la segmentación, no la relacione con el calendario
Slicer_YearQuarter = DISTINCT('99999_Calendar'[Year-Quarter])
A continuación, cree una medida para seleccionar el cuarto máximo
Selected_Quarter =
MAX('Slicer_YearQuarter'[Year-Quarter])
Modifique la medida de la siguiente manera
_m_cnt_closed_last_5_quarter =
VAR SelectedQtr = MAX('Slicer_YearQuarter'[Year-Quarter])
VAR SelectedYear = VALUE(LEFT(SelectedQtr, 4))
VAR SelectedQtrNum = VALUE(RIGHT(SelectedQtr, 1))
-- Generate a list of last 5 quarters
VAR Last5Quarters =
ADDCOLUMNS(
GENERATESERIES(0, 4, 1),
"Year", SelectedYear - INT((SelectedQtrNum - [Value]) < 1),
"Quarter", MOD(SelectedQtrNum - [Value] - 1 + 4, 4) + 1
)
-- Convert to Year-Quarter format
VAR Last5QtrText =
SELECTCOLUMNS(
Last5Quarters,
"Year-Quarter", FORMAT([Year], "0000") & "-Q" & [Quarter]
)
RETURN
CALCULATE(
[_m_cnt_closed_item],
TREATAS(Last5QtrText, '99999_Calendar'[Year-Quarter])
)
Esta configuración garantiza que la segmentación solo controle la lógica de la medida, no el contexto del filtro visual, lo que permite que el gráfico muestre los últimos 5 trimestres de forma dinámica.
Por favor, levante el pulgar y marque como resuelto si esto ayuda, ¡gracias!
Hola
El Copilot me recomendó algo similar, pero no estoy convencido de su rendimiento.
¿Puedo preguntarle si tiene ideas diferentes?
Hola @abanar2
Pruebe este enfoque
Extraer información del trimestre seleccionado
Extraeremos el año y el trimestre seleccionados de la selección de segmentación.
VAR SelectedQuarterText = SELECTEDVALUE('99999_Calendar'[Año-Trimestre])
VAR SelectedYear = VALUE(LEFT(SelectedQuarterText, 4))
VAR SelectedQtrNum = VALUE(RIGHT(SelectedQuarterText, 1))
Generar la lista de los últimos 5 trimestres
Utilice la lógica para generar los valores de los últimos 5 trimestres.
VAR Last5Quarters =
ADDCOLUMNS(
GENERATESERIES(0, 4, 1),
"QtrOffset", [valor],
"Año", SelectedYear - INT((SelectedQtrNum - [Value]) < 1),
"Quarter", MOD(SelectedQtrNum - [Value] - 1 + 4, 4) + 1
)
VAR Last5QuarterText =
SELECTCOLUMNS(
Último5Trimestres,
"Año-Trimestre", FORMAT ([Año], "0000") & "-Q" y [Trimestre]
)
Medida final
_m_cnt_closed_last_5_quarter =
VAR SelectedQuarterText = SELECTEDVALUE('99999_Calendar'[Año-Trimestre])
VAR SelectedYear = VALUE(LEFT(SelectedQuarterText, 4))
VAR SelectedQtrNum = VALUE(RIGHT(SelectedQuarterText, 1))
VAR Last5Quarters =
ADDCOLUMNS(
GENERATESERIES(0, 4, 1),
"QtrOffset", [valor],
"Año", SelectedYear - INT((SelectedQtrNum - [Value]) < 1),
"Quarter", MOD(SelectedQtrNum - [Value] - 1 + 4, 4) + 1
)
VAR Last5QuarterText =
SELECTCOLUMNS(
Último5Trimestres,
"Año-Trimestre", FORMAT ([Año], "0000") & "-Q" y [Trimestre]
)
DEVOLUCIÓN
CALCULAR(
[_m_cnt_closed_item],
KEEPFILTERS(TREATAS(Last5QuarterText, '99999_Calendar'[Año-Trimestre]))
Gracias
Pankaj Namekar | LinkedIn (en inglés)
Si esta solución ayuda, por favor acéptala y da un aplauso (Me gusta), sería muy apreciado.