¿Cómo generar series de fechas para ocupar fechas ausentes en Google BiqQuery?

Estoy tratando de obtener una suma diaria de ventas de una tabla de consulta grande de Google. Usé el siguiente código para eso.

select Day(InvoiceDate) date, Sum(InvoiceAmount) sales from test_gmail_com.sales 
where year(InvoiceDate) = Year(current_date()) and
Month(InvoiceDate) = Month(current_date())
group by date order by date

De la consulta anterior solo da la suma de las ventas diarias que estaban en la tabla. Existe la posibilidad de que algunos días no tengan ventas. Para ese tipo de situaciones, necesito obtener la fecha y la suma debe ser 0. Como ejemplo, en cada mes debería 30 30 31 filas con la suma de las ventas. Los ejemplos se muestran a continuación. El 4to día del mes no tiene ventas. Entonces su suma debería ser 0.

date | sales
-----+------
1    |   259
-----+------
2    |   359
-----+------
3    |   45
-----+------
4    |    0
-----+------
5    |  156

¿Es posible hacerlo en Big-query? Básicamente, la columna de fecha debe ser una serie del 1 al 28/29/30 o 31 dependiendo del mes del año.

Respuestas a la pregunta(4)

Su respuesta a la pregunta