dotnet / dotnet/machinelearning-modelbuilder

Add support for `datetimeoffset` SQL column

Open
#2,965 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Dockerfile
Stars
285
Forks
66
PR merge metrics
No merged PRs in 30d

Description

When running the "Forecasting" model builder on a SQL Server table with a `datetimeoffset` column selected as the time series column, the model builder errors out with `Unable to cast object of type 'System.DateTimeOffset' to type 'System.DateTime'.`. I'd like to see native support for DateTimeOffset or at least a conversion to DateTime.

I'm using the .NET Framework Data Provider for SQL Server to connect.

```
2024-08-28 11:15:19.9161 DEBUG Unable to cast object of type 'System.DateTimeOffset' to type 'System.DateTime'.
at Microsoft.Data.SqlClient.SqlBuffer.get_DateTime()
at Microsoft.Data.SqlClient.SqlDataReader.GetDateTime(Int32 i)
at Microsoft.ML.Data.DatabaseLoader.Cursor.<>c__DisplayClass31_0.b__0(DateTime& value)
at Microsoft.Data.Analysis.PrimitiveDataFrameColumn`1.AddValueUsingCursor(DataViewRowCursor cursor, Delegate getter)
at Microsoft.ML.IDataViewExtensions.ToDataFrame(IDataView dataView, Int64 maxRows, String[] selectColumns)
at Microsoft.ML.ModelBuilder.AutoMLService.TimeSeriesForecastingTrainTestDatasetManager.InitializeSplitTrainValidateDataset() in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/DatasetManagers/TimeSeriesForecastingTrainTestDatasetManager.cs:line 62
at Microsoft.ML.ModelBuilder.AutoMLService.TimeSeriesForecastingTrainTestDatasetManager..ctor(IDataView trainDataset, Single splitRatio, String labelColumn, String timeColumn, Boolean useDefaultIndex, IChannel logger) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/DatasetManagers/TimeSeriesForecastingTrainTestDatasetManager.cs:line 32
at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.ForecastingExperiment.ExecuteAsync(IDataView trainData, IDataView validateData, CancellationToken ct) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/ForecastingExperiment.cs:line 89
at Microsoft.ML.ModelBuilder.AutoMLEngine.StartTrainingAsync(ITrainingConfiguration config, PathConfiguration pathConfig, CancellationToken userCancellationToken) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/AutoMLEngineService/AutoMLEngine.cs:line 178 (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.