Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Is anyone else seeing behavior where the LOAD * EXTENSION syntax is only recognizing the first row of a table returned from an SSE? More specifically, the load recognizes that the returned table has multiple rows, but the entire table is just the first row duplicated over and over.
To add some more context, here is a simplified version of the function I'm calling.
@staticmethod
def _sample_function(request, context):
response_rows = []
sample_data = ["Atlanta", "Phoenix", "Denver", "Los Angeles", "Orlando"]
row_count = 0
for city in sample_data:
val1 = f"{row_count}"
val2 = city
duals = iter([SSE.Dual(strData=val1), SSE.Dual(strData=val2)])
response_rows.append(SSE.Row(duals=duals))
row_count = row_count + 1
table = SSE.TableDescription(name='SampleTable', numberOfRows=row_count)
table.fields.add(name='id', dataType=SSE.DUAL)
table.fields.add(name='city', dataType=SSE.DUAL)
md = (('qlik-tabledescription-bin', table.SerializeToString()),)
context.send_initial_metadata(md)
yield SSE.BundledRows(rows=response_rows)
This should (and does) return a table with 5 rows. But, when Qlik Sense loads it, it loads the first row 5 times.
A quick fix could be
A better solution
Seriously unreal. Changing those return types from SSE.DUAL to SSE.STRING absolutely fixed the issue. Mindblowing that it was that simple, and that I didn't think to try it myself. Thanks!