Run to view results
Run to view results
Run to view results
Date Range
Past 7 days
Client
All
Sku
All
Order Status
All
Response Code
All
Run to view results
Run to view results
Title
Value
-
Title
Value
-
Title
Value
-
Run to view results
Run to view results
Run to view results
# Sku drilldown - group by client and sku
# Restore previous behavior without empty-DataFrame fallback or headers
if df_filtered.empty:
print("No data available for the selected filters.")
else:
drilldown = df_filtered.groupby(['client_name', 'sku']).agg(
total_orders=('order_id', 'count'),
Success=('status', lambda x: (x == 'SUCCESS').sum()),
Pending=('status', lambda x: (x == 'PENDING').sum()),
Processing=('status', lambda x: (x == 'PROCESSING').sum()),
Failed=('status', lambda x: (x == 'FAILED').sum()),
Rejected=('status', lambda x: (x == 'REJECTED').sum())
).reset_index()
drilldown = drilldown.sort_values(by=['total_orders'], ascending=False)
drilldown
Run to view results
# Response-code drilldown grouped by client and sku without added headers or fallbacks
if df_filtered.empty:
print("No data available for the selected filters.")
else:
df_filtered['response_code_concat'] = df_filtered['status_code'] + ': ' + df_filtered['status_message']
agg_dict = {'total_orders': ('order_id', 'count')}
for response in response_code_filter_variable:
if response != 'All':
agg_dict[response] = ('response_code_concat', lambda x, r=response: (x == r).sum())
drilldown_codes = df_filtered.groupby(['client_name', 'sku']).agg(**agg_dict).reset_index()
drilldown_codes = drilldown_codes.sort_values(by=['total_orders'], ascending=False)
drilldown_codes
Run to view results