Modify Schema in BigQuery external table (google sheets) - google-sheets

Last week I created a table in BigQuery from Google Sheets with a specific schema. Now, I've added two new columns in my Spreadsheet and I'm not able to change the schema in BigQuery. How can I change it?
A couple of months ago it was possible to edit it and add these columns at the end of the table, but right now there's nothing I can do in the UI when I press the 'edit schema' button.

Related

How to show employees who were absent (did not clock in) in Google Sheets with Google Form data?

I made a Google Form for employees to use to clock in and out each day. The data is going to a Google Sheet, which is turned into a pivot table and all is well except for how to view which employees did not clock in on a specific day. Ideally, I want a list of absent employees per day/employees who did not clock in/out on a certain day.
The Google Form has employees select their name from a drop down menu and select clock in or clock out. The data goes to a Google Sheet, which I have made a data processed tab from, to make a pivot table from. The list of absent employees does not need to be within pivot table, it can be a seperate tab. If it is possible to have absent employees listed somehow in the pivot table, that's great. Not a big deal if not.
Right now, I am manually going in and selecting employees who clocked in/out on a particular date, adding that to its own column, and comparing that column with the master employee list. Is there an automated way to do this? I am familiar with comparing two columns, but can't figure out how to sort employees based on the date they clocked in/out into one column to then compare it to another one (unless I manually create column at end of work day). Thank you!!
https://drive.google.com/file/d/1v5ssyIaW0fUdIBTKTr6FNZIzV1WNilqN/view?usp=sharing This is the raw data from Google From
https://drive.google.com/file/d/1axWe_nPSTvIPM2RvIz7AQZE_NSJmIEdQ/view?usp=sharing This is processed data which fills pivot table
https://drive.google.com/file/d/13rBxzJ5RtnYc-vo3RzocMrSwtMy9kbaB/view?usp=sharing This is pivot table

Google Sheets - Grab data from a separate sheet and add it to a master sheet

I have a Google Sheet that has a main master sheet, with a column for users to fill in their Name to show they are "working" on that row, then that row gets populated to their own tab based on a =QUERY(Master!A3:AA,"select * Where L='Name'") for each of the users' tabs, there is 8 total tabs where users are updating information. This is already quite a bit of processing on Googles part, so I am trying to generate a separate Google Sheet that pulls in the information that the users are entering on each of their tabs so the management can monitor that sheet for updates and then both sheets will run a lot faster/smoother.
I have tried using a VLookup with this syntax: =vlookup(A3,importrange("sheetID",{"Name1!$A$3:$N";"Name2!$A$3:$N";"Name3!$A$3:$N";"Name4!$A$3:$N";"Name5!$A$3:$N";"Name6!$A$3:$N";"Name7!$A$3:$N";"Name8!$A$3:$N"}),12,FALSE) which gives me an #N/A Error, cannot find Value '1' in VLOOKUP evaluation.
I have also tried using a =QUERY({importrange("sheetID"x8 with the ranges)}, "Select Col12,Col13,Col14 where Col2 matches '^.\*($" &B3 & ").\*$'")
That only returns headers, I am trying to get the query to basically find the unique key in Column A then spit out what is in Col 12-14, but that doesn't seem to work either. Columns 1-11 are static, but Columns 12-14 are what I am trying to populate for the management, which is the work that the staff is inputting on each of their tabs.
I can get the query working if I keep it on the same worksheet as the one the staff is working on, but then it bogs down the whole sheet so I would like to keep it separate if possible. Any ideas? I can't provide a sample sheet at this time since it has financial info on it, but I can add more details if I know what to look for.
your formula should be:
=VLOOKUP(A3, {
IMPORTRANGE("sheetID1", "Name1!A3:N");
IMPORTRANGE("sheetID2", "Name2!A3:N");
IMPORTRANGE("sheetID3", "Name3!A3:N");
IMPORTRANGE("sheetID4", "Name4!A3:N");
IMPORTRANGE("sheetID5", "Name5!A3:N");
IMPORTRANGE("sheetID6", "Name6!A3:N");
IMPORTRANGE("sheetID7", "Name7!A3:N");
IMPORTRANGE("sheetID8", "Name8!A3:N")}, 12, 0)
keep in mind that every importrange needs to be run as a standalone formula where you connect your sheets by allowing access. only then you can use the above formula

