0
私は以下の記述をしています。 BigQueryでそれを実行すると、時間が多大な列名であるというエラーが表示されます。私がする必要があるのは、何時間もテーブル(hours.icxmedia-servers:icx_metrics.issues_and_zenhub)を取得している状態ですが、それをグループ化してグループ化すると、BigQueryはそれが無効なグループであると言います。私は、あなたが、単一のSELECTでhours
と呼ばれる2つのフィールド、1パススルーhours
フィールドでを持って、他はで計算フィールドである私は近いですが、私はこだわっていると、何か提案がBigQueryのあいまいな列名
SELECT
repo,
ticket_number,
title,
hours,
assignee,
state,
pipeline,
created_at,
closed_at,
points,
quarter_closed,
year_closed,
CASE
WHEN state = 'Closed'
THEN sum(hours)
ELSE hours
END AS hours
FROM (
SELECT
repo,
ticket_number,
title,
assignee,
state,
pipeline,
MAX(IF(closed_at IS NOT NULL, 0, MAX(ROUND((end_epoch-start_epoch)/3600,2)))) AS hours,
MIN(created_at) AS created_at,
MAX(closed_at) AS closed_at,
MAX(points) AS points,
QUARTER(closed_at) AS quarter_closed,
YEAR(closed_at) AS year_closed
FROM
[icxmedia-servers:icx_metrics.issues_and_zenhub] AS historical,
(
SELECT
repository.name AS repo,
IF(issue.number IS NOT NULL, issue.number, pull_request.number) AS ticket_number,
FIRST(IF(issue.number IS NOT NULL, issue.title, pull_request.title)) AS title,
IF(issue.number IS NOT NULL, issue.assignee.login, pull_request.assignee.login) AS assignee,
pipeline.name AS pipeline,
IF(MAX(IF(IF(issue.number IS NOT NULL, issue.state, pull_request.state) == "open",0,1)) == 1, "closed","open") AS state,
IF(issue.number IS NOT NULL, issue.created_at, pull_request.created_at) AS created_at,
MAX(IF(issue.number IS NOT NULL, issue.closed_at, pull_request.closed_at)) AS closed_at,
NULL AS assign_times,
TIMESTAMP_TO_SEC(IF(issue.updated_at IS NOT NULL,issue.updated_at, pull_request.updated_at)) AS start_epoch,
LEAD(start_epoch, 1) OVER (ORDER BY ticket_number, start_epoch ASC) AS end_epoch,
MAX(estimate.value) AS points,
QUARTER(MAX(IF(issue.number IS NOT NULL, issue.closed_at, pull_request.closed_at))) AS quarter_closed,
YEAR(MAX(IF(issue.number IS NOT NULL, issue.closed_at, pull_request.closed_at))) AS year_closed
FROM
[icxmedia-servers:icx_metrics.gh_zh_data_production]
WHERE
issue.number IS NOT NULL
OR pull_request.number IS NOT NULL
GROUP BY
repo,
start_epoch,
pipeline,
ticket_number,
created_at,
assignee) AS prod
WHERE title=="LinkedIn"
GROUP BY
repo,
ticket_number,
title,
assignee,
pipeline,
state,
quarter_closed,
year_closed
) A
GROUP BY
repo,
ticket_number,
title,
assignee,
state,
pipeline,
created_at,
closed_at,
points,
quarter_closed,
year_closed
名前修飾列を使用..列タールにテーブルの別名を追加し、同じ名前を持つ.FOR [受け入れられたとしてマーク解答]曖昧さは、必ず – scaisEdge
解決(http://stackoverflow.com/ help/someone-answers)(また、潜在的にそれらをupvote)StackOverflowの質問をするとき。人々は将来の質問に答えようとは思わないかもしれません。 –
あなたが気づいているエラーを投稿してください –