Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Como regra geral no SQL e, por extensão, no Looker, não é possível agrupar uma consulta pelos resultados de uma função de agregação (representada no Looker como medidas).
Só é possível agrupar por campos não agregados (representados no Looker como dimensões).
Se você tentar agregar uma medida no Looker, vai aparecer o seguinte erro:
Measures with Looker aggregations (sum, average, min, max, list types) may not reference other measures.
E se você precisar mudar uma medida (COUNT, SUM, AVG, MAX etc.) para uma dimensão, para que possa agrupar e agregar (como uma soma de uma contagem ou uma média de uma soma), filtrar (na cláusula WHERE, em vez de uma cláusula HAVING) ou pivotar em uma Análise detalhada?
Usar tabelas derivadas para dimensionar uma medida
Internamente, no Looker, a solução é chamada de dimensionalização de uma medida. Isso ocorre porque você redefine uma medida como uma dimensão. Isso é feito criando uma tabela derivada que inclui a medida que você quer dimensionar na definição SQL.
O processo
O exemplo a seguir é baseado em um conjunto de dados de e-commerce. O objetivo deste exemplo é criar uma métrica type: average com base em uma métrica Receita totaltype: sum.
As etapas a seguir descrevem como gerar uma tabela derivada baseada em SQL. Você pode criar uma tabela derivada com base no LookML, também conhecida como tabela derivada nativa (NDT), como uma alternativa ao SQL.
Comece configurando uma consulta da seção "Explorar".
Escolha os campos apropriados, incluindo a medida que você quer dimensionar.
No exemplo de caso de uso, a tabela Dados da Análise detalhada mostra a Receita total agrupada por Estado dos usuários e ID dos usuários:
Escolha Open in SQL Runner
na guia SQL na tabela Data para abrir a consulta no SQL Runner:
Depois de executar a consulta no SQL Runner (clicando no botão Run) e confirmar os resultados,
escolha a opção Add to Project no menu de engrenagem do SQL Runner para abrir o pop-up Add to Project. Neste ponto, é necessário remover qualquer cláusula de limite de linha no SQL da tabela derivada para garantir que todos os resultados desejados sejam incluídos na consulta.
No pop-up Adicionar ao projeto, selecione um nome de projeto no menu suspenso Projeto,
insira um nome para o arquivo de visualização de tabela derivada e selecione Adicionar.
Agora que a tabela derivada está em um arquivo de visualização, é possível criar uma medida que agrega a medida dimensional. Por exemplo, agora é possível criar uma métrica type: average para a nova dimensão de receita total, order_items_total_revenue:
Verifique se uma chave primária está definida na tabela derivada.
Junte
a nova visualização à Análise original (ou crie uma nova) para poder criar consultas
e conteúdo com os novos campos.
Conclusão
A dimensionalização de medidas com tabelas derivadas do Looker desbloqueia novos recursos
e permite gerar mais insights com seus dados. Com a capacidade de agrupar por uma medida dimensional, filtrar por ela em uma cláusula WHERE (em vez de HAVING), girar e criar outras dimensões com base nela, você pode levar suas consultas e conteúdo do Google Analytics for Search Console para a próxima dimensão.
Acesse a página de documentação Tabelas derivadas para mais informações sobre como criar e usar tabelas derivadas, além de considerações e dicas de otimização de desempenho.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-30 UTC."],[],[],null,["# How to dimensionalize a measure in Looker\n\nAs a general rule in SQL --- and, by extension, Looker --- you cannot group a query by\nthe results of an aggregate function\n(represented in Looker as [measures](/looker/docs/reference/param-field-measure)).\nYou can only group by unaggregated fields (represented in Looker as [dimensions](/looker/docs/reference/param-field-dimension)).\nIf you try to aggregate a measure in Looker, you will see the following\n[error](/looker/docs/best-practices/error-measures-with-looker-aggregations-reference-other-aggregations): \n\n```\nMeasures with Looker aggregations (sum, average, min, max, list types) may not reference other measures.\n```\n\n\nWhat if you need a way to change a measure (COUNT, SUM, AVG, MAX, etc.) into\na dimension, so that you can group by it to aggregate it (like a SUM of a COUNT or an AVG of a SUM),\n[filter](/looker/docs/filtering-and-limiting) by it (in the WHERE clause rather than a\n[HAVING](/looker/docs/filtering-and-limiting#filtering_measures:_calculates_first,_then_restricts_the_results) clause), or\n[pivot](/looker/docs/creating-and-editing-explores#pivoting_dimensions) on it in an Explore?\n\nUsing derived tables to dimensionalize a measure\n------------------------------------------------\n\n\nInternally at Looker the solution is called *dimensionalizing a measure* . This\nis because you redefine a measure as a*dimension* . This\nis accomplished by creating a\n[derived table](/looker/docs/derived-tables)\nthat includes the measure you want to dimensionalize in its SQL\ndefinition.\n\n### The process\n\n\nThe following example is based on a sample e-commerce dataset. The goal for this example is\nto create an [`type: average`](/looker/docs/reference/param-measure-types#average) measure that is based on an existing **Total Revenue** [`type: sum`](/looker/docs/reference/param-measure-types#sum) measure.\n\u003e *The following steps outline how to generate a SQL-based derived table. You can elect to create a LookML-based derived table, also known as a [native derived table (NDT)](/looker/docs/creating-ndts), as an alternative to SQL.*\n\n1. Start by setting up an [Explore query](/looker/docs/creating-and-editing-explores). Choose the appropriate fields, including the measure you want to dimensionalize.\n\n \u003cbr /\u003e\n\n In the example use case, the Explore **Data** table features **Total Revenue** grouped by **Users State** and **Users ID** :\n\n \u003cbr /\u003e\n\n2. Choose **Open in SQL Runner** from the **SQL** tab in the **Data** table to open the query in [SQL Runner](/looker/docs/sql-runner-basics):\n\n \u003cbr /\u003e\n\n3. After running the query in SQL Runner (by clicking the **Run** button) and confirming the results, choose the [**Add to Project**](/looker/docs/sql-runner-create-derived-tables#adding_to_a_lookml_project) option from the SQL Runner gear menu to open the **Add to Project** pop-up. *At this point you need to remove any row limit clause in the derived\n table SQL to ensure that all desired results are included in the query.*\n\n \u003cbr /\u003e\n\n \u003e *You can also choose [**Get Derived Table LookML**](/looker/docs/sql-runner-create-derived-tables#getting_the_lookml_for_a_derived_table) from the menu to copy and paste the generated LookML into your project manually.*\n4. From the **Add to Project** pop-up, select a project name from the **Project** drop-down, enter a name for your derived table view file, and select **Add**.\n5. Now that the derived table is in a view file, you can create a measure that aggregates the dimensionalized measure. For example, you can now create a `type: average` measure for the new total revenue dimension, `order_items_total_revenue`: \n\n ```\n dimension: order_items_total_revenue {\n type: number\n sql: ${TABLE}.order_items.total_revenue ;;\n value_format_name: usd\n }\n\n measure: average_revenue {\n type: average\n sql: ${order_items_total_revenue} ;;\n value_format_name: usd\n }\n \n ```\n6. Double-check that a [primary key](/looker/docs/reference/param-field-primary-key) is defined in the derived table.\n7. [Join](/looker/docs/reference/param-explore-join) the new view into the original Explore (or create a new Explore) to be able to create queries and content with the new fields.\n\nConclusion\n----------\n\n\nDimensionalizing measures with Looker derived tables unlocks new capabilities\nand provides the power to make further insights with your data. With the ability\nto **group by**a dimensionalized measure, filter by it\nin a WHERE clause (instead of HAVING), pivot on it, and create other dimensions\nbased on it, you can take your Explore queries, and content, to the next dimension.\n\n\nVisit the [Derived tables](/looker/docs/derived-tables) documentation page for more information about creating and using derived tables, along with considerations and performance optimization tips."]]