SELECT * FROM Interpolator ( ON { table|view|(query)} AS input_table PARTITION BY id ORDER BY ordering_column [ ON { table|view|(query) } AS time_table DIMENSION ORDER BY ordering_column ] [ ON { table|view|(query) } AS count_row_number PARTITION BY id ] TimeColumn ('time_column') [ TimeInterval (time_interval) ] ValueColumns ({ 'value_column' | 'value_column_range' }[,...]) [ InterpolationType (interpolation_type [,...] ) ] [ AggregationType (aggregation_type [,...] ) ] [ TimeDataType (time_data_type) ] [ ValueDataType (value_type [,...])] [ StartTime (start_time) ] [ EndTime (end_time) ] [ ValuesBeforeFirst ('value' [,...]) ] [ ValuesAfterLast ('value' [,...]) ] [ DuplicateRowsCount ('value1' [,'value2']) ] [ Accumulate ({ 'accumulate_column' | 'accumulate_column_range' }[,...]) ] );