MINUTE( DATETIME(1970,1,1,0,
 CASE 
  WHEN CAST(Nb of days as NUMBER) <= 1 THEN Hour
  WHEN CAST(Nb of days as NUMBER) >= 180 THEN ((MONTH(Date)-MONTH(PARSE_DATE("%Y%m%d",Min date)))+((YEAR(Date)-YEAR(PARSE_DATE("%Y%m%d",Min date)))*12))  
  WHEN CAST(Nb of days as NUMBER) >= 56 THEN (((YEAR(Date)-1)*52)+IF(WEEK(Date) IN (52,53) AND MONTH(Date) = 1, 0, WEEK(Date)))-(((YEAR(PARSE_DATE("%Y%m%d",Min date))-1)*52)+IF(WEEK(PARSE_DATE("%Y%m%d",Min date)) IN (52,53), 0, WEEK(PARSE_DATE("%Y%m%d",Min date))))
  ELSE DATE_DIFF(Date,PARSE_DATE("%Y%m%d",Min date))
 END
 ,0))