Bigquery GA360 daily export: find earliest daily table - google-analytics

BigQuery shows me that a GA360 daily export view has 600+ days in it but the earliest day table in the dropdown menu is only 500 days ago. How many daily tables do I actually have and how can I see the earliest one?

It turns out that the dropdown menu only shows the last 500 tables, so if you are looking to find the first ever table you can't just look at the earliest table in the dropdown. Instead, you can run:
SELECT table_id
FROM <dataset-name>:<view-number>.__TABLES_SUMMARY__
ORDER BY table_id
to find the earliest table name.

Related

Einstein Analytics - trying to display all the records displayed using count()

I have a dashboard created that contains a table showing the count() of records which is grouped by based on date. I have added another table that should display all records belonging to that particular date. Both the tables are of the same data set. But as soon as i click on the grouped by date column, the detail table display "no result found"

SQLiteStudio automatically insert value

I have a database created with SQLiteStudio that has a products table with two columns, item and price. It also has a sales table with an item column that is linked to the item column in products. I'd like the sales table to also have a price column, whose value is automatically set to that of the products.price row corresponding to the value selected from the products.item column. How would I define the sales.price column so that this value is automatically set?
Also, the prices in the products table may be changed from time to time, but the price listed in any existing sales records must not be updated when this is done.
SQLite has generated columns (also called expression columns) that are found in other DBMSes. But you'll need a fairly recent version of SQLite:
Generated column support was added with SQLite version 3.31.0
(2020-01-22). If an earlier version of SQLite attempts to read a
database file that contains a generated column in its schema, then
that earlier version will perceive the generated column syntax as an
error and will report that the database schema is corrupt.
Source: Generated Columns
You could simply build a view to augment your table a little bit.
You have mentioned that the prices will change over time and this is perfectly normal. So you have at least two design choices:
add an additional table to store price history, in that table you store product ID, price, start date and end date (as an example). Then you join it with the other tables. The effective price shall be determined based on the order date. That also means that the prices are to be stored in that table and not in products... you have to redesign your schema slightly.
the other option is to store the unit price of the product in the sales table as a historical value. This is the price that was in force when the sale was made.
One thing to consider: you may require more flexibility on pricing: it can depend on the client (different rates based on volume) and also on specific circumstances. The final price may be the result of numerous and complex calculations.

GA: Report with transactions doesn't show all of them

I have created a report with Data Studio taking values from GA and I have defined a table with several data like age, sex, hour, total users and transaccions.
At the end of the table it shows the total of transactions which are 8 and this data is correct. But If I seek this transactions in the table I only found 2.
Here you can see the table ordered by transactions and you can see how there is only 2.
And these are the sources of the data of the table:
Am I doing something wrong? How can I get the eight transactions in their own column?
Edit I:
The table are ordered descendent by the column "Transactions" (Transacciones) so all the transactions are showed in the first rows. In this case, we've got only 2 transactions.
In string 'Total' Data Studio shows Total not for your split, but just Total (Yes, it's strange). Test it in this way: create a new widget contains only 'Users' or 'Transactions'. You will see that number is the same as in your table in 'Total'.
You have 10 per page, change this view to match the total number of records. The reminder are likely on following pages

hits.page.searchKeyword doesn't match Total Unique Searches

I'm playing around with BigQuery google_analytics_sample data.
I'm trying to retrieve the number of Total Unique Searches I'm seeing from the Google Analytics UI.
I'm running the following query:
SELECT
hits.page.searchKeyword AS Search
FROM
`bigquery-public-data.google_analytics_sample.ga_sessions_*` AS GA,
UNNEST(GA.hits) AS hits
WHERE
(_TABLE_SUFFIX BETWEEN '20170101'
AND '20171231')
and hits.page.searchKeyword IS NOT NULL
and I got 441 when the UI show 607 Total Unique Searches.
What do I'm missing?
Thanks.
It looks like the linked table doesn't contain data for all dates in 2017.
SELECT
max(_TABLE_SUFFIX) as max_suffix
FROM
`bigquery-public-data.google_analytics_sample.ga_sessions_*` AS GA
WHERE
(_TABLE_SUFFIX BETWEEN '20170101'
AND '20171231')
Try adjusting your date filters in the GA report.

How do I create a "Users by time of day" heatmap in Google Data Studio?

I want to create a heatmap in Google Datastudio similar to the "Users by time of day" heatmap in Google Analytics.
This is how it looks in Google Analytics.
THE FIRST PROBLEM is that when I have my columns as the days of the week, it sorts on ascending/descending value alphabetically, NOT Sunday, Monday, Tuesday, etc.
THE SECOND PROBLEM is that I can't actually get the heatmap coloring.
THE THIRD (not a problem, but a preference)...is there a way to group every 2 hours like Google Analytics does?
I am creating this using the PIVOT TABLE chart. Should I be using a different chart? Any other ideas?
You can get something pretty close by doing this. Add a Pivot table, and modify the following settings.
Row Dimension - Hour
Column Dimension - Day of week
Metric - Users
Sort Row 1 - Hour - Ascending
Sort Column 1 - Day of Week Ascending
Then under the Style tab
Metric - change from Number to Heatmap
For the 2h interval I solved it by going in to the data source editor, click count on hour then it creates a copy that takes a formula, so i entered the formula
CASE
WHEN HOUR IN ("00","01") THEN "00-02"
...
...
...
WHEN HOUR IN ("22","23") THEN "22-00"
ELSE "Other"
END
I've recently written a tutorial on how to create this report in Data Studio.
As a summary, you need to use a "Pivot table with heatmap". Use Hour of Day as your Row Dimension, and a calculated field for Day of the Week as your Column Dimension. The code for the calculated field is in my post and it essentially adds a number before the name of the day so you can sort them alphabetically. Then, add your Metric: Sessions.
There is also a link to the dashboard that I made publicly available for anyone to copy and apply their own data.
The link to the post with step-by-step tutorial and access to dashboard template is: businessahead.co.uk/users-by-time-of-day-google-analytics

Resources