Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Ayuda a desarrollar una medida de cálculo, disponible realmente por mes

Hola, socios

Tengo problemas para calcular una medición siguiendo esta fórmula y solicito su amable ayuda.

disponible realmente por mes = ejercicio presupuestario total - ejecución acumulada dividida por 12 - mes (n)

Captura de pantalla 2021-10-12 000909.png

Le agradecería que me ayudara.

2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

Hay @Shiroe

Deberá tener una tabla de fecha establecida. Consulte https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/ para obtener una tabla rápida y fácil. Asegúrese de haber vinculado la columna Fecha de la tabla Fecha a la tabla Hecho.

Fecha = 

VAR MinYear = AÑO ( MIN ( 'Tabla'[Mes] )
VAR MaxYear = AÑO ( MAX ( 'Tabla'[Mes] )
DEVOLUCIÓN
ADDCOLUMNS (
FILTRO (
CALENDARAUTO( ),
Y ( AÑO ( [Fecha] ) > = MinYear, YEAR ( [Date] ) < = MaxYear )
),
"Año calendario", "CY" & AÑO ( [Fecha] ),
"Nombre del mes", FORMATO ( [Fecha], "mmmm" ),
"Número de mes", MES ( [Fecha] )
)

Si ya tiene una tabla de fecha, ignore lo anterior. Entonces debería poder usar la siguiente medida:

Disponible realmente por mes = 

VAR _SumExecution = SUMA ( 'Tabla'[Ejecución] )
VAR _SumBudget = SUMA ( 'Tabla'[Presupuesto] )
VAR _Cumulative = TOTALYTD ( _SumExecution , 'Fecha'[Fecha] )
VAR _TotalBudget = CALCULAR ( _SumBudget , ALL ( 'Tabla' ) , ALL ( 'Fecha' ) )
VAR _MonthNumb = MAX ( 'Fecha'[Número de mes] )

DEVOLUCIÓN

DIVIDE ( _TotalBudget - _Cumulative , 12 - _MonthNumb )

¿Espero que esto sea lo que quieres?


A continuación se muestra una captura de pantalla de las salidas y cada columna:

TheoC_0-1634018407923.png

View solution in original post

Syndicate_Admin
Administrator
Administrator

Allí, @Shiroe;

Por favor, pruébalo.

AVG Forward Badge =
VAR TotalBadge =
    CALCULATE (
        SUM ( 'Consolidated budget'[Budget Value] ),
        FILTER ( ALL ( Calendar ), Calendar[Year] )
    )
VAR AcumBadge =
    CALCULATE (
        [SumBudget],
        FILTER ( ALLSELECTED ( Calendar ), Calendar[Month] <= MAX ( Calendar[Month] ) )
    )
RETURN
    IF (
        SUM ( 'Consolidated budget'[Budget Value] ) = 0,
        BLANK (),
        CALCULATE (
            DIVIDE (
                TotalBadge - AcumBadge,
                DATEDIFF (
                    MAX ( Calendar[Date] ),
                    CALCULATE ( MAX ( Calendar[Date] ), ALLSELECTED ( Calendar ) ),
                    MONTH
                )
            )
        )
    )

Si no está bien, ¿puede compartir datos simples y la salida que desea? Es mejor tener un escenario que facilite la comprensión de los resultados que desea.

Saludos
Apoyo a la comunidad Team_ Yalan Wu
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

@Shiroe en muchas de las respuestas a una serie de soluciones proporcionadas por los miembros de la Comunidad, usted ha mencionado que está utilizando diferentes medidas y está tratando de adaptarlas en lugar de utilizar las soluciones que hemos presentado. ¿Puede amablemente seguir el consejo de algunos de los miembros más respetados de la Comunidad y del personal de Apoyo a la Comunidad en @amitchandak y @v-yalanwu-msft? Es posible que descubra que sus consejos, y los míos, pueden ayudarlo a llegar a un resultado de su problema.

Todo lo mejor de cualquier manera en su viaje de BI, sin embargo, comprenda que la Comunidad está aquí para apoyar, educar y compartir su conocimiento a través de un entorno de colaboración. Es muy raro que existan este tipo de comunidades, y mucho menos con una de las mejores compañías tecnológicas para adornar nuestra presencia en Microsoft. Por favor, considere la posibilidad de aceptar el asesoramiento y el apoyo proporcionados.


Todo el mejor mate.

Syndicate_Admin
Administrator
Administrator

Allí, @Shiroe;


¿Está resuelto su problema? Si es así, ¿le importaría aceptar las respuestas útiles como soluciones? Entonces somos capaces de cerrar el hilo. Más personas que tienen el mismo requisito encontrarán la solución rápidamente y se beneficiarán aquí. Gracias.

Saludos
Apoyo a la comunidad Team_ Yalan Wu
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

Allí, @Shiroe;

Por favor, pruébalo.

AVG Forward Badge =
VAR TotalBadge =
    CALCULATE (
        SUM ( 'Consolidated budget'[Budget Value] ),
        FILTER ( ALL ( Calendar ), Calendar[Year] )
    )
VAR AcumBadge =
    CALCULATE (
        [SumBudget],
        FILTER ( ALLSELECTED ( Calendar ), Calendar[Month] <= MAX ( Calendar[Month] ) )
    )
RETURN
    IF (
        SUM ( 'Consolidated budget'[Budget Value] ) = 0,
        BLANK (),
        CALCULATE (
            DIVIDE (
                TotalBadge - AcumBadge,
                DATEDIFF (
                    MAX ( Calendar[Date] ),
                    CALCULATE ( MAX ( Calendar[Date] ), ALLSELECTED ( Calendar ) ),
                    MONTH
                )
            )
        )
    )

Si no está bien, ¿puede compartir datos simples y la salida que desea? Es mejor tener un escenario que facilite la comprensión de los resultados que desea.

Saludos
Apoyo a la comunidad Team_ Yalan Wu
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

Hay @Shiroe

Deberá tener una tabla de fecha establecida. Consulte https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/ para obtener una tabla rápida y fácil. Asegúrese de haber vinculado la columna Fecha de la tabla Fecha a la tabla Hecho.

Fecha = 

VAR MinYear = AÑO ( MIN ( 'Tabla'[Mes] )
VAR MaxYear = AÑO ( MAX ( 'Tabla'[Mes] )
DEVOLUCIÓN
ADDCOLUMNS (
FILTRO (
CALENDARAUTO( ),
Y ( AÑO ( [Fecha] ) > = MinYear, YEAR ( [Date] ) < = MaxYear )
),
"Año calendario", "CY" & AÑO ( [Fecha] ),
"Nombre del mes", FORMATO ( [Fecha], "mmmm" ),
"Número de mes", MES ( [Fecha] )
)

Si ya tiene una tabla de fecha, ignore lo anterior. Entonces debería poder usar la siguiente medida:

Disponible realmente por mes = 

VAR _SumExecution = SUMA ( 'Tabla'[Ejecución] )
VAR _SumBudget = SUMA ( 'Tabla'[Presupuesto] )
VAR _Cumulative = TOTALYTD ( _SumExecution , 'Fecha'[Fecha] )
VAR _TotalBudget = CALCULAR ( _SumBudget , ALL ( 'Tabla' ) , ALL ( 'Fecha' ) )
VAR _MonthNumb = MAX ( 'Fecha'[Número de mes] )

DEVOLUCIÓN

DIVIDE ( _TotalBudget - _Cumulative , 12 - _MonthNumb )

¿Espero que esto sea lo que quieres?


A continuación se muestra una captura de pantalla de las salidas y cada columna:

TheoC_0-1634018407923.png

Hay @Shiroe

Aquí está el PBIX - siéntase libre de usar como desee 🙂

Espero que esto ayude a 🙂

Hola, TheoC

Siento responder hasta ahora.

Theo , Intenté usar su solución pero no funcionó. Esta es la fórmula que estoy usando, no es lo mismo que el problema pero sigue su lógica y la requiero para otros dos cálculos. Si puede ayudarme a encontrar el error y dar una solución, estaré infinitamente agradecido. Lo he intentado todo. No sé qué más hacer para que la medición funcione correctamente respetando los filtros. Necesito resolver el denominador de la división ya que siempre tanto en el cálculo que propongo en este post como en el que te muestro, necesito restar dinámicamente el mes en el que se ubica a doce meses, es decir, si es enero 12 - 1 = 11, si es febrero 12 - 2 = 10, así que hasta diciembre es 0.

AVG Insignia de avance =
DÓNDE TotalBadge = CALCULAR(SUMA(«Presupuesto consolidado»[Valor del presupuesto]),FILTRO(ALL(Calendario),Calendario[Año]))
DÓNDE AcumBadge = CALCULATE([SumBudget],FILTRO(ALLSELECTED(Calendario), Calendario[Mes] <= MÁXIMO(Calendario[Mes])))
DEVOLUCIÓN
SI(SUMA(«Presupuesto consolidado»[Valor del presupuesto]) =0,BLANK(),CALCULATE (DIVIDE (TotalBadge-AcumBadge,DATEDIFF(MÁXIMO(Calendario[Fecha]),Aquí debe ir el máximo fecha del año ese es filtrado pero puedo no obtenerlo sin dejándolo como una constante,MES))))

Hay @Shiroe

Aquí está el PBIX - siéntase libre de usar como desee

Espero que esto ayude a 🙂

Syndicate_Admin
Administrator
Administrator

@Shiroe , ¿Cómo se almacena el presupuesto de una manera es, con la ayuda de la tabla de fechas?

Diff = suma(Tabla[Presupuesto]) - CALCULAR(SUMA(Ventas[exectiont]),DATESYTD('Fecha'[Fecha],"12/31"))

o use ytd para el presupuesto también

Consulte esto puede ayudar

Distribución/Asignación del Objetivo Anual (Convertir en Objetivo Diario): Medir ( Diario/YTD): Magia del CIERREBALANCEAÑO Con TOTALYTD/FECHASYTD: https://community.powerbi.com/t5/Community-Blog/Power-BI-Distributing-Allocating-the-Yearly-Target-C...

Hola, Amit

Siento responder hasta ahora.

Amit , Intenté usar su solución pero no funcionó. Esta es la fórmula que estoy usando, no es lo mismo que el problema pero sigue su lógica y la requiero para otros dos cálculos. Si puede ayudarme a encontrar el error y dar una solución, estaré infinitamente agradecido. Lo he intentado todo. No sé qué más hacer para que la medición funcione correctamente respetando los filtros. Necesito resolver el denominador de la división ya que siempre tanto en el cálculo que propongo en este post como en el que te muestro, necesito restar dinámicamente el mes en el que se ubica a doce meses, es decir, si es enero 12 - 1 = 11, si es febrero 12 - 2 = 10, así que hasta diciembre es 0.

AVG Insignia de avance =
DÓNDE TotalBadge = CALCULAR(SUMA(«Presupuesto consolidado»[Valor del presupuesto]),FILTRO(ALL(Calendario),Calendario[Año]))
DÓNDE AcumBadge = CALCULATE([SumBudget],FILTRO(ALLSELECTED(Calendario), Calendario[Mes] <= MÁXIMO(Calendario[Mes])))
DEVOLUCIÓN
SI(SUMA(«Presupuesto consolidado»[Valor del presupuesto]) =0,BLANK(),CALCULATE (DIVIDE (TotalBadge-AcumBadge,DATEDIFF(MÁXIMO(Calendario[Fecha]),Aquí debe ir el máximo fecha del año ese es filtrado pero puedo no obtenerlo sin dejándolo como una constante,MES))))

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.