<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def construct(self, window_dim, stride=1, fill_value=dtypes.NA):
 """ Convert this rolling object to xr.Dataset, where the window dimension is stacked as a new dimension Parameters window_dim: str New name of the window dimension. stride: integer, optional size of stride for the rolling window. fill_value: optional. Default dtypes.NA Filling value to match the dimension size. Returns ------- Dataset with variables converted from rolling object. """


        from .dataset import Dataset

        dataset = OrderedDict()
        for key, da in self.obj.data_vars.items():
            if self.dim in da.dims:
                dataset[key] = self.rollings[key].construct(
                    window_dim, fill_value=fill_value)
            else:
                dataset[key] = da
        return Dataset(dataset, coords=self.obj.coords).isel(
            **{self.dim: slice(None, None, stride)})