OR logical operator is not symmetric in keyword based search in SCREENER: is this a bug?

Let us say I want to find all private companies that either contain the keyword "well being" or "well-being" in the Business Description. The way to do this using the Eikon API is the following:


syntax = "SCREEN(U(IN(Private(OrgType(COM, UNK, MKP)))),"\
"Contains(TR.BusinessSummary,'well-being') OR Contains(TR.BusinessSummary,'well being'),"\
"CURN=USD, TR.OrganizationStatusCode=Act)"
fields = ["TR.CommonName", "TR.BusinessSummary"]
df, e = ek.get_data(syntax, fields)

Now, ['well-being' OR 'well being'] and ['well being' OR 'well-being'] should give the exact same result. But it does not. The following code shows the issue:

syntax_1 = "SCREEN(U(IN(Private(OrgType(COM, UNK, MKP)))),"\
"Contains(TR.BusinessSummary,'well-being') OR Contains(TR.BusinessSummary,'well being'),"\
"CURN=USD, TR.OrganizationStatusCode=Act)"

syntax_2 = "SCREEN(U(IN(Private(OrgType(COM, UNK, MKP)))),"\
"Contains(TR.BusinessSummary,'well being') OR Contains(TR.BusinessSummary,'well-being'),"\
"CURN=USD, TR.OrganizationStatusCode=Act)"

fields = ["TR.CommonName", "TR.BusinessSummary"]

df_1, e = ek.get_data(syntax_1, fields)
df_2, e = ek.get_data(syntax_2, fields)
print(len(df_1))
print(len(df_2))

len(df_1) is 62 and len(df_2) is 349.

Seems like this is a bug? Or am I doing something wrong?

@zoya faberov I think you might know this. Thank you.

Best Answer

  • Hello @bm01 and all,

    Writing to let you know that the suspected issue has been escalated to product and is being investigated.

    We will update the forums once the investigation is completed.

Answers