Forum Discussion

Alessandro_Scal's avatar
Alessandro_Scal
Frequent Visitor
2 years ago
Solved

Time series

Hi Everybody,

 

I have generated a time series using the following code: GENERATESERIES(DATE(2023,1,1),DATE(2023,12,31),TIME(0,15,0)).

 

Everything seems fine until a certain point where the increment of 15 minutes is somehow reduced to 14 minutes and 59 seconds... does anyone know why this happens and how to fix it? I need to have an increase of exactly 15 minutes for every row. 

 

 

Thank you!

 

Alessandro

 

 

 

  • The Time value will be represented by a decimal number behind-the-scenes and the Generateseries algorithm, at some point, is losing something when translating between decimals and time values.  That's my best guess. 

    Maybe one way to solve this is to replace the TIME with your own decimal.  I think 

    0.041666667 / 4

    might work but you'll need to test at your side.

    0.041666667 is the decimal representation of 1 hour,  (1/24)  but with some rounding applied.

     

    It will still break at some point if the sequence is long enough (i.e. more years in the sequence).

    ----

    My solution is just a workaround really.  Maybe there is a better way of doing it (Power Query probably)

2 Replies

  • HotChilli's avatar
    HotChilli
    Community Champion

    The Time value will be represented by a decimal number behind-the-scenes and the Generateseries algorithm, at some point, is losing something when translating between decimals and time values.  That's my best guess. 

    Maybe one way to solve this is to replace the TIME with your own decimal.  I think 

    0.041666667 / 4

    might work but you'll need to test at your side.

    0.041666667 is the decimal representation of 1 hour,  (1/24)  but with some rounding applied.

     

    It will still break at some point if the sequence is long enough (i.e. more years in the sequence).

    ----

    My solution is just a workaround really.  Maybe there is a better way of doing it (Power Query probably)