Hello,
I've noticed that when I build my TR_fields with the help function I get different results than if I would send the fields as a list of strings to get_data.
params = {"instruments": ["BKOM.PR"], "fields": ["TR.NetIntMarginActual.date", "TR.NetIntMarginActual"], "parameters":{"SDate":0, "EDate":-5, "Period":"FQ0", "Frq":"FQ"}} fields = [ek.TR_Field(f) for f in params['fields']] params['fields'] = fields df, err = ek.get_data(**params)
results in a '400 Bad Request' whilst
params = {"instruments": ["BKOM.PR"], "fields": ["TR.NetIntMarginActual.date", "TR.NetIntMarginActual"], "parameters":{"SDate":0, "EDate":-5, "Period":"FQ0", "Frq":"FQ"}} df, err = ek.get_data(**params)
gets no error. However, changing the field order of the first query as such
params = {"instruments": ["BKOM.PR"], "fields": ["TR.NetIntMarginActual", "TR.NetIntMarginActual.date"], "parameters":{"SDate":0, "EDate":-5, "Period":"FQ0", "Frq":"FQ"}} fields = [ek.TR_Field(f) for f in params['fields']] params['fields'] = fields df, err = ek.get_data(**params)
also doesn't result in an error. Could you give some insight in how the sorting is done at the TR server side? From what I've seen it sorts on the first field.
On a further note I want to report a bug that I found yesterday (and posted in the forum elsewhere but I'd figure I could repeat it here). In the file data_grid.py -> TR_Field it says that the highest priority is 0. However, when it does the check
if sort_priority:field[field_name]['sort_priority'] = sort_priority
a priority of 0 will result in the if evaluating to False, thus giving it no priority.