Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
2 years ago

Problema con Dax

Se requiere ayuda

Más de 2 días de intentarlo

Trabajando en el cálculo del año mes

MTD - mes hasta la fecha
PMTD - mes anterior hasta la fecha

Tengo el maestro de fechas y el hecho de ventas

Trabajando bien año, mes arrastrado de la jerarquía de la fecha

Emitir

Necesito tener datos como año fiscal y mes fiscal, estas son columnas nuevas que calculé y los tipos de datos no son int fecha

Si arrastrara el año fiscal


Mtd y pmtd son los mismos para el mes y
Al aplicar Filtrado también funciona con wierdly, 4 meses nov, dic, ene, feb he seleccionado, pero oct también visible en la tabla

Fórmulas

MTD =
VAR LastDayAvailable = DAY(TODAY())
VAR LastFiscalYearMonthAvailable = MAX ( 'Date'[Year Month No] )
Resultado del VAR =
CALCULAR (
[Ventas],

'Fecha'[Día] <= ÚltimoDíaDisponible,
'Date[Year Month No] = LastFiscalYearMonthAvailable
)
DEVOLUCIÓN
Resultado


PMTD = CALCULATE([MTD], DATEADD('Date'[Date].[ Fecha], -1, MES))

3 Replies

  • @TechInayam , si hay selección, puede usar datesmtd

    MTD Sales = CALCULATE(SUM(Sales[Importe de las ventas]),DATESMTD('Date'[Date]))
    últimas ventas de MTD = CALCULATE(SUM(Sales[Importe de las ventas]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))

    MTD basado en la actualidad

    MTD Hoy =
    var _min = eomonth(today(),-1)+1
    var _max = hoy()
    devolución
    CALCULATE([Net], FILTER('Date','Date'[Date] >=_min && 'Date'[Date] <= _max))

    LMTD Hoy=
    var _min = eomonth(today(),-2)+1
    var _max1 = hoy()
    var _max = fecha(año(_max1),mes(_max1)-1, día(_max1))
    devolución
    CALCULATE([Net], FILTER('Date','Date'[Date] >=_min && 'Date'[Date] <= _max))

    LYMTD Hoy =
    var _min = eomonth(today(),-13)+1
    var _max1 = hoy()-1
    var _max = fecha(año(_max1)-1,mes(_max1), día(_max1))
    return CALCULATE([Net], FILTER('Date','Date'[Date] >=_min && 'Date'[Date] <= _max))

    MTD Ayer =
    var _max = hoy() -1
    var _min = eomonth(_max,-1)+1
    return CALCULATE([Net], FILTER('Date','Date'[Date] >=_min && 'Date'[Date] <= _max))

    Time Intelligence, parte de aprender Power BI https://youtu.be/cN8AO3_vmlY?t=27510
    Inteligencia de tiempo, DATESMTD, DATESQTD, DATESYTD, Semana a semana, Semana hasta la fecha, Período personalizado en período,
    Período personalizado hasta la fecha: https://youtu.be/aU2aKbnHuWs&t=145s

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Lo he intentado, pero los resultados son diferentes de las expectativas, y no entiendo el comportamiento de LMTD, calculamos contra el mes de febrero, pero mostramos para el mes de enero, ¿me estoy perdiendo algo?

  • Hola @TechInayam ,

    Por favor, pruebe este DAX:

    Fiscal MTD = 
    VAR CurrentFiscalMonthStart = CALCULATE(MIN('Date'[FiscalStartDate]), 'Date'[FiscalYearMonthNo] = MAX('Date'[FiscalYearMonthNo]))
    VAR Result = CALCULATE([Sales], 'Date'[Date] >= CurrentFiscalMonthStart, 'Date'[Date] <= TODAY())
    RETURN Result
     
    Fiscal PMTD = 
    VAR CurrentFiscalMonthStart = CALCULATE(MIN('Date'[FiscalStartDate]), 'Date'[FiscalYearMonthNo] = MAX('Date'[FiscalYearMonthNo]))
    VAR PreviousFiscalMonthStart = EDATE(CurrentFiscalMonthStart, -1)
    VAR PreviousFiscalMonthEnd = EOMONTH(PreviousFiscalMonthStart, 0)
    VAR Result = CALCULATE([Sales], 'Date'[Date] >= PreviousFiscalMonthStart, 'Date'[Date] <= PreviousFiscalMonthEnd)
    RETURN Result

    Si no es así, ¿puede proporcionar un archivo de datos de muestra o pbix después de eliminar los datos de privacidad?

    Saludos
    Dino Tao
    Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.