Forum Discussion
Anonymous
6 years agoNot applicable
How to create a calculated table based on a table with data ranges?
There is a table with date ranges (yyyymm format) : Id Start Period End Period 1 202001 202002 2 202005 202007 I would like to create a calculated table with this transformed data...
- Anonymous6 years ago
Sorry, I misunderstood the requirement... Here's the correct solution (even though this calculation should be done in Power Query).
// Assuming period is int [Unpivoted Table] = SELECTCOLUMNS( generate( T, var __start = T[Start Period] var __startDate = var __year = int( __start / 100 ) var __month = mod( __start, 100 ) var __day = 1 return date( __year, __month, __day ) var __end = T[End Period] var __endDate = var __year = int( __end / 100 ) var __month = mod( __end, 100 ) var __day = 1 return date( __year, __month, __day ) return DISTINCT( SELECTCOLUMNS( CALENDAR( __startDate, __endDate ), "@Period", int( format( [Date], "yyyyMM" ) ) ) ) ), "Id", [Id], "Period", [@Period] )
Anonymous
6 years agoNot applicable
Sorry, I misunderstood the requirement... Here's the correct solution (even though this calculation should be done in Power Query).
// Assuming period is int
[Unpivoted Table] =
SELECTCOLUMNS(
generate(
T,
var __start = T[Start Period]
var __startDate =
var __year = int( __start / 100 )
var __month = mod( __start, 100 )
var __day = 1
return
date( __year, __month, __day )
var __end = T[End Period]
var __endDate =
var __year = int( __end / 100 )
var __month = mod( __end, 100 )
var __day = 1
return
date( __year, __month, __day )
return
DISTINCT(
SELECTCOLUMNS(
CALENDAR( __startDate, __endDate ),
"@Period", int( format( [Date], "yyyyMM" ) )
)
)
),
"Id", [Id],
"Period", [@Period]
)