This is best Fabric, Power BI, SQL and AI community event. How do we know? The last event sold out! Save €200 with code FABCMTY200.
Register nowA new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.
How to FIlldown query input incorrect value to correct with same value
Thank you!
Solved! Go to Solution.
There are still some differences like theese but it is hard to catch everything
let
Source = Excel.Workbook(File.Contents("Address\Data.xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
PromotedHeaders = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
CharsToRemove = ",.""-<>()[]{}",
CharsToReplace = List.Buffer({{"&", "AND"}, {"LIMITED", "LTD"}, {"LIMITTED", "LTD"}}),
StepBack = PromotedHeaders,
Ad_CompanyCleaned = Table.AddColumn(StepBack, "Company Cleaned", each
[ removeChars = List.Select(Text.SplitAny([Company], CharsToRemove & " "), (x)=> not List.Contains(Text.ToList(CharsToRemove) & {"", " "}, x)),
replaceChars = List.ReplaceMatchingItems(removeChars, CharsToReplace),
trimEndS = List.Transform(replaceChars, (x)=> Text.TrimEnd(x, {"S", "s"})),
combine = Text.Combine(trimEndS, " ")
][combine], type text),
GroupedRowsCheck = Table.Group(Ad_CompanyCleaned, {"Company Cleaned"}, {{"1", each 1}}),
RemovedColumns1 = Table.RemoveColumns(GroupedRowsCheck,{"1"}),
MergedQueries = Table.FuzzyNestedJoin(RemovedColumns1, {"Company Cleaned"}, Ad_CompanyCleaned, {"Company Cleaned"}, "GroupedRowsCheck", JoinKind.LeftOuter, [IgnoreCase=true, IgnoreSpace=true, Threshold=0.8]),
Ad_CompanyCommonName = Table.AddColumn(MergedQueries, "Company Common Name", each [GroupedRowsCheck]{0}[Company Cleaned], type text),
RemovedColumns2 = Table.RemoveColumns(Ad_CompanyCommonName,{"GroupedRowsCheck"}),
MergedQueries2 = Table.NestedJoin(Ad_CompanyCleaned, {"Company Cleaned"}, RemovedColumns2, {"Company Cleaned"}, "RemovedColumns1", JoinKind.LeftOuter),
ExpandedRemovedColumns1 = Table.ExpandTableColumn(MergedQueries2, "RemovedColumns1", {"Company Common Name"}, {"Company Common Name"}),
RemovedColumns3 = Table.RemoveColumns(ExpandedRemovedColumns1,{"Company Cleaned"})
in
RemovedColumns3
Hi everyone,
I have a question about power Bi clean data, the data is not correct as this sample
| Name | Address |
| CENSEA INC | |
| CENSEA INC. | |
| CENTRAL COLDSTORAGE KUCHING SDN. BHD | |
| CENTRAL COLDSTORAGE KUCHING SDN. BHD., | |
| CENTRO CUESTA NACIONAL | |
| CENTRO CUESTA NACIONAL., | |
| CENTRO CUESTA NACIONAL., |
result correct data
| Name | Address |
| CENSEA INC | |
| CENSEA INC | |
| CENTRAL COLDSTORAGE KUCHING SDN. BHD | |
| CENTRAL COLDSTORAGE KUCHING SDN. BHD | |
| CENTRO CUESTA NACIONAL | |
| CENTRO CUESTA NACIONAL | |
| CENTRO CUESTA NACIONAL |
this is data : https://docs.google.com/spreadsheets/d/1Ehs0zmWVGZ4YyTAAAVWsgvhAIZLBIgZZ/edit?usp=sharing&ouid=10672...
Could you please have anyone help me?
There are still some differences like theese but it is hard to catch everything
let
Source = Excel.Workbook(File.Contents("Address\Data.xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
PromotedHeaders = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
CharsToRemove = ",.""-<>()[]{}",
CharsToReplace = List.Buffer({{"&", "AND"}, {"LIMITED", "LTD"}, {"LIMITTED", "LTD"}}),
StepBack = PromotedHeaders,
Ad_CompanyCleaned = Table.AddColumn(StepBack, "Company Cleaned", each
[ removeChars = List.Select(Text.SplitAny([Company], CharsToRemove & " "), (x)=> not List.Contains(Text.ToList(CharsToRemove) & {"", " "}, x)),
replaceChars = List.ReplaceMatchingItems(removeChars, CharsToReplace),
trimEndS = List.Transform(replaceChars, (x)=> Text.TrimEnd(x, {"S", "s"})),
combine = Text.Combine(trimEndS, " ")
][combine], type text),
GroupedRowsCheck = Table.Group(Ad_CompanyCleaned, {"Company Cleaned"}, {{"1", each 1}}),
RemovedColumns1 = Table.RemoveColumns(GroupedRowsCheck,{"1"}),
MergedQueries = Table.FuzzyNestedJoin(RemovedColumns1, {"Company Cleaned"}, Ad_CompanyCleaned, {"Company Cleaned"}, "GroupedRowsCheck", JoinKind.LeftOuter, [IgnoreCase=true, IgnoreSpace=true, Threshold=0.8]),
Ad_CompanyCommonName = Table.AddColumn(MergedQueries, "Company Common Name", each [GroupedRowsCheck]{0}[Company Cleaned], type text),
RemovedColumns2 = Table.RemoveColumns(Ad_CompanyCommonName,{"GroupedRowsCheck"}),
MergedQueries2 = Table.NestedJoin(Ad_CompanyCleaned, {"Company Cleaned"}, RemovedColumns2, {"Company Cleaned"}, "RemovedColumns1", JoinKind.LeftOuter),
ExpandedRemovedColumns1 = Table.ExpandTableColumn(MergedQueries2, "RemovedColumns1", {"Company Common Name"}, {"Company Common Name"}),
RemovedColumns3 = Table.RemoveColumns(ExpandedRemovedColumns1,{"Company Cleaned"})
in
RemovedColumns3
You have to identify incorrect rows (add seperate column) and then replace incorrect rows with null. Then you can apply fill down. If you don't know how to do it. Provide sample data (as table so we can copy/paste) and also expected resu.t
Thanhs for reply
This is sample data: https://docs.google.com/spreadsheets/d/1Ehs0zmWVGZ4YyTAAAVWsgvhAIZLBIgZZ/edit?usp=sharing&ouid=10672...
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.