Forum Discussion
CorniTiger21
3 years agoNew Member
Custom Column Conundrum
I am trying to replicate this excel calculation in Power Bi to create a Period Offset column:- =[@Index]-XLOOKUP(TODAY(),[Date],[Index]) Can this be done as a Custom Column? Loving Powe...
- 3 years ago
Something like this might work.
Go to Transform Data and paste this into the advanced editor of a blank query...
let Source = Table.FromRows( Json.Document( Binary.Decompress( Binary.FromText( "i45WMjDUNzDRNzIwtFDSUTKyQOIYAjGKLEjAsaAIpA4ioGsCJEBY18xAKVaHoGFG1DTMmJqGmVDTMFPiDYsFAA==", BinaryEncoding.Base64 ), Compression.Deflate ) ), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ #"Period Start Date" = _t, #"Period End Date" = _t, Index = _t, Date = _t, Period = _t, Month = _t, Year = _t, CurYearOffset = _t, MonthNum = _t, PeriodOffset = _t ] ), ChangeType = Table.TransformColumnTypes( Source, { {"Period Start Date", type date}, {"Period End Date", type date}, {"Date", type date}, {"Index", Int64.Type}, {"Period", Int64.Type}, {"Year", Int64.Type}, {"CurYearOffset", Int64.Type}, {"MonthNum", Int64.Type}, {"PeriodOffset", Int64.Type} } ), AddDaysInPeriod = Table.AddColumn( ChangeType, "DaysInPeriod", each Number.RoundTowardZero(Duration.TotalDays([Period End Date] - [Period Start Date])) + 1, Int64.Type ), AddNewPeriodOffset = Table.AddColumn( AddDaysInPeriod, "NewPeriodOffset", each Number.RoundTowardZero( Duration.TotalDays([Period Start Date] - DateTime.Date(DateTime.FixedLocalNow())) / [DaysInPeriod] ), Int64.Type ) in AddNewPeriodOffset
v-jingzhang
3 years agoCommunity Support
Hi CorniTiger21
Have you solved this problem? If yes, you can accept a helpful reply as solution to close this thread. Or post your own solution and accept it.
If not, you can try the following solution with a calculated column. LOOKUPVALUE function (DAX)
PeriodOffset = 'Table (2)'[Period] - LOOKUPVALUE('Table (2)'[Period],'Table (2)'[Date],TODAY())
Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.