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
Anonymous
Not applicable

Rellenar columna con último valor, sólo si se cumple condición.

Hola a todos, espero alguien pueda arientarme sobre lo siguiente:

Tengo un conjunto de datos que se ven de la siguiente manera,

SemanaSales1Sales2Sales3
1912 4
20 3411
21   
22   
221041

Cómo podran darse cuenta en casi todas las semanas hay al menos un campo vacío; esto no afecta en lo absoluto en el ánalisis.

Sin ambargo, en semana 21 y 22 las tres columnas se encuentran vacías, es aquí en dónde tengo el problema. Me gustaría que las filas que cumplan con la condición de tener las tres columnas vacías, se rellenaran con los valores de la semana anterior. Esto 3 nuevas columnas finales.

El resultado esperado es el siguiente:

SemanaSales1Sales2Sales3Sales1NSales2NSales3N
1912 412 4
20 3411 3411
21    3411
22    3411
22104110411

Otro resultado aceptable es el siguiente:

SemanaSales1Sales2Sales2
1912 4
20 3411
21 3411
22 3411
2210411

Espero alguien me pueda orientar sobre la solución a seguir. Saludos. 

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@FernandoHern12

Puede agregar estas columnas calculadas a la tabla. Las últimas tres columnas son similares. Solo necesita modificar la columna de la tienda de ventas a la que hace referencia.

Flag = IF(ISBLANK('Table (2)'[Sales_Store1]) && ISBLANK('Table (2)'[Sales_Store2]) && ISBLANK('Table (2)'[Sales_Store3]), 0, 1)
NewSales_Store1 = IF('Table (2)'[Flag] = 1, 'Table (2)'[Sales_Store1], 
var _previousWeek = MAXX(FILTER('Table (2)','Table (2)'[Week] < EARLIER('Table (2)'[Week]) && 'Table (2)'[Flag] = 1),'Table (2)'[Week])
var _previousSales = MAXX(FILTER('Table (2)','Table (2)'[Week] = _previousWeek), 'Table (2)'[Sales_Store1])
return _previousSales)
NewSales_Store2 = IF('Table (2)'[Flag] = 1, 'Table (2)'[Sales_Store2], 
var _previousWeek = MAXX(FILTER('Table (2)','Table (2)'[Week] < EARLIER('Table (2)'[Week]) && 'Table (2)'[Flag] = 1),'Table (2)'[Week])
var _previousSales = MAXX(FILTER('Table (2)','Table (2)'[Week] = _previousWeek), 'Table (2)'[Sales_Store2])
return _previousSales)
NewSales_Store3 = IF('Table (2)'[Flag] = 1, 'Table (2)'[Sales_Store3], 
var _previousWeek = MAXX(FILTER('Table (2)','Table (2)'[Week] < EARLIER('Table (2)'[Week]) && 'Table (2)'[Flag] = 1),'Table (2)'[Week])
var _previousSales = MAXX(FILTER('Table (2)','Table (2)'[Week] = _previousWeek), 'Table (2)'[Sales_Store3])
return _previousSales)

vjingzhang_0-1669777951868.png

Saludos
Equipo de Apoyo a la Comunidad _ Jing
Si esta publicación ayuda, por favor acéptela como Solución para ayudar a otros miembros a encontrarla.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@FernandoHern12

Puede agregar estas columnas calculadas a la tabla. Las últimas tres columnas son similares. Solo necesita modificar la columna de la tienda de ventas a la que hace referencia.

Flag = IF(ISBLANK('Table (2)'[Sales_Store1]) && ISBLANK('Table (2)'[Sales_Store2]) && ISBLANK('Table (2)'[Sales_Store3]), 0, 1)
NewSales_Store1 = IF('Table (2)'[Flag] = 1, 'Table (2)'[Sales_Store1], 
var _previousWeek = MAXX(FILTER('Table (2)','Table (2)'[Week] < EARLIER('Table (2)'[Week]) && 'Table (2)'[Flag] = 1),'Table (2)'[Week])
var _previousSales = MAXX(FILTER('Table (2)','Table (2)'[Week] = _previousWeek), 'Table (2)'[Sales_Store1])
return _previousSales)
NewSales_Store2 = IF('Table (2)'[Flag] = 1, 'Table (2)'[Sales_Store2], 
var _previousWeek = MAXX(FILTER('Table (2)','Table (2)'[Week] < EARLIER('Table (2)'[Week]) && 'Table (2)'[Flag] = 1),'Table (2)'[Week])
var _previousSales = MAXX(FILTER('Table (2)','Table (2)'[Week] = _previousWeek), 'Table (2)'[Sales_Store2])
return _previousSales)
NewSales_Store3 = IF('Table (2)'[Flag] = 1, 'Table (2)'[Sales_Store3], 
var _previousWeek = MAXX(FILTER('Table (2)','Table (2)'[Week] < EARLIER('Table (2)'[Week]) && 'Table (2)'[Flag] = 1),'Table (2)'[Week])
var _previousSales = MAXX(FILTER('Table (2)','Table (2)'[Week] = _previousWeek), 'Table (2)'[Sales_Store3])
return _previousSales)

vjingzhang_0-1669777951868.png

Saludos
Equipo de Apoyo a la Comunidad _ Jing
Si esta publicación ayuda, por favor acéptela como Solución para ayudar a otros miembros a encontrarla.

Anonymous
Not applicable

Muchas gracias, es lo que buscaba. Me ayudó mucho. Saludos.

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.