Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola a todos
Tengo una tabla de hechos (Ventas) y tablas de una dimensión (dimTime)
Estructura de la tabla de hechos:
Estructura dimTime:
Unirse es uno a Muchos y la clave principal es la columna 'Fecha'
El requisito es-
Estamos trabajando en 3 meses, 6 meses último período de selección en función de los mercados que en este screnario debe ser
Durante 3 meses, la selección de los datos de ventas debe reflejarse de la siguiente manera:
Selección de mercado
Para Australia -> abr 2022 to jun 2022
Para Alemania -> mar 2022 hasta mayo 2022
Tengo una fórmula para la última fecha, pero está devolviendo Commonn Latest Date para todos los mercados y luego mi cálculo de 3 meses está funcionando con precisión.
Medida de filtro =
VAR CurrentDate =
SELECTEDVALUE ( Ventas[Fecha] )
VAR T1 =
CALCULATETABLE ( RESUMIR ( Ventas, Ventas[Mercado], Ventas[Fecha] ), TODOS ( Ventas[Mercado], Ventas[Fecha] ) )
VAR T2 =
ADDCOLUMNS ( T1, "@MaxDate", CALCULATE ( MAX ( Sales[Date] ), ALL ( Sales[Date] ) ) )
VAR T3 =
FILTRO ( T2, [Fecha] = [@MaxDate] )
VAR LastCommonDate =
MINX ( T3, [Fecha] )
Resultado VAR =
IF ( CurrentDate < = LastCommonDate, 1 )
DEVOLUCIÓN
Resultado
Se creó una columna calculada en la tabla dimTime para averiguar 3 meses
Últimos 3 meses =
VAR _CurrentDate = CALCULATE ( MAX ('Sales'[Fecha]), ALLEXCEPT ('Sales','Sales'[Mercado]) )
VAR _Result =
SI(
[Medida de filtro] = 1 && DATEDIFF([Fecha],_CurrentDate,MES) <= 3,
[DAte],BLANK()
)
Volver _Result
Esta fórmula está regresando actualmente de marzo de 2022 a mayo de 2022 para todos los mercados.
Solicite a alguien que me ayude a hacerlo específico del mercado.
Estos son los pasos que puede seguir:
1. Crear medida.
Flag =
var _select=SELECTEDVALUE('Sales'[Market])
var _maxdate=MAXX(FILTER(ALL(Sales),'Sales'[Market]=_select),[Date])
return
IF(
MAX('Sales'[Date]) > EOMONTH(_maxdate,-4) &&MAX('Sales'[Date])<=_maxdate,1,0)
2. Coloque [Flag]en Filtros, establezca is=1, aplique filtro.
3. Resultado:
Cuando no se selecciona ninguna segmentación de datos, se muestra un intervalo de 3 meses para cada mercado
Seleccione las segmentaciones de datos para mostrar el intervalo para el mercado especificado durante 3 meses
Saludos
Liu Yang
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente
@Manisha_91 , basado en lo que obtuve. Si tengo dimensión país y fecha y creo una medida como
Rolling 6 = CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date ],MAX(Sales[Sales Date]),-6,MONTH))
entonces debería tomar la fecha máxima del país cuando la mostremos por país
o pruebe como
Rodadura 6 =
Var _max = maxx(filter(allselected(Sales), [Country] = max(Sales[Country])) , Sales[Fecha de venta])
devolución
CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],_amx,-6,MONTH))
No necesito el cálculo del monto de las ventas, sino la selección del período de tiempo de 3 y 6 meses que dependerá de la selección del mercado.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |