The query below will transfer the table into the desired format. It's done solely by clicking in the user interface. No manual M-coding needed. Note that "Table1" refers to the data in the Source sheet.
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],#"Replaced value" = Table.ReplaceValue(Source, null, 0, Replacer.ReplaceValue, {"pred", "LLN", "Pre-Best", "Pre-Z-Score", "Post-Best", "Post-Z-Score", "%Chg"}),#"Unpivoted other columns" = Table.UnpivotOtherColumns(#"Replaced value", {"ID", "ParameterName"}, "Attribute", "Value"),#"Added index" = Table.AddIndexColumn(#"Unpivoted other columns", "Index", 0, 1, Int64.Type),#"Inserted modulo" = Table.AddColumn(#"Added index", "Modulo", each Number.Mod([Index], 7), Int64.Type),#"Sorted rows" = Table.Sort(#"Inserted modulo", {{"Modulo", Order.Ascending}, {"Index", Order.Ascending}}),#"Inserted merged column" = Table.AddColumn(#"Sorted rows", "Merged", each Text.Combine({[Attribute], Text.From([ParameterName])}, "_"), type text),#"Choose columns" = Table.SelectColumns(#"Inserted merged column", {"ID", "Value", "Merged"}),#"Pivoted column" = Table.Pivot(Table.TransformColumnTypes(#"Choose columns", {{"Merged", type text}}), List.Distinct(Table.TransformColumnTypes(#"Choose columns", {{"Merged", type text}})[Merged]), "Merged", "Value")in#"Pivoted column"