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

Calcular el porcentaje de diferencia entre dos filas en matriz con fecha dinámica en filas

Hola, chicos

Necesito ayuda para obtener esta tabla (mi objetivo es calcular la diferencia de % de la columna):

14/04/202214/04/2023% de diferencia
Presupuesto100000011000009%
Asignado750000700000-7%
Contratado30000035000014%

Mi problema es que en la tabla original tengo datos en este formato:

CategoríaValorFecha
Presupuesto100000014/04/2022
Asignado75000014/04/2022
Contratado30000014/04/2022
Presupuesto110000014/04/2023
Asignado70000014/04/2023
Contratado35000014/04/2023

Creo un modelo de datos que permite a mi usuario seleccionar un mes (en este caso abril) y puedo filtrar automáticamente mi tabla de datos con dos conjuntos de datos de abril de 2023 y la misma fecha en 2022.

Entonces, ¿cómo puedo hacer referencia en una nueva medida a la fecha que generará la segmentación de datos cuando seleccione un mes?

Tks por adelantado,

M

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

@Greg_Deckler Tengo Categoría en mi visual, pero como puedes ver en la captura de pantalla tengo dos fechas filtradas por una sola columna en la tabla original (el nombre de la columna es Datos).

Necesito referirme a estas dos fechas, para cada categoría, y calcular la diferencia porcentual.

Tks,

MattiaMaetini_0-1683183835106.png

Syndicate_Admin
Administrator
Administrator

@MattiaMaetini Suponía que ibas a tener Categoría en algún tipo de visual. ¿No es así? Si no es así, ¿está creando una tabla calculada o ???

Ahora que me has hecho saber sobre una tabla adicional, puedes hacer esto:

Measure = 
  VAR __Category = MAX('Table'[Category])
  VAR __Value = MAX('Table'[Value])
  VAR __Date = MAX('Table'[Date])
  VAR __LYDate = 
    MAXX(
      FILTER(
        'DatesTable',
        YEAR([Date]) =  YEAR(__Date) - 1 && 
        [Month] = MONTH(__Date)
      ),
      [Date]
    )
  VAR __LYValue = MAXX(FILTER('Table', [Category] = __Category && [Date] = __LYDate), [Value])
  VAR __Result = DIVIDE( __Value - __LYValue), __LYValue)
RETURN
  __Result

Syndicate_Admin
Administrator
Administrator

@Greg_Deckler dos preguntas:

1) La fórmula para calcular la fecha no pudo funcionar porque las dos fechas no necesariamente se refieren al mismo día: Tengo una tabla donde almacené estas informaciones (para cada mes creo dos registros, uno para cada año):

FechaMesMonth_Label
14/04/20224Abril
14/04/20234Abril

2) MAX (Categoría) podría funcionar solo para una categoría, necesito iterar para todos los valores para obtener mi objetivo

Tks

Syndicate_Admin
Administrator
Administrator

@MattiaMaetini Prueba algo como:

Measure = 
  VAR __Category = MAX('Table'[Category])
  VAR __Value = MAX('Table'[Value])
  VAR __Date = MAX('Table'[Date])
  VAR __LYDate = DATE(YEAR(__Date) - 1, MONTH(__Date), DAY(__Date))
  VAR __LYValue = MAXX(FILTER('Table', [Category] = __Category && [Date] = __LYDate), [Value])
  VAR __Result = DIVIDE( __Value - __LYValue), __LYValue)
RETURN
  __Result

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.