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
JRHans09
Resolver II
Resolver II

Cree una nueva tabla con AddColumns y CrossJoin, pero excluya filas con valores en blanco

Estoy intentando crear una tabla de presupuesto basada en los valores de ventas del año anterior, pero me gustaría excluir las filas que podrían tener valores de presupuesto anual en blanco para el año actual porque la combinación concreta de las filas combinadas podría no haber tenido ventas en el año anterior.

¿Es posible utilizar ADDCOLUMNS y CROSSJOIN para crear una nueva tabla, pero excluye las filas de esa nueva tabla en función de los resultados de la función CALCULATE?


Vea aquí:

Annual Budget = 
ADDCOLUMNS(
 FILTER(
  CROSSJOIN(
   DISTINCT( Dates[Month MMM] ),
   DISTINCT( Dates[Year] ),
   VALUES( SalesRep[Full Name] ),
   VALUES( JobType[JobType1] )
  ),
  Dates[Year] = MAX( Dates[Year] ) //to always keep current year
 ),
 "Annual Budget",
 CALCULATE(
  [Total Sales],
  DATEADD(
   Dates[Date],
   -1,
   YEAR
  )
 )
)

Y vea los resultados de la muestra:

Presupuesto Anual

Nombre completo

Tipo de trabajo1

Mes MMM

año

Tom

Local

Enero

2020

35,000

Dave

Local

Enero

2020

50,000

Jerez

Local

Enero

2020

Alice

Local

Enero

2020

45,000

Talia

Local

Enero

2020

Si ni Tom ni Alice tenían ventas para:

  1. Local
  2. Enero
  3. 2019 (el cuadro anterior muestra 2020, pero el presupuesto debería extraer datos de 2019)

¿Es posible excluir esas filas en la nueva tabla?

Gracias de antemano.

1 ACCEPTED SOLUTION
d_gosbell
Super User
Super User

Esto debería ser posible, en teoría debería ser capaz de envolver su expresión existente en FILTER()

Eg.

Annual Budget = 
FILTER(
ADDCOLUMNS(
 FILTER(
  CROSSJOIN(
   DISTINCT( Dates[Month MMM] ),
   DISTINCT( Dates[Year] ),
   VALUES( SalesRep[Full Name] ),
   VALUES( JobType[JobType1] )
  ),
  Dates[Year] = MAX( Dates[Year] ) //to always keep current year
 ),
 "Annual Budget",
 CALCULATE(
  [Total Sales],
  DATEADD(
   Dates[Date],
   -1,
   YEAR
  )
 )
),
NOT( ISBLANK( [Annual Budget] ) )
)

View solution in original post

5 REPLIES 5
v-lili6-msft
Community Support
Community Support

hola @JRHans09

Puede agregar un FILTRO en el for mula como se muestra a continuación:

Presupuesto Anual ?
FILTER(ADDCOLUMNS(
FILTRO (
CROSSJOIN(
DISTINCT( Fechas[Mes MMM] ),
DISTINCT( Fechas[Año] ),
VALUES( SalesRep[Nombre completo] ),
VALUES( JobType[JobType1]
),
Fechas[Año] - MAX( Fechas[Año] ) //para mantener siempre el año actual
),
"Presupuesto Anual",
CALCULAR(
[Ventas totales],
DATEADD(
Fechas[Fecha],
-1,
año
)
)
) ,[Presupuesto anual]<>BLANK())

saludos

Lin

Community Support Team _ Lin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
d_gosbell
Super User
Super User

Esto debería ser posible, en teoría debería ser capaz de envolver su expresión existente en FILTER()

Eg.

Annual Budget = 
FILTER(
ADDCOLUMNS(
 FILTER(
  CROSSJOIN(
   DISTINCT( Dates[Month MMM] ),
   DISTINCT( Dates[Year] ),
   VALUES( SalesRep[Full Name] ),
   VALUES( JobType[JobType1] )
  ),
  Dates[Year] = MAX( Dates[Year] ) //to always keep current year
 ),
 "Annual Budget",
 CALCULATE(
  [Total Sales],
  DATEADD(
   Dates[Date],
   -1,
   YEAR
  )
 )
),
NOT( ISBLANK( [Annual Budget] ) )
)

@d_gosbell - gracias, su respuesta es prácticamente la misma.


@JRHans09 escribió:

@d_gosbell - gracias, su respuesta es prácticamente la misma.


Pero no son exactamente iguales. Estoy usando NOT( ISBLANK( ... ) ) ya que sólo excluirá los espacios en blanco. si lo hace <> BLANK() excluirá los espacios en blanco y los valores 0 (ya que los espacios en blanco se unen a un valor numérico de 0 cuando los compara con una medida o columna numérica)

@d_gosbell - gracias por su aclaración. Es útil. Aplicaré la lógica a mi caso.

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.