Is there a way to fetch only the rows that are modified using the google sheets API? - google-sheets-api

I am trying to ingest some data from google sheets into a warehouse and don't want to read the entire file every time. Is there a way to only fetch the modified rows without changing the source sheet?

I am afraid this is not possible. There exists a revisions API for drive files, however, it can only export the whole file and not limit it to modified rows only.
If you still want to implement this feature, I suggest you check out Google Apps Script. Using it, you could implement a solution that:
Detects when a row is modified (using an onEdit trigger).
After detecting it, it can copy the whole, modified row into another Sheet or Spreadsheet (see Range class).
That sheet/spreadsheet would be the one used for the ingestion of your application. After it is ingested, it could be cleaned up (or the index of the last ingested row could be locally saved, as previously mentioned).

Related

Transferring data from website to google docs

So I want to transfer information from a returned order from our website and I want to click a button and transfer some of that orders information (date it was received, order #, part#, quantity of # being returned.).
What's the fastest way to do this?
As of right now we are doing google docs spreadsheet to keep track of what is being returned and I am writing down every return manually.
Can we create a script or program that runs everytime this task is performed? It doesn’t seem like a big task but how do I do that?
You can check this API https://developers.google.com/sheets/ This allows for manipulation of data in the Google Excel sheets.

Get data from google sheet programatically if the sheet is modified

I am using below link to access data from google sheet:
https://sheets.googleapis.com/v4/spreadsheets//values/?key="API_Key"
Now I don't want data every time unless it is modified. Every time I will make API call and if the data is modified then I want those specific data rather than having complete data from the sheet. Or if getting specific data is not feasible then complete data will also work for me.
Any help is appreciated!
you'll still need to get the list of revisions before you get the latest one. Its discussed more in Manage Revisions of the Drive documentation. Once you've called the revisions:list, just pick the Revision you want from the list (conditional loop)

Logging When Files Are Saved, Modified or Deleted Using VBA

I work with VBA in MS Access databases. I'd like to be able to log when files are saved, modified or deleted without having to update the existing code to do the logging when the pertinent events take place. I want the time, location and the name of the file.
I found a good example here: when file modified
However, it only allows for monitoring a particular location (path). I want to be able to log regardless of where the save, modify or delete takes place. I'm only allowed to program in the MS Office environment in this situation. It seems as though using the Windows API is going to be how this task will be achieved. However, I don't have much experience working with the API. Is there an easier way to achieve what I want that doesn't involve using the API?
Have you worked with After_Updates or After_Insert macros? Also, is your application split? Meaning there's a front-end and a back-end of the database. You can create a separate table that mirrors that table that you need to track changes for. Every time a table is updates, run a macro that inserts a row to that table.
I'm assuming you're saving files to the database. If that's the case, add a after_update or after_insert macro that can keep track of when then files are being modified or added to the table.

Can I update data in Essbase using Excel add-In/smart view

Can i insert new data/update the existing data into Essbase using Excel add-In/Smart view like I update the data into Palo Multidimentional database?
regards,
Sri.
Yes. This is what Lock & Send is used for. After you have drilled to an intersection that you would to update/load/change data in, you enter it directly in within Excel. Then perform a Lock operation using the add-in or SmartView. This tells Essbase that you would like to update data that is currently being shown on your spreadsheet. Then perform a Send operation. This will upload all of the data on your sheet back to the database, assuming that you have access to change that data (if you are a read-only user or don't have sufficient filter access, for example, then you can't change the data). Note that all of the data in the spreadsheet will be sent up -- so it is useful to navigate to the smallest possible subset of data that you would like to change.
After sending the data, it will automatically be unlocked. Then just retrieve the sheet to verify that the data you uploaded did in fact upload. If you are trying to upload to members that are dynamic calc, for example, then it won't work. Also note that typically data is loaded such that every intersection point is a Level-0 member, if not then it is possible that a subsequent aggregation/calc in the database might erase the data you just uploaded.

How to find the document visitior's count?

Actually I am in need of counting the visitors count for a particular document.
I can do it by adding a field, and increasing its value.
But the problem is following.,
I have 10 replication copies in different location. It is being replicated by scheduled manner. So replication conflict is happening because of document count is editing the same document in different location.
I would use an external solution for this. Just search for "visitor count" in your favorite search engine and choose a third party tool. You can then display the count on the page if that is important.
If you need to store the value in the database for some reason, perhaps you could store it as a new doc type that gets added each time (and cleaned up later) to avoid the replication issues.
Otherwise if storing it isn't required consider Google Analytics too.
Also I faced this problem. I can not say that it has a easy solution. Document locking is the only solution that i had found. But the visitor's count is not possible.
It is possible, but not by updating the document. Instead have an AJAX call to an agent or form with parameters on the URL identifying the document being read. This call writes a document into a tracking DB with one or two views and then determines from those views how many reads you have had. The number of reads is the return value of the AJAX form.
This can be written in LS, Java or #Formulas. I would try to do it 100% in #Formulas to make it as efficient as possible.
You can also add logic to exclude reads from the same user or same source IP address.
The tracking database then replicates using the same schedule as the other database.
Daily or Hourly agents can run to create summary documents and delete the detail documents so that you do not exceed the limits for #DBLookup.
If you do not need very nearly real time counts (and that is the best you can get with replicated system like this) you could use the web logs that domino generates by finding the reads in the logs and building the counts in a document per server.
/Newbs
Back in the 90s, we had a client that needed to know that each person had read a document without them clicking to sign or anything.
The initial solution was to add each name to a text field on a separate tracking document. This ran into problems when it got over 32k real fast. Then, one of my colleagues realized you could just have it create a document for each user to record that they'd read it.
Heck, you could have one database used to track all reads for all users of all documents, since one user can only open one document at a time -- each time they open a new document, either add that value to a field or create a field named after the document they've read on their own "reader tracker" document.
Or you could make that a mail-in database, so no worries about replication. Each time they open a document for which you want to track reads, it create a tiny document that has only their name and what document they read which gets mailed into the "read counter database". If you don't care who read it, you have an agent that runs on a schedule that updates the count and deletes the mailed-in documents.
There really are a lot of ways to skin this cat.