createWhatIfForecast method
A what-if forecast is a forecast that is created from a modified version of the baseline forecast. Each what-if forecast incorporates either a replacement dataset or a set of transformations to the original dataset.
May throw InvalidInputException.
May throw LimitExceededException.
May throw ResourceAlreadyExistsException.
May throw ResourceInUseException.
May throw ResourceNotFoundException.
Parameter whatIfAnalysisArn :
The Amazon Resource Name (ARN) of the what-if analysis.
Parameter whatIfForecastName :
The name of the what-if forecast. Names must be unique within each what-if
analysis.
Parameter tags :
A list of tags
to apply to the what if forecast.
Parameter timeSeriesReplacementsDataSource :
The replacement time series dataset, which contains the rows that you want
to change in the related time series dataset. A replacement time series
does not need to contain all rows that are in the baseline related time
series. Include only the rows (measure-dimension combinations) that you
want to include in the what-if forecast.
This dataset is merged with the original time series to create a transformed dataset that is used for the what-if analysis.
This dataset should contain the items to modify (such as item_id or workforce_type), any relevant dimensions, the timestamp column, and at least one of the related time series columns. This file should not contain duplicate timestamps for the same time series.
Timestamps and item_ids not included in this dataset are not included in the what-if analysis.
Parameter timeSeriesTransformations :
The transformations that are applied to the baseline time series. Each
transformation contains an action and a set of conditions. An action is
applied only when all conditions are met. If no conditions are provided,
the action is applied to all items.
Implementation
Future<CreateWhatIfForecastResponse> createWhatIfForecast({
required String whatIfAnalysisArn,
required String whatIfForecastName,
List<Tag>? tags,
TimeSeriesReplacementsDataSource? timeSeriesReplacementsDataSource,
List<TimeSeriesTransformation>? timeSeriesTransformations,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AmazonForecast.CreateWhatIfForecast'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'WhatIfAnalysisArn': whatIfAnalysisArn,
'WhatIfForecastName': whatIfForecastName,
if (tags != null) 'Tags': tags,
if (timeSeriesReplacementsDataSource != null)
'TimeSeriesReplacementsDataSource': timeSeriesReplacementsDataSource,
if (timeSeriesTransformations != null)
'TimeSeriesTransformations': timeSeriesTransformations,
},
);
return CreateWhatIfForecastResponse.fromJson(jsonResponse.body);
}