View 从bq cmd工具执行现有参数化BigQuery视图

View 从bq cmd工具执行现有参数化BigQuery视图,view,google-bigquery,bigquery-standard-sql,sql-parametrized-query,View,Google Bigquery,Bigquery Standard Sql,Sql Parametrized Query,如何使用传递的参数(@param)执行现有的BigQuery,而不同时发送视图查询 我想用占位符为我的自定义参数执行现有视图 我的最小视图保存在project.dataset.view中的BigQuery中: select * from `project.dataset.table` where column = @x 我的bqcmd看起来像: bq --location=EU query --use_legacy_sql=False \ --parameter='x:INT64:100'

如何使用传递的参数(@param)执行现有的BigQuery,而不同时发送视图查询

我想用占位符为我的自定义参数执行现有视图

我的最小视图保存在
project.dataset.view中的BigQuery中:

select * from `project.dataset.table`  
where column = @x
我的
bq
cmd看起来像:

bq --location=EU query --use_legacy_sql=False \
--parameter='x:INT64:100' \
--destination_table="dev.view_result" "[HERE IS THE SAME VIEW COPIED]"
就像我没有执行现有视图一样,我正在创建一个新的select查询(新视图)

是否可以这样称呼它:

bq --location=EU query --use_legacy_sql=False \
--parameter='x:INT64:100' \
--destination_table="dataset.view_result"
--view=[VIEW_URL like dataset.view]

BigQuery中还不支持带有参数的视图-请参阅相关的

,但我想现在可以将
select*from project.dataset.table
保存为BigQuery数据集中的myview,然后只执行
select*from myview,其中column=5
(tableau)。筛选器将被下推到第一个select语句。确定。应该有用。请记住-由于
SELECT*
的原因,整个表格扫描将正常进行,但如果使用
SELECT*from table
并将其保存在BQ的视图中,然后使用
select*from视图查询视图,其中分区\u ts\u或\u date\u字段=…
然后过滤器将立即推送到第一个select语句,并且您不会扫描整个表,因为只扫描一天。这是客户端(tableau)指定分区的变通方法,无需从bigquery视图复制/粘贴代码。相反,它们重用视图的代码,只定义分区。