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

Añadir medida calculando diferencia otros dos measxures / columnas para ser utilizados en matriz

Queridos todos,

Trato de reproducir algunas sugerencias hechas aquí en el foro para construir una columna de comparación, que contenga la diferencia de otras dos columnas en una matriz. Se trata del siguiente ejemplo de una matriz:

Power_BI_Adapt_1-1669715620903.png

Construido por:

Power_BI_Adapt_2-1669715964375.png

Traducir:

* Rijen = filas

* Descripción = descripción

* Columnas = columnas

* Valor = Valores

* Historische AIP = precio histórico

* Diff AIP = precio de diferencia

Ya construí una medida llamada 'Diff AIP' para comparar dos columnas (precio histórico para el 1 de marzo y el 1 de noviembre), pero no hay resultado:

Diff AIP =
CALCULAR (
[AIP histórico],
FILTRO (
TODO ( 'Dim Datum' [Fecha real] ),
'Dim Datum'[Fecha real] = 1-11-2022
)
)
- CALCULAR (
[AIP histórico],
FILTRO (
TODO ( 'Dim Datum' [Fecha real] ),
'Dim Datum'[Fecha real] = 1-3-2022
)
)

Gracias de antemano por cualquier sugerencia de cómo resolver esto.

Atentamente

1 ACCEPTED SOLUTION

Acabo de encontrar el soultion:

En lugar de

VAR __DeTE2 = FECHAADD(__Date1, -8MOENÉSIMO)
Lo es:
VAR __Date2 = DATEADD('Dim Datum'[Fecha real], -8, MES)

La medida completa es:

Diff AIP_6 =

DÓNDE __CurrentMonth = MES(HOY())

DÓNDE __CurrentYear = AÑO(HOY())

DÓNDE __Date1 = FECHA(__CurrentYear,__CurrentMonth,1)

DÓNDE __Date2 = FECHAAÑADIR('Dim Datum' [Fecha real], -8, MES)


DEVOLUCIÓN
CALCULAR (
[AIP histórico],
FILTRO (
TODO ( 'Dim Datum' [Fecha real] ),
'Dim Datum'[Fecha real] = __Date1
)
)
- CALCULAR (
[AIP histórico],
FILTRO (
TODO ( 'Dim Datum' [Fecha real] ),
'Dim Datum'[Fecha real] = __Date2
)
)

View solution in original post

12 REPLIES 12
Syndicate_Admin
Administrator
Administrator

Gracias, se han hecho todas las correcciones. Desafortunadamente, la primera columna que se definirá en la función DATEADD todavía no funciona. Dice con la columna '__Date1' (marcada en rojo debajo): 'El parámetro no es el tipo correcto'

Así que dudo si se está reconociendo el nombre o formato de columna correcto.

Diff AIP_6 =

VAR __CurrentMonth = MOENÉSIMO(TODÍA())

DÓNDE __CurrentYear = YOREJA(MUERTEAY())

DÓNDE __Esee1 = ..DATE(__CurrentYear,__CurrentMonth,1)

VAR __DeTE2 = FECHAADD(__Date1, -8MOENÉSIMO)


