Forum Discussion

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

Total general incorrecto

Hola a todos

Tengo esta fórmula DAX para calcular básicamente la suma de la cantidad para los meses posteriores a la fecha seleccionada.

Mostrar pronóstico futuro =

Dónde a = SUMA(Datos[Cantidad])
Dónde b = MÁXIMO(Datos[Mes para la fecha financiera])
Dónde c = MÁXIMO(Datos[Año para la fecha financiera])
DEVOLUCIÓN
si (b <= SELECTEDVALUE(DimDate[MonthNum]) && c = SELECTEDVALUE(DimDate[Año]) , ESPACIO EN BLANCO(), a)
Esto es lo que devuelve. Los totales para el monto y los totales para mostrar el pronóstico futuro son los mismos, pero no debería serlo ya que mostrar pronóstico futuro faltan dos meses. ¿Alguien puede ayudar y aconsejar por qué?

Andrea_Jess_0-1636270793543.png

3 Replies

  • Hola @Andrea_Jess ,

    El pronóstico y el monto son los mismos en la línea total, ya que no hay un filtro activo para el mes del año en el total.

    Puede resolver esto utilizando la función de iterador de tablas SUMX SUMX – DAX Guide.

    Su medida entonces será similar a esta:

    Show Future Forecast = 
    SUMX(
        SUMMARIZE(
            '<yourcalendartable>'
            , '<yourcalendartable>'[year]
            , '<yourcalendartable>'[month]
        )
        , ... // the numeric expression
    )

    La expresión numérica podría tener este aspecto:

    var a = CALCULATE( SUM(Data[Amount]) )
    var b = CALCULATE( MAX(Data[Month for Finacial Date]) )
    var c = CALCULATE( MAX(Data[Year for Finacial Date]) )
    RETURN
    if (b <= SELECTEDVALUE(DimDate[MonthNum]) && c = SELECTEDVALUE(DimDate[Year]) , BLANK(), a)

    El CALCULATE es necesario para transformar el contexto ROW existente que ha sido creado por la función de iterador de tablas SUMX en un contexto de filtro.

    Con suerte, esto proporciona lo que está buscando para enfrentar este desafío.

    Saludos

    Gato

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola Tom,

      Gracias por eso. Eso tiene sentido. Desafortunadamente, sigo obteniendo los mismos totales incluso con la adición de la función SUMX. Esto es lo que estoy usando ahora. ¿Hay algo incorrecto que estoy haciendo aquí?


      SUMX(
      RESUMIR(
      'DimDate'
      , 'DimDate'[Año]
      , 'DimDate'[Mes]),

      Dónde a = CALCULAR( SUMA(Datos[Cantidad]) )
      Dónde b = CALCULAR( MÁXIMO(Datos[Mes para la fecha financiera]) )
      Dónde c = CALCULAR( MÁXIMO(Datos[Año para la fecha financiera]) )
      DEVOLUCIÓN
      si (b <= SELECTEDVALUE(DimDate[MonthNum]) && c = SELECTEDVALUE(DimDate[Año]) , ESPACIO EN BLANCO(), a))

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola @Andrea_Jess ,

        cree un archivo pbix que contenga datos de ejemplo pero que refleje el modelo de datos (tablas, relaciones entre tablas, columnas calculadas y medidas). Sube el pbix a onedrive o dropbox y comparte el enlace. Si está utilizando Excel para crear los datos de ejemplo en lugar del método de entrada manual, comparta también el xlsx.
        Por favor, explique el resultado esperado basado en los datos de muestra que proporcionó.

        Saludos

        Gato