Meet industry peers, ask questions, collaborate to find answers, and connect with Googlers who are making the products you use every day.<\/p>", "imageupload.max_uploaded_images_per_upload" : 100, "imageupload.max_uploaded_images_per_user" : 10000, "integratedprofile.connect_mode" : "", "tkb.toc_maximum_heading_level" : "2", "tkb.toc_heading_list_style" : "disc", "sharedprofile.show_hovercard_score" : true, "config.search_before_post_scope" : "community", "tkb.toc_heading_indent" : "15", "p13n.cta.recommendations_feed_dismissal_timestamp" : -1, "imageupload.max_file_size" : 10024, "layout.show_batch_checkboxes" : false, "integratedprofile.cta_connect_slim_dismissal_timestamp" : -1 }, "isAnonymous" : true, "policies" : { "image-upload.process-and-remove-exif-metadata" : true }, "registered" : false, "emailRef" : "", "id" : -1, "login" : "Former Community Member" }, "Server" : { "communityPrefix" : "/qsqph94282", "nodeChangeTimeStamp" : 1739733550956, "tapestryPrefix" : "/gc", "deviceMode" : "DESKTOP", "responsiveDeviceMode" : "DESKTOP", "membershipChangeTimeStamp" : "0", "version" : "24.12", "branch" : "24.12-release", "showTextKeys" : false }, "Config" : { "phase" : "prod", "integratedprofile.cta.reprompt.delay" : 30, "profileplus.tracking" : { "profileplus.tracking.enable" : false, "profileplus.tracking.click.enable" : false, "profileplus.tracking.impression.enable" : false }, "app.revision" : "2501300115-s5e774b9f15-b77", "navigation.manager.community.structure.limit" : "1000" }, "Activity" : { "Results" : [ ] }, "NodeContainer" : { "viewHref" : "https://www.googlecloudcommunity.com/gc/Top/ct-p/top", "description" : "", "id" : "top", "shortTitle" : "Top", "title" : "Top", "nodeType" : "category" }, "Page" : { "skins" : [ "googlecloud", "theme_hermes", "responsive_peak" ], "authUrls" : { "loginUrl" : "https://www.googlecloudcommunity.com/gc/user/userloginpage?dest_url=https%3A%2F%2Fwww.googlecloudcommunity.com%2F", "loginUrlNotRegistered" : "https://www.googlecloudcommunity.com/gc/user/userloginpage?redirectreason=notregistered&dest_url=https%3A%2F%2Fwww.googlecloudcommunity.com%2F", "loginUrlNotRegisteredDestTpl" : "https://www.googlecloudcommunity.com/gc/user/userloginpage?redirectreason=notregistered&dest_url=%7B%7BdestUrl%7D%7D" }, "name" : "CommunityPage", "rtl" : false, "object" : { "viewHref" : "/", "id" : "qsqph94282", "page" : "CommunityPage", "type" : "Community" } }, "WebTracking" : { "Activities" : { }, "path" : "Community:Google Cloud Community" }, "Feedback" : { "targeted" : { } }, "Seo" : { "markerEscaping" : { "pathElement" : { "prefix" : "@", "match" : "^[0-9][0-9]$" }, "enabled" : false } }, "TopLevelNode" : { "viewHref" : "https://www.googlecloudcommunity.com/", "description" : "The official home of Google Cloud and Workspace community forums, learning hub, and community blogs.", "id" : "qsqph94282", "shortTitle" : "Google Cloud Community", "title" : "Google Cloud Community", "nodeType" : "Community" }, "Community" : { "viewHref" : "https://www.googlecloudcommunity.com/", "integratedprofile.lang_code" : "en", "integratedprofile.country_code" : "US", "id" : "qsqph94282", "shortTitle" : "Google Cloud Community", "title" : "Google Cloud Community" }, "CoreNode" : { "viewHref" : "https://www.googlecloudcommunity.com/", "settings" : { }, "description" : "The official home of Google Cloud and Workspace community forums, learning hub, and community blogs.", "id" : "qsqph94282", "shortTitle" : "Google Cloud Community", "title" : "Google Cloud Community", "nodeType" : "Community", "ancestors" : [ ] } }; LITHIUM.Components.RENDER_URL = "/gc/util/componentrenderpage/component-id/#{component-id}?render_behavior=raw"; LITHIUM.Components.ORIGINAL_PAGE_NAME = 'community/Page'; LITHIUM.Components.ORIGINAL_PAGE_ID = 'CommunityPage'; LITHIUM.Components.ORIGINAL_PAGE_CONTEXT = 'Moxl7IkhG15QxsOSXZmmUDT6nNvF1_3T0kPTBgNilaQI_AsaSUjObH4opvQlF42KuxbAzDXhvi0T952914n72MMwlCtmqt8IgjVCt1fBEKukpQcPLZdnfTMIssMsEng5W_oJV7MxvBQSfxKyR4YKoA1BMEwoeAXGEwEjT_LTVMafJ1PU4SNprIJa-riFRoDYMN1PPgoMIaoPf5SN8ftqsmFCHGMNzgg61NMdix6YF9RhGYfaBgafZF9kQ0X4V6fjvyISI2b_Gj4lyFNN_h84BFgDkbHeHzioLtcqEKHVJIs.'; LITHIUM.Css = { "BASE_DEFERRED_IMAGE" : "lia-deferred-image", "BASE_BUTTON" : "lia-button", "BASE_SPOILER_CONTAINER" : "lia-spoiler-container", "BASE_TABS_INACTIVE" : "lia-tabs-inactive", "BASE_TABS_ACTIVE" : "lia-tabs-active", "BASE_AJAX_REMOVE_HIGHLIGHT" : "lia-ajax-remove-highlight", "BASE_FEEDBACK_SCROLL_TO" : "lia-feedback-scroll-to", "BASE_FORM_FIELD_VALIDATING" : "lia-form-field-validating", "BASE_FORM_ERROR_TEXT" : "lia-form-error-text", "BASE_FEEDBACK_INLINE_ALERT" : "lia-panel-feedback-inline-alert", "BASE_BUTTON_OVERLAY" : "lia-button-overlay", "BASE_TABS_STANDARD" : "lia-tabs-standard", "BASE_AJAX_INDETERMINATE_LOADER_BAR" : "lia-ajax-indeterminate-loader-bar", "BASE_AJAX_SUCCESS_HIGHLIGHT" : "lia-ajax-success-highlight", "BASE_CONTENT" : "lia-content", "BASE_JS_HIDDEN" : "lia-js-hidden", "BASE_AJAX_LOADER_CONTENT_OVERLAY" : "lia-ajax-loader-content-overlay", "BASE_FORM_FIELD_SUCCESS" : "lia-form-field-success", "BASE_FORM_WARNING_TEXT" : "lia-form-warning-text", "BASE_FORM_FIELDSET_CONTENT_WRAPPER" : "lia-form-fieldset-content-wrapper", "BASE_AJAX_LOADER_OVERLAY_TYPE" : "lia-ajax-overlay-loader", "BASE_FORM_FIELD_ERROR" : "lia-form-field-error", "BASE_SPOILER_CONTENT" : "lia-spoiler-content", "BASE_FORM_SUBMITTING" : "lia-form-submitting", "BASE_EFFECT_HIGHLIGHT_START" : "lia-effect-highlight-start", "BASE_FORM_FIELD_ERROR_NO_FOCUS" : "lia-form-field-error-no-focus", "BASE_EFFECT_HIGHLIGHT_END" : "lia-effect-highlight-end", "BASE_SPOILER_LINK" : "lia-spoiler-link", "FACEBOOK_LOGOUT" : "lia-component-users-action-logout", "BASE_DISABLED" : "lia-link-disabled", "FACEBOOK_SWITCH_USER" : "lia-component-admin-action-switch-user", "BASE_FORM_FIELD_WARNING" : "lia-form-field-warning", "BASE_AJAX_LOADER_FEEDBACK" : "lia-ajax-loader-feedback", "BASE_AJAX_LOADER_OVERLAY" : "lia-ajax-loader-overlay", "BASE_LAZY_LOAD" : "lia-lazy-load" }; LITHIUM.noConflict = true; LITHIUM.useCheckOnline = false; LITHIUM.RenderedScripts = [ "DeferredImages.js", "SpoilerToggle.js", "jquery.autocomplete.js", "Namespace.js", "jquery.placeholder-2.0.7.js", "jquery.lithium-selector-extensions.js", "NoConflict.js", "jquery.ui.position.js", "jquery.effects.slide.js", "Throttle.js", "InformationBox.js", "jquery.iframe-transport.js", "jquery.tools.tooltip-1.2.6.js", "jquery.effects.core.js", "SearchForm.js", "prism.js", "jquery.function-utils-1.0.js", "json2.js", "Lithium.js", "AutoComplete.js", "jquery.iframe-shim-1.0.js", "Cache.js", "jquery.ui.widget.js", "jquery.js", "ElementQueries.js", "DataHandler.js", "jquery.ui.dialog.js", "jquery.position-toggle-1.0.js", "jquery.appear-1.1.1.js", "Components.js", "jquery.css-data-1.0.js", "jquery.fileupload.js", "AjaxFeedback.js", "Placeholder.js", "jquery.ajax-cache-response-1.0.js", "ForceLithiumJQuery.js", "LiModernizr.js", "Dialog.js", "OoyalaPlayer.js", "jquery.ui.core.js", "Tooltip.js", "jquery.delayToggle-1.0.js", "jquery.scrollTo.js", "Events.js", "Sandbox.js", "jquery.ui.draggable.js", "PartialRenderProxy.js", "ResizeSensor.js", "Text.js", "AjaxSupport.js", "Auth.js", "jquery.blockui.js", "jquery.hoverIntent-r6.js", "jquery.clone-position-1.0.js", "Forms.js", "Video.js", "jquery.tmpl-1.1.1.js", "ElementMethods.js", "CookieBannerAlert.js", "ActiveCast3.js", "Link.js", "Loader.js", "PolyfillsAll.js", "jquery.viewport-1.0.js", "jquery.ui.resizable.js", "SearchAutoCompleteToggle.js", "HelpIcon.js", "jquery.ui.mouse.js", "Globals.js", "jquery.json-2.6.0.js" ];(function(){LITHIUM.AngularSupport=function(){function g(a,c){a=a||{};for(var b in c)"[object object]"===Object.prototype.toString.call(c[b])?a[b]=g(a[b],c[b]):a[b]=c[b];return a}var d,f,b={coreModule:"li.community",coreModuleDeps:[],noConflict:!0,bootstrapElementSelector:".lia-page .min-width .lia-content",bootstrapApp:!0,debugEnabled:!1,useCsp:!0,useNg2:!1},k=function(){var a;return function(b){a||(a=document.createElement("a"));a.href=b;return a.href}}();LITHIUM.Angular={};return{preventGlobals:LITHIUM.Globals.preventGlobals, restoreGlobals:LITHIUM.Globals.restoreGlobals,init:function(){var a=[],c=document.querySelector(b.bootstrapElementSelector);a.push(b.coreModule);b.customerModules&&0

Welcome to the

Google Cloud Communities

Meet industry peers, ask questions, collaborate to find answers, and connect with Googlers who are making the products you use every day.

  • 260K Members
  • 16.9K Online
  • 26.8K Solutions
Google Cloud
Find answers, ask questions, and connect with Google Cloud experts.
Google Workspace
Find answers, ask questions, and connect with Google Workspace experts.
AppSheet
The official forum for Q&A about creating applications with AppSheet.
Looker & Looker Studio
The place for data-driven discussion and all your Looker questions, answers, and excitement.
Google Cloud Security
The place to connect with Google Cloud Security users and security practitioners from around the world.
Learning&Certification
Share best practices around preparing for certification and network with others on your path.

Join now and collaborate with the community to solve your toughest business challenges.

Sign in to Start a Topic

Articles from Product Experts and Googlers

Google Cloud Community

Empowering conversational interfaces with BigQuery analytics

In our previous blog posts (1, 2, 3 and 4), we explored how Agent Builder can intelligently answer questions from BigQuery and unstructured data stores via chat or search bot. However, things get trickier when we need to address analytical queries that involve aggregations, comparisons, and more complex conditions.

Google Workspace Community

Architecture Framework Community