Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
5 years ago
Solved

CY, PY, PTYD

Tengo una tabla que contiene datos sobre cuántas llamadas se toman en un día.

También tengo una tabla de fechas que sale a 2025 que me permite mostrar fechas futuras py ventas

FechaLlamadas tomadasPy Llamadas tomadas (medida usando sameperiodlastyear)
2/1/20211000900
2/2/202115001100
2/3/202112501200
2/4//2021 1500
2/5/2021 1200
2/6/2021 1600

Necesito crear un objeto Visual de medidor que muestre las llamadas CY como valor, las llamadas PY para todo el año como el valor máximo y los días PYTD como el valor de destino.

Si fijó el filtro visual en Dates.Date = Este año y pongo el campo CY en el campo Valor y PY en el campo Máximo... esas dos piezas funcionan.

Estoy luchando con conseguir un campo PYTD para mostrar correctamente. He probado varios métodos, incluyendo

Llamadas PYTD = CALCULATE([Llamadas CY],SAMEPERIODLASTYEAR(Fechas[Fecha]), Fechas[Fecha] < TODAY())
pero todavía tengo el año total.
Gracias de antemano por su ayuda.
  • ¡¡¡¡Entiendo!!!!

    Llamadas PYTD = CALCULATE ( [PY Calls], FILTER ( Fechas, [fecha] <TODAY() ) )
    parece funcionar
    Gracias por su ayuda

3 Replies

  • @egsiegel , refiera a estos ejemplos con la tabla de fechas

    Ventas YTD = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD('Date'[Date],"12/31"))
    Últimas ventas en YTD = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))
    Este año Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR('Date'[Date]),"12/31"))
    Ventas del año pasado = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))

    forzando la fecha

    YTD QTY forzado=
    var _max = hoy()
    devolución
    if(max('Date'[Date])<=_max, calculate(Sum('order'[Qty]),DATESYTD('Date'[Date])), blank())
    O
    calculate(Sum('order'[Qty]),DATESYTD('Date'[Date]),filter('Date','Date'[Date]<=_max))
    calculate(TOTALYTD(Sum('order'[Qty]),'Date'[Date]),filter('Date','Date'[Date]<=_max))

    LYTD QTY forzado=
    var _max = fecha (año (hoy())-1,mes(hoy()),día (hoy()))
    devolución
    if(max('Date'[Date])<=_max, CALCULATE(Sum('order'[Qty]),DATESYTD(dateadd('Date',-1,year)),'Date'[Date]<=_max), blank())
    O
    CALCULATE(Sum('order'[Qty]),DATESYTD(dateadd('Date'[Date],-1,year)),'Date'[Date]<=_max)
    TOTALYTD(Sum('order'[Qty]),dateadd('Date'[Date],-1,year),'Date'[Date]<=_max)


    YTD QTY forzado=
    var _max = maxx('order',[Fecha de pedido])
    devolución
    calculate(Sum('order'[Qty]),DATESYTD('Date'[Date]),'Date'[Date]<=_max)


    YTD QTY forzado=
    var _max = maxx('order',[Fecha de pedido])
    devolución
    if(max('Date'[Date])<=_max, calculate(Sum('order'[Qty]),DATESYTD('Date'[Date])), blank())
    calculate(Sum('order'[Qty]),DATESYTD('Date'[Date]),filter('Date','Date'[Date]<=_max))
    calculate(TOTALYTD(Sum('order'[Qty]),'Date'[Date]),filter('Date','Date'[Date]<=_max))

    LYTD QTY forzado=
    var _max1 =maxx('order',[Fecha de pedido])
    var _max = fecha (año(_max1)-1,mes(_max1),día (_max1))
    devolución
    CALCULATE(Sum('order'[Qty]),DATESYTD(dateadd('Date'[Date],-1,year)),'Date'[Date]<=_max)
    TOTALYTD(Sum('order'[Qty]),dateadd('Date'[Date],-1,year),'Date'[Date]<=_max)

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      @amitchandak

      gracias por su respuesta muy detallada.

      Desafortunadamente, obteré el mismo resultado que estaba obteniendo antes.

      el problema es que mi mesa tiene filas para todo el año.... filas hasta hoy tienen números CY y PY. fechas futuras sólo tienen números PY.

      cuando utilizo el campo PY en un objeto visual incluye todas las fechas futuras PY... dándome la cantidad de todo el año. (que también necesito)

      Creo que necesito 3 campos...

      CY - (de origen de datos)

      PY - CY sameperiodlastyear

      PYTD - CY sameperiodlastyear si la fecha es hoy o antes, de lo contrario 0....este es el que estoy luchando con.

  • ¡¡¡¡Entiendo!!!!

    Llamadas PYTD = CALCULATE ( [PY Calls], FILTER ( Fechas, [fecha] <TODAY() ) )
    parece funcionar
    Gracias por su ayuda