Business iQ (Analytics)

cancel
Showing results for 
Search instead for 
Did you mean: 

Why is the filter not being honored in ADQL?

Explorer

Why is the filter not being honored in ADQL?

This query should be limiting the data returned to items that have "*xpense*" in their url:

 

SELECT segments.httpData.url, userExperience, count(*) FROM transactions WHERE (transactionName like "*expense*" OR transactionname like "*Expense*") and userExperience != "NORMAL" AND segments.httpData.url LIKE "*xpense*"

 

Yet the data set returns:

segments.httpData.url,userExperience,count(*)
null,VERY_SLOW,291
null,SLOW,118
https://xxx/Services/Employee/v2/Employee/FindEmployee,VERY_SLOW,71
https://xxx/Services/Employee/v2/Employee/FindEmployee,SLOW,27
https://xxx/Services/Employee/v1/Employee/GetEmployeeDetail,VERY_SLOW,63
https://xxx/Services/Employee/v1/Employee/GetEmployeeDetail,SLOW,27
https://xxx/Expense/api/proxy/api/approvals/history,VERY_SLOW,68
https://xxx/Expense/api/proxy/api/approvals/history,SLOW,5
https://xxx/services/expenseapi/api/approvals/history,VERY_SLOW,67
https://xxx/services/expenseapi/api/approvals/history,SLOW,5
https://xxx/Expense/api/proxy/api/paymentMethods,VERY_SLOW,43
https://xxx/Expense/api/proxy/api/paymentMethods,SLOW,17
https://xxx/Expense/api/proxy/api/paymentMethods,ERROR,1
https://xxx/services/expenseapi/api/paymentMethods,VERY_SLOW,42
https://xxx/services/expenseapi/api/paymentMethods,SLOW,17
https://xxx/Services/Navigation/v1/Menu/GetMenu,SLOW,30
https://xxx/Services/Navigation/v1/Menu/GetMenu,VERY_SLOW,27
https://xxx/Services/Employee/v1/User/GetBio,SLOW,29
https://xxx/Services/Employee/v1/User/GetBio,VERY_SLOW,27

 

What is with the null values and the urls displaying that have nothing to do with *xpense*???

Why is the filter not being honored in ADQL?
1 REPLY
Highlighted

Re: Why is the filter not being honored in ADQL?

Hi Jason,

The query you put together counts segments.httpData.url
The trick is that in one BT execution there could be multiple of those URL segments e.g. If one node calls another or even if it calls itself with a REST call. So what you see is all distinct URLs in each segment of the executions that match your query. So if you do a count e.g. On the transaction name you are fine cause that one is unique.

Hope this helps
Michael