DEVOLUCIÓN
CALCUTARDE (
[Histor AIP],
FILTRO (
TODO ( 'fecha tenue«[Dato Actual] ),
'Dim Datum'[Fecha Actual] = __Date1
)
)
- GUSTARCULAR (
[Históricoque AIP],
FILTRO (
ALL ( «Den fecha'[fecha Actuarual] ),
'Fumar sítum'[Fecha real] = __Date2
)
)

Syndicate_Admin
Administrator
Administrator

¡Gracias! Esto está funcionando correctamente.

Solo me pregunto: ¿Cómo podría hacer esto de manera más dinámica? Este mes comparo los precios del 1 de noviembre con el 1 de marzo. El próximo mes compararé el 1 de diciembre con el 1 de abril (o 1 de noviembre). ¿Cómo puedo hacerlo dinámicamente, sin ajustar cada monthe la medida 'Diff AIP'?

Syndicate_Admin
Administrator
Administrator

Hola @Power_BI_Adapt !

Debe reemplazar " 1-11-2022" por DATE(2022,11,1) y 1-3-2022 por DATE(2022,3,1). Vea si resuelve el problema 🙂

Solo me pregunto: ¿Cómo podría hacer esto de manera más dinámica? Este mes comparo los precios del 1 de noviembre con el 1 de marzo. El próximo mes compararé el 1 de diciembre con el 1 de abril (o 1 de noviembre). ¿Cómo puedo hacerlo dinámicamente, sin ajustar cada monthe la medida 'Diff AIP'?

Puedes hacer algo como esto:

VAR __CurrentMonth = MES(HOY())

VAR __CurrentYear = AÑO(HOY())

VAR __Date1 = FECHA(1,__CurrentMonth,__CurrentYear)

VAR __Date2 = DATEDADD(Fecha1, -8, MESES)

Y luego use las variables en el foro actual de DAX.

Incluso puede ir más allá creando un parámetro What If para hacer que el número de meses a restar en DATEADD sea dinámico para el usuario.

¡Muchas gracias!

Como no estoy tan familiarizado con la funcionalidad del VAR, ¿cómo encajaría esto en la medida inferior?

Diff AIP =

CALCULAR (
[AIP histórico],
FILTRO (
TODO ( 'Dim Datum' [Fecha real] ),
'Dim Datum'[Fecha real] = FECHA(2022,11,1)
)
)
- CALCULAR (
[AIP histórico],
FILTRO (
TODO ( 'Dim Datum' [Fecha real] ),
'Dim Datum'[Fecha real] = FECHA(2022,3,1)
)
)

Con VAR se declaran variables que luego se pueden llamar en el código.

Se vería algo como esto:

Diff AIP =

VAR __CurrentMonth = MES(HOY())

VAR __CurrentYear = AÑO(HOY())

VAR __Date1 = FECHA(1,__CurrentMonth,__CurrentYear)

VAR __Date2 = DATEDADD(Fecha1, -8, MESES)

DEVOLUCIÓN

CALCULAR (
[AIP histórico],
FILTRO (
TODO ( 'Dim Datum' [Fecha real] ),
'Dim Datum'[Fecha real] = __Date1
)
)
- CALCULAR (
[AIP histórico],
FILTRO (
TODO ( 'Dim Datum' [Fecha real] ),
'Dim Datum'[Fecha real] = __Date2
)
)
Si mis sugerencias anteriores resolvieron su problema, no olvide marcarlo como una solución y felicitar 🙂

¡Muchas gracias!

Ya casi estoy allí....

Dentro de la variable

DÓNDE __Date2 = DATEDADD(Fecha 1, -8, MESES), tengo algunos errores.
Podría resolver dos: DATEDAD = DATEADD y MONTHS se acepta como MES, sin embargo, el comentario de error dice 'No se puede encontrar el nombre 'Date1'. También probé ya nombre '__Date1', pero sin resultado. ¿Alguna idea..?
¡Gracias!
Power_BI_Adapt_0-1669721693437.png

Culpa mía...

¿Es MES y no MESES y es __Date1 y no Fecha1?

@Power_BI_Adapt

Otro error es que la función DATE es

FECHA (año, mes, día)

Así que corrígelo a: FECHA(__CurrentYear,__CurrentMonth,1)

Gracias, se han hecho todas las correcciones. Desafortunadamente, la primera columna que se definirá en la función DATEADD todavía no funciona. Dice con la columna '__Date1' (marcada en rojo debajo): 'El parámetro no es el tipo correcto'

Así que dudo si se está reconociendo el nombre o formato de columna correcto.

Diff AIP_6 =

VAR __CurrentMonth = MOENÉSIMO(TODÍA())

DÓNDE __CurrentYear = YOREJA(MUERTEAY())

DÓNDE __Esee1 = ..DATE(__CurrentYear,__CurrentMonth,1)

VAR __DeTE2 = FECHAADD(__Date1, -8MOENÉSIMO)


DEVOLUCIÓN
CALCUTARDE (
[Histor AIP],
FILTRO (
TODO ( 'fecha tenue«[Dato Actual] ),
'Dim Datum'[Fecha Actual] = __Date1
)
)
- GUSTARCULAR (
[Históricoque AIP],
FILTRO (
ALL ( «Den fecha'[fecha Actuarual] ),
'Fumar sítum'[Fecha real] = __Date2
)
)

Acabo de encontrar el soultion:

En lugar de

VAR __DeTE2 = FECHAADD(__Date1, -8MOENÉSIMO)
Lo es:
VAR __Date2 = DATEADD('Dim Datum'[Fecha real], -8, MES)

La medida completa es:

Diff AIP_6 =

DÓNDE __CurrentMonth = MES(HOY())

DÓNDE __CurrentYear = AÑO(HOY())

DÓNDE __Date1 = FECHA(__CurrentYear,__CurrentMonth,1)

DÓNDE __Date2 = FECHAAÑADIR('Dim Datum' [Fecha real], -8, MES)


DEVOLUCIÓN
CALCULAR (
[AIP histórico],
FILTRO (
TODO ( 'Dim Datum' [Fecha real] ),
'Dim Datum'[Fecha real] = __Date1
)
)
- CALCULAR (
[AIP histórico],
FILTRO (
TODO ( 'Dim Datum' [Fecha real] ),
'Dim Datum'[Fecha real] = __Date2
)
)

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.