Recently I have been investigating Google BigQuery as a potential tool for use in a client Datawarehousing project.
The first thing I wanted to check was that it was suitable as a source for standard reports. Excel support is well documented, I wanted to try it from SSRS to determine if I would be able to retrieve the data using other tools aside from Excel. To do this we need to use an ODBC source, unfortunately Google do not provide a native ODBC driver, however I found a third party ODBC driver for this purpose. You can sign up for a free trial to test the product and read the details about it here
The first step is to install the driver, there are 32 and 64-bit versions included in the download. If you are running on a 64-bit machine you should install both versions.
Upon signing up for the trial you should receive a license file by email. This file should be pasted into the C:Program Files (x86)Simba BigQuery ODBC Driverlib and C:Program FilesSimba BigQuery ODBC Driverlib once the installation is completed.
Following this you need to setup the connection, to do this open the ODBC admin console.
Select ‘Add’, then select the ‘Simba BigQuery ODBC driver’
Click Sign in, a web page will open which will ask you to enter the details for your big query account, following this it will provide you with a confirmation code which you can enter in the confirmation code box, upon doing this the ‘Refresh Token Field’ will automatically populate and you can select the Catalog and project.
If all has gone well you will see the following:
The next step is to setup the connection in reporting services. To do this you need to set the connection type to ODBC, click edit, select the ODBC connection name which was created in the previous step and test the connection.
You can now use the tool to run queries against your BigQuery data. As a word of caution I have found the query syntax to be a little unforgiving in a way which it is not when querying via the standard BigQuery web interface – keywords need to be in upper case, field names are case-sensitive and when referring to tables the ‘:’ character should be replaced with a ‘.’ eg ‘publicdata:samples.natality’ becomes ‘publicdata.samples.natality’