Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more
 
					
				
		
Hello
I tried to fix a problem with merging two csv files. I'm merging them by using a key column and as a result, want to get a column where rows with equal keys return value and rows where keys are not equal return not null, but previous equal value.
Example
2019-08-21 - campaign_name - 2019-08-21campaign_name - live 2019-08-22 - campaign_name - 2019-08-21campaign_name - null 2019-08-23 - campaign_name - 2019-08-21campaign_name - null 2019-08-24 - campaign_name - 2019-08-21campaign_name - change 2019-08-25 - campaign_name - 2019-08-21campaign_name - null 2019-08-26 - campaign_name - 2019-08-21campaign_name - null
So I need to change all null after live to live and all null after change to change.
Advanced Editor formula
let
    Source = Csv.Document(File.Contents("C:\Users\sergey.grytsuk\Desktop\test - data1.csv"),[Delimiter=",", Columns=3, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"date", type date}, {"campaign", type text}, {"key", type text}}),
    #"Merged Queries" = Table.NestedJoin(#"Changed Type", {"key"}, #"test - data2", {"key"}, "test - data2", JoinKind.LeftOuter),
    #"Expanded test - data2" = Table.ExpandTableColumn(#"Merged Queries", "test - data2", {"cpa_7"}, {"cpa_7"})
in
    #"Expanded test - data2"
Solved! Go to Solution.
Hi @Anonymous
If you need to fill null values with first available value, simply use Fill > Down in Query editor.
Please see the method applied in the example below.
let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUfLJLEtVitWJVnICcsAMZxjDBchwzkjMS4cocIWJu8EY7mBGLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Name = _t, Column1 = _t]),
    #"Replaced Value" = Table.ReplaceValue(Source,"",null,Replacer.ReplaceValue,{"Column1"}),
    #"Filled Down" = Table.FillDown(#"Replaced Value",{"Column1"})
in
    #"Filled Down"
Hi @Anonymous
If you need to fill null values with first available value, simply use Fill > Down in Query editor.
Please see the method applied in the example below.
let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUfLJLEtVitWJVnICcsAMZxjDBchwzkjMS4cocIWJu8EY7mBGLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Name = _t, Column1 = _t]),
    #"Replaced Value" = Table.ReplaceValue(Source,"",null,Replacer.ReplaceValue,{"Column1"}),
    #"Filled Down" = Table.FillDown(#"Replaced Value",{"Column1"})
in
    #"Filled Down"
 
					
				
				
			
		
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.
