Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Syndicate_Admin
Administrator
Administrator

Cortadora de tablas en función del período de fechas y las fechas de devolución

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.

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

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

Syndicate_Admin
Administrator
Administrator

@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()
)



Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.