Forum Discussion

SamuraiEd's avatar
SamuraiEd
Icon for Helper I rankHelper I
6 years ago
Solved

Mes en mes - error

Hola, estoy seguro de que este es fácil para los profesionales. Pero estoy luchando.

Estoy tratando de hacer lo que debería ser un simple MoM % pero sigue mostrando la suma del MoM% como la cifra final cuando pongo la métrica en una sola carta.

Sólo parece funcionar si agredo un filtro por separado a la baldosa para el mes/año en particular. lo que significa mes a mes la fórmula da el resultado correcto, pero no si su sin filtrar. Esto no es realmente viable, ya que tendría una gran cantidad de azulejos para cambiar cada mes.

Este es el DAX que estoy usando.

Gastos De mom % ?
VAR LM - CALCULATE(SUM(Electricity[Cargos]), PREVIOUSMONTH('Calendario'[Fecha]))
VAR CM - SUM(Electricidad[Cargos])
VAR DelataM = CALCULATE(CM - LM)
devolución
IF(NOT ISBLANK(CM), DIVIDE(DelataM, LM))
El uso de DATEADD y PARALLELPERIOD da los mismos resultados.
También traté de usar este VAR Lastactualdate ? LASTNONBLANK('Calendar'[Date],SUM(Electricity[Charges])) y usarlo con el parallelperiod pero eso no ayudó.
No estoy seguro de si se puede ver donde im va mal.
  • Hola @SamuraiEd ,

    Me parece que has probado la fórmula a continuación:

    TotalWaterConsumptionMOM Test 1 = 
    Var CM = [CurrentMonthTotal] 
    Var LM = CALCULATE('Data Water'[Total water consumption], PREVIOUSMONTH('Calendar'[Date]))
    Var DeltaM = CM - LM
    Return
    IF(NOT ISBLANK(CM), DIVIDE(DeltaM,LM))

    Puede crear una nueva medida para resumirla y obtener el valor total.

    Measure = SUMX('Data Water',[TotalWaterConsumptionMOM Test 1])

    v-xuding-msft_0-1598608465496.png

    ¿Es el resultado lo que quieres?

