問題タブ [bigquery-standard-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - BigQuery: フェデレーションされた Google スプレッドシートに基づく 2 つの異なるテーブルを結合します
私は2つの異なるGoogleスプレッドシートを持っています:
4 列の 1 つ
前のファイルの 4 列とさらに 2 列の 1 つ
それらを Google BigQuery で Federated ソースとして構成したので、両方のテーブルのデータを結合するビューを作成する必要があります。
両方のテーブルCol1
には ID を含む列があり、この ID はテーブル全体で一意であり、複製されたデータは含まれません。
私が探している結果のテーブルは次のとおりです。
最初のファイルにない列については、NULL
値を期待しています。
私は標準SQLを使用しています。サンプルデータを生成するために使用できるステートメントは次のとおりです。
UNION ALL
テーブルが異なる列を持っているため、シンプルは機能しません
Federated ソースはワイルドカード演算子をサポートしていないため、ワイルドカード演算子は適切な方法ではありません
もちろん、これはサンプル データで、3 ~ 5 列しかありません。実際のテーブルには 20 ~ 40 列あります。したがって、フィールドごとに明示的にSELECT
フィールドする必要がある例は、かなりの方法ではありません。
この 2 つのテーブルを結合する有効な方法はありますか?
sql - STRUCT フィールドのネストされた配列に対するフィルタリングとグループ化による BigQuery 最適化クエリ
GQL (Google SQL) クエリを記述して、深くネストされた構造をフィルタリングし、その後再度ネストして、ARRAY と同じレベルの STRUCT プロパティの最初のレコードを残す方法を見つけようとしています。
スキーマサンプルを用意しました
また、フィルタリングには、ネストされたすべてのフィールドを平坦化するソース フィルター クエリが必要です。
主な問題は、このフィルタリングの後、すべてをグループ化しsaleItems
てsale._id
(初期構造を返す)、serviceFeedback
STRUCT 型のフィールドを取得することです。
JSON 形式で期待される結果は次のとおりです。
頭に浮かぶ最も単純なクエリのアイデアを書きました。正しい結果が得られます。しかし、おそらくもっと効率的な方法で書き直すことは可能です。
同じ結果を達成するためのより良い解決策を提案してもらえますか?
sql - 同じクエリで GA セッション フィールドとヒットレベル フィールドの両方をフラット化する BigQuery
標準SQLでは、同じクエリで以下をすべてクエリできるようにしたい
- customDimensions
- hits.customDimensions
- hits.customMetrics
- hits.product.customDimensions
これまでのところ、私はこのようなものを思いつきました (モバイル用とデスクトップ用の 2 つの GA プロパティの UNION を含みます) - これよりも多くの列を追加する予定であり、それらすべてを持つことは想像できませんsub-selects が最良のアプローチであるため: