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.
Tengo una tabla Fecha y una tabla FactSales y su relación es Fecha[fecha] y FactSales[Fecha]. Tengo una medida que suma las ventas, por ejemplo, ventas totales = SUM(FactSales[sales]). Tengo una mesa llamada Relación.
_______________________________________________________________________
Match | TypeID | Type | No |Datepartname |
________________________________________________________________________
DEFAULT - Year on Year | 1 |Userelationship | NA | NA |
Previous 1 Week | 3 | Dateadd | 1 | Week |
Previous 2 Week | 3 | Dateadd | 2 | Week |
Previous 3 Week | 3 | Dateadd | 3 | Week |
Previous 12 Week | 3 | Dateadd | 12 | Week |
------------------------------------------------------------------------
Esta columna Relation[Match] se usará como segmentación de datos que filtrará a través de la tabla de fechas para obtener el Total de ventas en función de lo seleccionado.
Estoy luchando para hacer que esto funcione usando el DAX a continuación: Primero necesito identificar la fecha actual mediante el uso de la variable _maxDate
measure =
Var _maxDate = CALCULATE ( MAX ( Date[Dates] ), ALLSELECTED ( Date ) ) --- current's date
var _selection = SELECTEDVALUE(Relation[Match] )
RETURN
SWITCH(TRUE(),
_selection = "DEFAULT - Year on Year", "DEFAULT - Year on Year",
_selection = "Previous 1 Week", DATEADD(Date[Dates],-7,DAY),
_selection = "Previous 2 Week”, DATEADD(Date[Dates],-14,DAY),
_selection = "Previous 3 Week", DATEADD(Date[Dates],-21,DAY),
_selection = "Previous 12 Week", DATEADD(Date[Dates],-84,DAY),
BLANK()
)
Mi error de devolución de Dax.
Resultado esperado:
Siempre que se seleccione la semana anterior 1 en la segmentación de datos, debe devolver la fecha de la semana anterior y cuando se selecciona la semana anterior 2, debe devolver hace 2 semanas fecha y así sucesivamente. Si esto se logra, la medida debe calcularse automáticamente en función de lo seleccionado en la segmentación de datos.
Semana en la función DATEADD no funcionan y hay una línea de calamar rojo apareció en subrayado y debajo de la semana
@EalTim
Lo siento, eso fue un error de mi parte. ¿Puedes probar la siguiente medida?
measure =
var _selection = SELECTEDVALUE(Relation[No])
RETURN
IF(
_selection IN {1,2,3,12},
CALCULATE(
[Total Sales],
DATEADD(Date[Dates],-_selection * 7,DAY)
)
)
@Fowmy Gracias por la respuesta. Me gustaría validar mi fecha si devuelve la fecha correcta. Así que decidí usar
Check Date returned =
var _selectionNo = SELECTEDVALUE(SelectedTbl[No] )
RETURN
IF(
_selectionNo IN {"1","2","3","4","8","12"} ,
DATEADD(DIMDateTbl[Date],-_selectionNo * 7,DAY), BLANK()
)
Está dando error qué estado -
Mensaje de error: MdxScript(Model) (87, 21) Error de cálculo en la medida 'Date'[Check Date returned]: Se proporcionó una tabla de varios valores donde se esperaba un único valor.
por favor, ¿cómo puedo resolver esto a la fecha de devolución cada vez que se selecciona la segmentación de datos. Esto es para comprobar si mi resultado devuelve la fecha correcta.
gracias
@EalTim
Debe reemplazar "Día" por "Semana" en la fórmula:
measure =
Var _maxDate = CALCULATE ( MAX ( Date[Dates] ), ALLSELECTED ( Date ) ) --- current's date
var _selection = SELECTEDVALUE(Relation[Match] )
RETURN
SWITCH(TRUE(),
_selection = "DEFAULT - Year on Year", "DEFAULT - Year on Year",
_selection = "Previous 1 Week", DATEADD(Date[Dates],-7,Week),
_selection = "Previous 2 Week”, DATEADD(Date[Dates],-14,Week),
_selection = "Previous 3 Week", DATEADD(Date[Dates],-21,Week),
_selection = "Previous 12 Week", DATEADD(Date[Dates],-84,Week),
BLANK()
)
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 |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |