get_data does not seem to handle columns with NULL/empty values properly

Hi all,

I found this issue while using Eikon R library. Do understand that's not formally supported here, but I believe the underlying issue is with API/proxy rather than R.

When get_data returns a table with columns that contains NULL, NULL values are not inserted properly and the results from get_data would not match what one would get from Eikon/Excel

JSON request:

{"Entity":{"E":["DataGrid"],"W":{"instruments":[["0388.HK"]],"fields":[{"name":["TR.EPSEstValue(Period=FY2019)"]},{"name":["TR.EPSEstValue(Period=FY2019).date"]},{"name":["TR.EPSEstValue(Period=FY2019).origdate"]},{"name":["TR.EPSEstValue(Period=FY2019).confirmdate"]},{"name":["TR.EPSEstFootnote(Period=FY2019)"]}]}}}

JSON Response:

{\"columnHeadersCount\":1,\"data\":[[\"0388.HK\",8.19,\"2018-03-01T15:00:00Z\",\"2018-03-01T15:00:00Z\",\"2018-03-02T00:00:00Z\",\"Contributor update pending: Estimate failed freshness policy\"],[\"0388.HK\",6.94,\"2018-03-01T05:58:00Z\",\"2018-03-01T05:58:00Z\",\"2018-02-28T00:00:00Z\",\"\"],[\"0388.HK\",9.6,\"2018-04-12T12:00:00Z\",\"2018-04-12T12:00:00Z\",\"2018-04-13T00:00:00Z\",\"\"],[\"0388.HK\",12.038,\"2018-01-29T16:35:00Z\",\"2018-01-29T16:35:00Z\",\"2018-03-01T00:00:00Z\",\"\"],[\"0388.HK\",9.238,\"2018-04-12T08:27:00Z\",\"2018-04-12T08:27:00Z\",\"2018-03-20T00:00:00Z\",\"\"],[\"0388.HK\",9.41,\"2018-01-26T21:10:00Z\",\"2018-01-26T21:10:00Z\",\"2018-03-27T00:00:00Z\",\"\"],[\"0388.HK\",7.04,\"2017-10-03T14:00:00Z\",\"2018-04-01T22:40:18Z\",\"\",\"\"],[\"0388.HK\",10.684,\"2018-03-01T05:40:00Z\",\"2018-03-01T05:40:00Z\",\"\",\"\"],[\"0388.HK\",9.2,\"2018-03-01T19:37:00Z\",\"2018-03-01T19:37:00Z\",\"\",\"\"],[\"0388.HK\",7.802,\"2018-03-01T14:57:00Z\",\"2018-03-01T14:57:00Z\",\"\",\"\"],[\"0388.HK\",11.99,\"2018-03-01T17:17:00Z\",\"2018-03-01T17:17:00Z\",\"\",\"\"],[\"0388.HK\",7.586,\"2018-03-05T10:30:00Z\",\"2018-03-05T10:30:00Z\",\"\",\"\"],[\"0388.HK\",7.61,\"2018-02-28T12:20:00Z\",\"2018-02-28T12:20:00Z\",\"\",\"\"],[\"0388.HK\",7.7,\"2018-01-11T07:47:00Z\",\"2018-01-11T07:47:00Z\",\"\",\"\"],[\"0388.HK\",9.04,\"2018-03-01T09:22:00Z\",\"2018-03-01T09:22:00Z\",\"\",\"\"],[\"0388.HK\",7.89,\"2018-02-28T21:54:00Z\",\"2018-02-28T21:54:00Z\",\"\",\"\"],[\"0388.HK\",7.978,\"2018-03-01T08:34:00Z\",\"2018-03-01T08:34:00Z\",\"\",\"\"],[\"0388.HK\",8.75,\"2018-04-09T21:08:00Z\",\"2018-04-09T21:08:00Z\",\"\",\"\"],[\"0388.HK\",7.32,\"2018-01-09T20:44:00Z\",\"2018-01-09T20:44:00Z\",\"\",\"\"],[\"0388.HK\",9.754,\"2018-02-28T14:15:00Z\",\"2018-02-28T14:15:00Z\",\"\",\"\"]],\"headerOrientation\":\"horizontal\",\"headers\":[[{\"displayName\":\"Instrument\"},{\"displayName\":\"Earnings Per Share - Broker Estimate\",\"field\":\"TR.EPSESTVALUE(PERIOD=FY2019)\"},{\"displayName\":\"Date\",\"field\":\"TR.EPSESTVALUE(PERIOD=FY2019).DATE\"},{\"displayName\":\"Activation Date\",\"field\":\"TR.EPSESTVALUE(PERIOD=FY2019).origdate\"},{\"displayName\":\"Confirm Date\",\"field\":\"TR.EPSESTVALUE(PERIOD=FY2019).confirmdate\"},{\"displayName\":\"Earnings Per Share - Note\",\"field\":\"TR.EPSESTFOOTNOTE(PERIOD=FY2019)\"}]],\"rowHeadersCount\":1,\"totalColumnsCount\":6,\"totalRowsCount\":21}

Here both confirmdate and footnote columns can (and do contains) NULL. Instead of having NULL inserted into the correct rows. The reply simply put the non-NULL values at the top/head of the column and fill the rest with NULL.

Further details:

https://github.com/ahmedmohamedali/eikonapir/issues/11

Best Answer

  • Jirapongse
    Jirapongse admin
    Answer ✓

    There is a known issue that the underlying API does not handle NULL values correctly so the data in the column is shifted upward. Please refer to this question.

    The fix is currently expected by the end of April.

Answers