Hi @Mustaf
To extract week number from date use the following calculation.
Example: (Replace the fields from your dataset)
ifelse(
extract("WD", OrderDate) = 1,
dateDiff(truncDate("WK", truncDate('YYYY', OrderDate)), OrderDate, 'WK'),
dateDiff(truncDate("WK", truncDate('YYYY', OrderDate)), OrderDate, 'WK')+1
)
Following calculated field switches between monthly and weekly date granularities using a parameter.
ifelse(
${TimeGranularity} = 'Monthly',
concat(
switch(
extract('MM', truncDate('MM', OrderDate)),
1, 'Jan',
2, 'Feb',
3, 'Mar',
4, 'Apr',
5, 'May',
6, 'Jun',
7, 'Jul',
8, 'Aug',
9, 'Sep',
10, 'Oct',
11, 'Nov',
12, 'Dec',
'Unknown'
),
' ',
toString(extract('YYYY', OrderDate))
),
${TimeGranularity} = 'Weekly',
toString(
ifelse(
extract("WD", OrderDate) = 1,
dateDiff(truncDate("WK", truncDate('YYYY', OrderDate)), OrderDate, 'WK'),
dateDiff(truncDate("WK", truncDate('YYYY', OrderDate)), OrderDate, 'WK')+1
)),
''
)