Implement Ajax live search in google sheet for data entry - ajax

I have a spreadsheet of few thousands row with column that has multi word sentences so its not possible to remember exact name and at which sequence the words appear
such as "Cambridge international physics coursebook for a level"
As google sheets built in search don't allow partial words search like in websites.
I have made a workaround using filter function+regexmatch+split function to filter out the exact cell
see my example search
but after that, I have to manually search it using crtl+F ,as filter function don't allow me to edit filtered data,its very tedious.
How can i implement live ajax search in google sheet or is their any workaround or other software i should use for my data entry and modification purpose.
And can I use algolia instantsearch like feature for editing my sheet.

Take in mind that Apps Script has quotas, using this AJAX approach will make your quotas expire very quickly. Try to minimize the execution of scripts with this function.
You can just use setInterval() in combination with a custom sidebar, in there call the server function that you want to execute. If you space the executions to let's say 1 every 2-3 seconds you should be good.

Related

Hiding filter based on user in Tableau

I have a filter by different divisions (Management, IT, Finance, etc). I currently have it so that I can do data quality check for each division. However, I don't want this filter to show up users of different divisions. Right now, the IT folks can see the division filter and as they are restricted to see only their division's data, they only see the "IT" as the only option in the filter. I would like for them to not see the Division filter at all as it is not useful for them, but I do need it for data quality purposes.
One of the solutions is to publish a workbook without the filter for the end users and another workbook with the filter just for you in a different folder (which only you can access). This one works always but you have 2 versions of the same report.
Or you can try it with parameters as described here:
https://www.theinformationlab.co.uk/2017/01/26/hiding-parameters-filters-tableau/

How to perform a "from" in Elasticsearch scroll context?

I have a large dataset to query and display in website on an array.
I made a pagination system with a scroll but i can only display a maximum of 100 items at a time so i'm facing issue when i want to display data of page 200 and more because i have to scroll until them and it take too long.
I have check other parts of my code and i didn't find other perf issue, is just the scroll queries which make my api call too long. I tried setting the request size from 100 to 10000 but it doesn't change anything.
I don't think sliced ​​scroll can be a solution or then I didn't understand the functionality.
I'm desperately searching a way to skip the scroll queries before datas that i'm searching even it's not a precise method.
Hoping someone has a solution or at least a clue.
Edit:
More details about what i'm trying to achieve.
I log some actions of my users like calls in Elasticsearch indexes. They do millions of actions per month so Elasticsearch seems like a good option to store them knowing that i don't have to update them after they are stored .
I'm creating a page where my users can search for actions they've performed, but they're doing the "query" themselves. I mean they can select the period and many other parameters, order them by many parameters, etc. The number of result can be 1 or 100,000 items, but I can't show 100,000 items on my page for UI reasons, so I have to manage a pagination and send only part of the result to the page.
I made a scroll query to do it for now with a size of 1000, and i scroll until i'm in the current page of my pagination. I tried to vary the size but it's not really concluent because I can't know the number of result before the query is made.
And the deeper my user go in the pagination, the longer the query take.
I could increase the index.max_result_window with an unreachable number (but I don't know what that implies) make a simple query with a from and a second scroll query for export case but I wonder if they are a way to skip some step in a scroll when i know i'm going to take 100 items after the 1 000 000th item ?
Edit: I watched how google design its pagination and i notice that if you want to go deep in search results you can't unless you go step by step. You can't go directly to the 500th page.
This is how I done mine
So I just redesign my pagination to do the same as Google and force my users to use more precise filters to get less result. Thank you #Val for getting me to ask the right questions :)

Google Sheets data validation different for each row

For my current project, I'm making a sheet that lets me keep track of my D&D characters. I use data validation to remind me what all the options are for various stats, with the information being kept in a separate "RefTables" sheet. Creating a data validation for selecting a character class is very easy, since there are only 14 classes total. What I'm having trouble with is the 'subclass' column. After you choose the character class, you get to choose your specialization, or 'subclass'. This differs depending on the character class you chose.
Right now I can do the proper data validation for each cell individually. In my ref tables sheet, I have a section where it will grab the character class value and put all the 'subclass' options into a row. I can then use data validation in that specific cell to grab the subclass row. This works, but is tedious to do for every single cell.
The formula I would love to put in the range section is
=INDIRECT(CONCATENATE("RefTables!Q",ROW(),":AJ",ROW()))
which appends the row number with the appropriate columns so each row automatically gets its own subclass row (EX: RefTables!Q3:AJ3, RefTables!Q21:AJ21, etc.). I've seen solutions for Excel, but I'm using Google Sheets so I can share this document more easily with friends.
tldr; How to use data validation in Google Sheets that is slightly different for each row
unfortunately, this is possible to achieve only the manual way setting it up for every single cell/row. Google Sheets' Data validation does not support injecting CSVs via formula.

QTP cannot select data in drop down if more than 50

I've been looking for answers and try so many ways. I need to automate one websites and this country field have 230 data. When I try to run the script, if the data less then 50 it can select easily. But if I want to select data from 50 onward it only scroll down until the last data. This is my code im using now. Working fine if the data that I want to select in the first 50 range
ObjPage. WebElement(xpath="some xpath data" ). Click
ObjPage. WebList("xpath=" some xpath data" ). Selecr strcountry
most probably the list items are loaded asynchronously(lazy loading) with AJAX, on-demand. Your best try is to look up in javascript / ask the developer about the events that make the list load the rest of the values. If this is clear, send those events to the list via UFT to trigger the loading
(Under the hood you could try calling the Javascript method directly with some runJS commands, however the event based solution is more realistic)

Filtering the output for importhtml in Google Sheets

I am building a google sheet to do calculations based on information I found on different websites and stumbled upon the IMPORTHTML function in Google Sheets.
Terrific, I want to import tables and then use some of the values out of those tables to build my sheet and make further calculations.
However, since the function retrieves both the headers and all the information in the table that makes it quite hard to work with. Instead I would like to pull only certain of the data, preferably specific cells in the table pulled.
Is this possible?
For example:
=ImportHtml("http://en.wikipedia.org/wiki/Demographics_of_India"; "table";3)
returns a huge list, what if I would like to pull only the values of B7 and D7? Is that possible? Even filtering out a single row would be useful, whatever that is more feasible. The most important part is that I can get a single row and dont have the full table.
Found the INDEX function, doing exactly what I need it to do!

Resources