cancel
Showing results for 
Search instead for 
Did you mean: 
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
PBI_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

MBAS on Demand

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Get Ready for Power BI Dev Camp

Microsoft named a Leader in The Forrester Wave

Microsoft received the highest score of any vendor in both the strategy and current offering categories.

R2 (Green) 768 x 460px.png

Microsoft Dynamics 365 & Power Platform User Professionals

DynamicsCon is a FREE, 4 half-day virtual learning experience for 11,000+ Microsoft Business Application users and professionals.