Numeric operator and string data

For questions regarding the import, export and manipulation of data in EViews, including graphing and basic statistics.

Moderators: EViews Gareth, EViews Jason, EViews Steve, EViews Moderator

ral
Posts: 23
Joined: Tue Oct 21, 2014 2:44 pm

Numeric operator and string data

Hi,

I am running a program that loads data into Eviews country by country and computes indices using the data. I added a series (PMI) that uses #N/A N/A to indicate missing values. The program works fine for one country (the United States), but I get the error message:

Numeric operator applied to string data function @MEAN in "GENR PMISTD=(PMI-@MEAN(PMI))/@STDEV(PMI)"

for the next country in the loop (the Eurozone) when I try to standardize PMI. What is odd is that the U.S. series also has missing values indicated in exactly the same way as the Eurozone -- i.e., it uses #N/A N/A.

Any idea about what is causing this problem?

Thank you.

Ron

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 12266
Joined: Tue Sep 16, 2008 5:38 pm

Re: Numeric operator and string data

Hard to say without seeing it.

But you can probably convert the alpha series into a numerical one by using:

Code: Select all

`series pmis = @val(pmi)`

ral
Posts: 23
Joined: Tue Oct 21, 2014 2:44 pm

Re: Numeric operator and string data

Thank you for the quick reply. I get an error with the @val function:

Numeric argument passed to string @VAL function in "SERIES PMI1=@VAL(PMI)

This presumably happens because there are non-missing numerical data included in the series.

The Excel spreadsheet and the program are attached. The relevant sheets in the workbook are us_eviews and ez_eviews, and the PMI data are in column H.

You can also see in the Eviews workfile that Eviews recognizes the PMI data as a series for the US and as alphanumeric for the Eurozone. And yet both PMI series are, as far as I can tell, identically formatted in the spreadsheet.

Ron
Attachments
cai_pmitest.prg
cai_data.xlsx

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 12266
Joined: Tue Sep 16, 2008 5:38 pm

Re: Numeric operator and string data

use:

Code: Select all

`   import(type=excelxml) {%excelname}  range={%x}_eviews types=(w, w, w, w, w, w,w, f, w, w) @freq m %start`

ral
Posts: 23
Joined: Tue Oct 21, 2014 2:44 pm

Re: Numeric operator and string data

I replaced this line in the program:

import(type=excelxml) {%excelname} range={%x}_eviews @freq m %start

with this line:

import(type=excelxml) {%excelname} range={%x}_eviews types=(w, w, w, w, w, w,w, f, w, w) @freq m %start

I get this error now:

Syntax error: invalid format string in "IMPORT(TYPE=EXCELXML) CAI_DATA.XLSX RANGE=US_EVIEWS TYPES(W, W, W, W, W, W, W, F, W, W) @FREQ M "1986M1""

And interestingly the program runs fine when I include the PMI series from Japan.

Thanks.

ral
Posts: 23
Joined: Tue Oct 21, 2014 2:44 pm

Re: Numeric operator and string data

I solved the problem. My program worked for some countries but not others, and there did not appear to be a systematic pattern governing when it did not work. The issue may have something to do with Excel rather than Eviews.

I inserted this logical test into the cells from which I was loading the data into Eviews:

=if(istext(A1),NA(),A1)

It tests whether the entry in A1 is text. If so, the command assigns the cell #N/A, which Eviews recognizes as a missing value. Otherwise, it assigns the cell the numerical value contained in cell A1.