# Tags **Software** : [[02 - Tags/Software/Power Query]] **Functions** used : [[Excel.CurrentWorkbook]] [[Table.TransformColumnTypes]] [[Table.TransformColumns]] [[Splitter.SplitTextByDelimiter]] [[Table.AddColumn]] [[Table.FromColumns]] [[Record.ToList]] [[Table.ColumnNames]] [[Table.SelectColumns]] [[Table.ExpandTableColumn]] [[Table.FillDown]] **Date** : 29-March-2025 # Description 👋 Greetings! Data Enthusiasts! 📊 Ever struggled with messy, comma-delimited data and wondered how to make sense of it all? Look no further! In this tutorial, I'll walk you through the simple steps to transform your CSV files into clean, organized tables. 📝➡️🔢 # Video Link <iframe width="560" height="315" src="https://www.youtube.com/embed/4RCy-oHfKYw?si=2SJ-U68A0BJbG7SP" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> [GITHUB File Link](https://github.com/jbotes/powerbiTutorials/blob/main/PQ_ParsingDelimitedDataToTable_Video2.xlsx) # M-Query ```mquery let Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"RatingType", type text}, {"Countries", type text}, {"Ratings", type text}}), Custom1 = Table.TransformColumns(#"Changed Type", {}, Splitter.SplitTextByDelimiter(",")), Custom2 = Table.AddColumn(Custom1, "ParseColumn", each Table.FromColumns(Record.ToList(_), Table.ColumnNames(Source))), #"Removed Other Columns" = Table.SelectColumns(Custom2,{"ParseColumn"}), #"Expanded ParseColumn" = Table.ExpandTableColumn(#"Removed Other Columns", "ParseColumn", {"RatingType", "Countries", "Ratings"}, {"RatingType", "Countries", "Ratings"}), #"Filled Down" = Table.FillDown(#"Expanded ParseColumn",{"RatingType"}) in #"Filled Down" ``` ## Optional Tags **Tags** : **Technique** : [[Records to Decompose Problem]] [[Table Column Names Dynamic]]