Forum Discussion
Weekly data converted into daily data based on phased targets
Hi, thank you for responding- I can't download the pbix as I don't have power bi on my work laptop and IT won't let me download it; I am using power query editor for excel files. The data I provided is dummy data and I have already unpivoted the actual data needed in my work, I have provided some of my code below, but I may be coming at it wrong and haven't explained myself well.
let
Source = Csv.Document(File.Contents("C:\Users\OneDrive - y\Documents\Consumption Week Project\BI Weekly Demand Extract.csv"),[Delimiter="=", Columns=1, Encoding=1252, QuoteStyle=QuoteStyle.Csv]),
RefPoint = Source,
#"Added Index" = Table.AddIndexColumn(RefPoint, "Index", 1, 1, Int64.Type),
#"Filtered Rows" = Table.SelectRows(#"Added Index", each Text.StartsWith([Column1], "Fiscal year/period")),
Index = #"Filtered Rows"{0}[Index],
Custom1 = RefPoint,
#"Removed Top Rows" = Table.Skip(Custom1,Index-1),
#"Replaced Value" = Table.ReplaceValue(#"Removed Top Rows","""","",Replacer.ReplaceText,{"Column1"}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Replaced Value", "Column1", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Column1.1", "Column1.2", "Column1.3", "Column1.4", "Column1.5", "Column1.6", "Column1.7", "Column1.8", "Column1.9", "Column1.10", "Column1.11"}),
#"Promoted Headers" = Table.PromoteHeaders(#"Split Column by Delimiter", [PromoteAllScalars=true]),
#"Replaced Value1" = Table.ReplaceValue(#"Promoted Headers",",","",Replacer.ReplaceText,{",,"}),
#"Renamed Columns" = Table.RenameColumns(#"Replaced Value1",{{",,", "HL"}, {"", "Value Type"}}),
#"Removed Columns" = Table.RemoveColumns(#"Renamed Columns",{"_3", "Column11"}),
#"Added Custom" = Table.AddColumn(#"Removed Columns", "Fiscal Week", each Date.StartOfWeek
(Date.AddWeeks
(#date(Number.FromText(Text.End([#"Fiscal year/period"],4)), 1, 1),
Number.FromText([Fiscal WW])-1), Day.Monday)),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Fiscal Month", each #date(
Number.FromText(Text.End([#"Fiscal year/period"],4)),
Number.FromText(Text.Start([#"Fiscal year/period"],3)),
1)),
#"Filtered Rows1" = Table.SelectRows(#"Added Custom1", each true),
#"Added Custom2" = Table.AddColumn(#"Filtered Rows1", "Month", each Date.MonthName(
#date(2000,
Number.FromText(
Text.Start([#"Fiscal year/period"],3) ), 1)
,"MMMM")),
#"Changed Type" = Table.TransformColumnTypes(#"Added Custom2",{{"HL", type number}, {"Fiscal Week", type date}, {"Fiscal Month", type date}}),
#"Pivoted Column" = Table.Pivot(#"Changed Type", List.Distinct(#"Changed Type"[#"Value Type"]), "Value Type", "HL", List.Sum),
#"Replaced Value6" = Table.ReplaceValue(#"Pivoted Column","Impulse","Off Premise",Replacer.ReplaceText,{"Sales Office_1"}),
#"Merged Queries1" = Table.NestedJoin(#"Replaced Value6", {"Sales Office_1"}, SalesOffPhase, {"Sales Office Desc"}, "SalesOffPhase", JoinKind.LeftOuter),
#"Expanded SalesOffPhase" = Table.ExpandTableColumn(#"Merged Queries1", "SalesOffPhase", {"Phase Day", "Target Consumption"}, {"Phase Day", "Target Consumption"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Expanded SalesOffPhase",{{"Plant", Int64.Type}}),