How to put an exogenous variable into the ARIMA model? I don't know how to put my exogenous variable in ARIMA model.
I use number of tourists ('number of torism' below) in an ARIMA model
and 'CLI_Index' for exogenous variable
My code in R: 
tourist <- ts(number of torism, start=c(2540,1),end=c(2553, 12), freq=12)
cli <- ts(CLI_Index, start=c(2540,1),end=c(2553, 12), freq=12)

# sarima (2,1,0)(0,1,1) 12 with cli
tourist.fit1 <- arima(tourist , order = c(2,1,0), seasonal = list(order=c(0,1,1), period=12) , xreg=cli)
forecast.fit1 <- forecast(tourist.fit1 , h = 1 ,xreg=cli ) 

I get the following error message:
> "Error in if (ncol(xreg) != ncol(object$call$xreg)) stop("Number of
> regressors does not match fitted model"

My data are available here.
 A: You used the same xreg for both fitting and one step a head forecasting. Does that make sense? It is not working because you didn't specify the new value for the cli as your exogenous variable when using forecast function i.e. you MUST provide newxreg. You may need another model to first predict your exogenous variable and then use it in your forecast function.
A: Here is an example. Divide the data into in-sample and out-of-sample:
intourist <- ts(number of torism, start=c(2540,1),end=c(2550, 12), freq=12)
incli <- ts(CLI_Index, start=c(2540,1),end=c(2550, 12), freq=12)

#your dates are very weird, are you from future? :)
outcli <- ts(CLI_Index, start=c(2551,1),end=c(2553, 12), freq=12)


# sarima (2,1,0)(0,1,1) 12 with cli
tourist.fit1 <- arima(intourist , order = c(2,1,0), seasonal = list(order=c(0,1,1), period=12) , xreg=incli)
forecast.fit1 <- forecast(tourist.fit1 , h = length(outcli) ,xreg=outcli ) 

I assumed that outcli is a vector. If it is a matrix then use
forecast.fit1 <- forecast(tourist.fit1 , h = nrow(outcli) ,xreg=outcli ) 

For actual forecast you will need to create outcli somehow. 
A: Please use below code as above code is giving a mismatch error:
forecast.fit2 <- predict(tourist.fit1 ,n.ahead = length(outcli), newxreg = outcli)

