Я покажу пример того, что можно сделать, когда у вас есть две таблицы. В моей рабочей книге я назвал их Table32 и Table33, но вы можете легко это изменить.
Есть и другие аспекты кода, которые вы можете захотеть изменить или добавить - это лишь пример некоторых возможностей.
Чтобы использовать Power Query
Data => Get&Transform => from Table/Range
Home => Advanced Editor
.Source=
и Source1=
.Applied Steps
, чтобы понять алгоритмlet
//Read in first table and get date from column 2 name
Source = Excel.CurrentWorkbook(){[Name = "Table32"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Member", type text}, {Table.ColumnNames(Source){1}, Int64.Type}}),
dt1 = Date.From(Table.ColumnNames(Source){1}),
//read in second table and get date from column 2 name
Source1 = Excel.CurrentWorkbook(){[Name = "Table33"]}[Content],
#"Changed Type1" = Table.TransformColumnTypes(Source1,{{"Member", type text}, {Table.ColumnNames(Source1){1}, Int64.Type}}),
dt2 = Date.From(Table.ColumnNames(Source1){1}),
//calculate number of days
days = Duration.TotalDays(dt2-dt1),
//join the two tables only with names from both
join = Table.Join(#"Changed Type","Member",#"Changed Type1","Member",JoinKind.Inner),
//compute the total by subtracting the earlier dated column from the later
//then remove the dated columns
#"Added Custom" = Table.AddColumn(join, "Total", each [2021.09.30]-[2021.08.31]),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"2021.08.31", "2021.09.30"}),
//Add Daily column = Total/number of days between the dates
//and Weekly = 7*Daily
#"Added Custom1" = Table.AddColumn(#"Removed Columns", "Daily", each [Total]/days),
#"Added Custom2" = Table.AddColumn(#"Added Custom1", "Weekly", each [Daily]*7),
//set data types and reorder the columns
#"Changed Type2" = Table.TransformColumnTypes(#"Added Custom2",{{"Daily", Currency.Type}, {"Weekly", Currency.Type}}),
#"Reordered Columns" = Table.ReorderColumns(#"Changed Type2",{"Member", "Total", "Weekly", "Daily"})
in
#"Reordered Columns"
30
, что для Питера, я рассчитываю Daily от 90/30=3
, в то время как вы показываете 2.89
. Но математику легко изменить, как только я пойму правила, которые вы используете.Прикрепляю к посту несколько видео по теме: