cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
FernandoHern12
New Member

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.

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

Helpful resources

Announcements
Carousel_PBI_Wave1

2023 Release Wave 1 Plans

Power BI release plans for 2023 release wave 1 describes all new features releasing from April 2023 through September 2023.

Power BI Summit Carousel 2

Global Power BI Training

Make sure you register today for the Power BI Summit 2023. Don't miss all of the great sessions and speakers!

Thank you 2022 Review

2022 Monthly Feature Releases

We had a great 2022 with a ton of feature releases to help you drive a data culture.