Google Sheets Pivot table disappearing when entering new data

I created a pivot table in Google Sheets that pulls student enrollment and attendance information from a report that we download from the state reporting system. I run this report multiple times a year to look at a variety of information. The columns always stay the same, but the rows/cell values change each time I run the report. When I paste the data over the data that I used last time, the pivot table goes blank. There is no easy way to identify what data has changed and the report contains thousands of rows of data. I tried re-selecting the pivot table data range, but the pivot table is still showing as blank. Is there a way to update the data without having to rebuild the pivot table in Google Sheets? I can't share the sheet I am working with since it contains confidential information.

Summarize Date From Multiple Sheets In Google Sheets

I am using an app that counts many of our daily activities but unfortunately does not have a good reporting tool. I am able to easily copy and paste our daily activities into a Google Sheet, but I need to be able to summarize by weeks, months, quarters, half-years and years so that I can determine our activity trends.
I cannot use Zapier or any other automation (that I am aware of), so the daily copy/paste to a sheet is the starting point for this. I have created
https://docs.google.com/spreadsheets/d/1JrOGql3jTEI6kRxVrlUcFSDVHiK2rsAOkdXJ3ZL94Kc/edit?usp=sharing
as a simplified example of what I need, it is editable. Also, there will be people added and removed from the daily report as time goes on (hirings/terminations).
How do I produce a report that shows individual and collective trends weekly, monthly, quarterly, half-year, and annually when each day's data exists on its own sheet?
20 years ago, I did something like this in excel, using a formula like: =SUM(FirstSheet:LastSheet!I2) to grab a specific cell from every sheet. But my current needs require the flexibility of employee records adjusting to different rows as employees are added or terminated. So I need a variable that reads the employee name to confirm, as well as the column header in case my software adds or removes something from the report that I am copying and pasting.
=SUM(FirstSheet:LastSheet!I2)
I would like report(s) that show summaries by an employee for each referenced time frame for each data being tracked.
={"Name", "Calls", "Emails", "Texts";
QUERY({'1-1-19'!A2:E;'1-2-19'!A2:E;'1-3-19'!A2:E;'1-4-19'!A2:E;
'1-5-19'!A2:E;'1-6-19'!A2:E;'1-7-19'!A2:E;'1-8-19'!A2:E},
"select Col1,sum(Col2),sum(Col3),sum(Col4)
where Col1 is not null
group by Col1
label sum(Col2)'',sum(Col3)'',sum(Col4)''", 0)}
perhaps to make it easier you could create a Named Range from sheet names like for filter of year, month, week, quarter etc.

Google Sheets - linking two separate sheets and importing values

I have two spreadsheets:
A budget sheet, with estimated costs and actual costs. Replicated here: https://docs.google.com/spreadsheets/d/1J8wPicVyfs98QXRXRCHZoq-Y6Uoi75Iv8WitGja4Pic/edit#gid=0
A cost tracking sheet, with the actual costs and reference to receipts. Replicated here: https://docs.google.com/spreadsheets/d/1YclB3V3817Q-RGwuzrOXoZkarwFszaTqwUFurtYtLVo/edit#gid=0
Currently I am importing the 'actual costs' in the budget sheet, by referencing rows from the 'actual costs' in the tracking sheet
So my budget sheet references the cost tracking sheet this way:
=(importrange("spreadsheet_key","sheet_name!I76"))
This works fine, however, if I insert a new row into my cost tracking sheet above some of the values I am already referencing, it will not dynamically update.
So if I insert a new row above:
=(importrange("spreadsheet_key","sheet_name!I76"))
I then have to manually change it in the other sheet too for each item:
=(importrange("spreadsheet_key","sheet_name!I77"))
Is anyone aware of a way I can link two sheets and still be able to insert rows without this breaking?
Thanks
Sounds like you want a sheet that updates when new values are entered into a separate sheet? I think a short script similar to the one proposed in this question should work for you.
Detect user inserting row or column in a google spreadsheet and reacting in a script

Resources