11 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Icon for Community Champion rankCommunity Champion

    @SamuraiEd - No hay suficiente información para continuar, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

    Además, consulte este post sobre cómo obtener respuesta a su pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

    Las partes más importantes son:
    1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
    2. Salida esperada de los datos de muestra
    3. Explicación en palabras de cómo obtener de 1. a 2.

    Dicho todo esto, puede encontrar esto útil - https://community.powerbi.com/t5/Community-Blog/To-bleep-With-Time-Intelligence/ba-p/1260000

    También, ver si mi Inteligencia del Tiempo el Camino Duro proporciona una manera diferente de lograr lo que está buscando.

    No tengo 100% claro en lo que está mal. Capturas de pantalla, datos de muestra, etc. ayudarían.

    https://community.powerbi.com/t5/Quick-Measures-Gallery/Time-Intelligence-quot-The-Hard-Way-quot-TITHW/m-p/434008

    • SamuraiEd's avatar
      SamuraiEd
      Icon for Helper I rankHelper I

      Gracias Greg. ¡Un novato del primer post! mejorará para el próximo post!

  • @SamuraiEd, Ther puede algunas razones por las que no funciona. La tabla de calendario no está marcada como tabla de fechas. Opción al hacer clic con el botón derecho en la tabla tendrá la opción.

    Fecha de venta 1o [Fecha de venta]. Fecha
    Fecha de venta 2- Fecha(Año([Fecha de ventas]), Mes([Fecha de venta]), Día([Fecha de venta]))

  • @SamuraiEd ,

    Cree una variable para obtener el mes actual como se muestra a continuación y, a continuación, colóquelo en la medida CM para filtrar solo el mes del año actual. asegúrese de tener una columna en la tabla de calader llamada año mes al formato de "AAAA-MM". A continuación, utilice la variable siguiente en la medida CM para filtrar solo las fechas de la tabla de calendario. debería darle sólo el valor del mes actual.

    Su cmasuer actual no filtra ninguna fecha, por lo tanto, devuelve la suma de los cargos a la tarjeta. si utiliza una tabla de matriz con mes en fila debería funcionar, pero en una tarjeta visual no hay contexto de filtro que viene a los aggragrates a menos que utilice filtros de nivel visual.

    si no tiene un nombre de mes

    Año de VARMonth ?
    FORMAT(TODAY(),"AAAA-MM")
    devolución
    YearMonth
    Puede reescribir su CM como se indica a continuación
    VAR CM - SUM(Electricidad[Cargos])
    VAR CMNEW - CALCULATE(CM ,YearMonth)
    espero que esto ayuda, si funciona para usted por favor acccpet esto como una solución.



  • Hola a todos

    lo siento por el retraso. @amaleranda Puse tu fórmula pero es el mismo resultado que mis otras anteriores. Vea a continuación. Las cajas con filtro para este mes año se resalta en azul, pero im buscando lograr que sin filtros (caja blanca).

    SamuraiEd_0-1598314392950.png

    Medida 1

    CurrentMonthTotal ??
    Var CurrentTotal (Var CurrentTotal) [Consumo total de agua]
    Var YearMonth - FORMAT(TODAY(),"AAAA-MM")
    Resultado del Var : CALCULATE(CurrentTotal,'Calendar'[AAAA-MM]-YearMonth)
    devolución
    Resultado
    Medida 2
    TotalWaterConsumptionMOM Prueba 1
    Var CM á [CurrentMonthTotal] ((nota: No creo que haga una diferencia teniendo el actualmonthtotal. El consumo total de agua se ve bien))
    Var LM á CALCULATE('Data Water'[Consumo total de agua], PREVIOUSMONTH('Calendar'[Date]))
    Var DeltaM = CM - LM
    devolución
    IF(NOT ISBLANK(CM), DIVIDE(DeltaM,LM))
    FYI Mi tabla de calendario oscila entre 1/1/2017 y 31/12/2020
    • SamuraiEd's avatar
      SamuraiEd
      Icon for Helper I rankHelper I

      Im sorry I am not sure if this is the way to attach source data.

       

      MonthDomesticConsumptionNeWaterConsumption

      1-Jan-19                  1,305.60                  2,538.20
      1-Feb-19                  1,963.90                  2,567.30
      1-Mar-19                  2,220.20                  2,788.40
      1-Apr-19                  1,989.40                  2,546.20
      1-May-19                  2,203.60                  2,514.30
      1-Jun-19                  2,248.20                  2,936.70
      1-Jul-19                  2,546.10                  2,132.80
      1-Aug-19                  2,630.80                  2,592.90
      1-Sep-19                  2,717.30                  2,922.30
      1-Oct-19                  2,782.00                  2,757.60
      1-Nov-19                      865.30                  2,234.50
      1-Dec-19                  1,912.90                  2,662.40
      1-Jan-20                  2,863.40                  2,035.00
      1-Feb-20                  2,867.50                  2,424.40
      1-Mar-20                  2,107.40                  1,308.10
      1-Apr-20                  1,200.80                  1,896.80
      1-May-20                      529.00                  1,958.20
      1-Jun-20                      600.00                  1,774.60
      1-Jul-20                      710.00                  1,800.30
      1-Aug-20                  1,231.90                  2,043.20

       

      I also think the screenshot might be blurred so here it is again.

       
       

       
       

       

       

       

       

      • amaleranda's avatar
        amaleranda
        Icon for Post Patron rankPost Patron

        @SamuraiEd ,

        Intente usar la siguiente medida para el mes anterior. para que esta medida funcione también necesita la columna [Mes del año] calculada en su tabel calander. a partir de esta medida se puede entrenar % de cambio en el último mes. No estoy seguro de cuáles son sus requisitos de segmentación. se queda en blanco ya que otros archivadores en la página tiene un efecto en la tarjeta. intente desactivar las intracciones visuales con la tarjeta al resto de los objetos visuales de la página.

        • Columna del mes del año, mes de año,

        "Año Mes",FORMAT([Fecha],"AAAA")

        • Mes anterior Medida total ,

        AnteriorMonthTotal ?
        Corriente del VARTotal SUM ( Hoja1[Total] )
        Var CurrentYear - Year(TODAY())
        VAR PreviousMnth á MONTH(TODAY()) - 1
        Año de VARMnth - CONCATENATE(CurrentYear,PreviousMnth)

        Resultado de VAR (VAR)
        CALCULATE( [Total actual], 'Fecha'[Mes del año] - AñoMnth)
        devolución
        Resultado