Colunas calculadas no SharePoint | Uma visão geral
Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.
Neste blog, discutiremos algumas expressões de tabela comuns, também conhecidas como CTEs . Se você encontrar problemas complexos, usar essas expressões de tabela SQL pode ajudá-lo.
Com o CTE , você pode dividir qualquer tarefa em consultas pequenas e gerenciáveis para resolver problemas complicados.
Agora vamos explorar como o CTE pode tornar seu trabalho mais eficiente na solução de problemas de códigos.
Índice
Sintaxe para criar expressões de tabela SQL comuns
Primeiro, você deve digitar “ WITH ” seguido do nome da sua expressão CTE , seguido de “ AS ”.
Depois disso, você pode fornecer qualquer consulta entre parênteses. Isso será armazenado no nome da expressão fornecida que funcionará como uma tabela virtual.
Em seguida, adicione uma instrução SELECT usando a tabela virtual que você criou por meio do nome da expressão que você definiu.
Para o nosso exemplo, usaremos “ USACusts ” para o nome da Expressão .
E para a consulta, usaremos este código.
Esta consulta criará uma tabela virtual. Ele mostrará um valor total ou agregado agrupado por ID do cliente, onde o país ao qual ele pertence é “ EUA ”. Os dados serão extraídos da tabela Sales.Customers .
Duas colunas estarão visíveis, que são custid e Agg_Amount . Observe que a tabela USACusts não é uma tabela física , mas apenas uma tabela virtual. Isso significa que não ficará visível em nosso banco de dados.
Após a consulta, podemos adicionar uma instrução SELECT .
Esta instrução selecionará todos os Agg_Amount maiores que 1000 da tabela USACusts .
Múltiplas expressões de tabela SQL comuns
Vários CTEs podem ajudá-lo a resolver erros complexos em seu código, dividindo-os em partes menores. Além disso, você pode definir quantos CTEs desejar. Abaixo está um exemplo de vários CTEs .
Para este exemplo, temos o primeiro CTE que é C1 . A partir daí, selecionamos YEAR(orderdate) e criamos 2 colunas que são orderyear e custid da tabela Sales.Orders .
Para o segundo CTE denominado C2 , selecionamos orderyear e reunimos o número de custid usando o comando COUNT . Em seguida, o nomeamos como numcusts de C1 . Uma condição WHERE também foi adicionada em C2 para selecionar apenas o ano de pedido maior que 2015 . Em seguida, os agrupamos por ano de pedido .
Depois disso, selecionamos orderyear e numcusts de C2 . Em seguida, adicionamos uma condição WHERE para selecionar apenas o número de clientes maior que 500 .
Resumindo, este código é usado para selecionar clientes cujo ano de pedido é maior que 2015 e selecionar apenas o número de clientes acima de 500 com base na condição ano de pedido .
Usando Múltiplos CTEs para Resolver Códigos Complexos
A seguir, demonstrarei mais exemplos para enfatizar ainda mais o uso de CTEs na solução de problemas de um grande conjunto de dados. Aqui está outro exemplo de vários CTEs .
Observe que você pode nomear CTEs da maneira que desejar, mas para este blog, estamos usando C1 , C2 , C3 e assim por diante para identificar e entender facilmente como os utilizamos em nossos exemplos.
Voltando ao exemplo, criamos o C1 para selecionar apenas as vendas onde a quantidade do pedido for maior que 5 da tabela Sales.SalesOrderDetails .
Em seguida, em C2 , utilizamos os dados que armazenamos em C1 para unir o produto com base no Product.ID e os agrupamos por nome do produto (p.Name) e cor do produto (p.Color) .
Como declaramos uma condição em C1 , agruparemos o nome do produto e a cor do produto em C2 apenas para pedidos em que a quantidade do pedido (OrderQty) seja maior que 5 .
Depois disso, usaremos um comando para selecionar todos os dados de C2 com uma quantidade de pedido maior que 1000 .
Para fins de solução de problemas, você pode simplesmente selecionar cada um dos CTEs que criou para verificar se está mostrando os dados corretos. Consulte os exemplos abaixo.
Para C1 , está mostrando todos os dados da tabela Sales.SalesOrderDetail com uma quantidade de pedido maior que 5 .
Em seguida, C2 mostra uma saída da quantidade do pedido agrupada por nome e cor do produto de C1 . Em C2 , podemos ver a coluna orderqty , mas na verdade não temos isso em C2 porque é apenas uma coluna calculada que geramos a partir de C1 . A partir daqui, podemos começar a usar qualquer condição na coluna orderqty e executar a solução de problemas.
Portanto, agora você pode ver como vários CTEs podem nos ajudar a resolver erros em códigos complexos, armazenando-os em CTEs e iniciando a solução de problemas sem danificar o código real.
Usando CTEs com declaração de caso
Vejamos outro exemplo com o mesmo contexto para mostrar como podemos utilizar vários CTEs na solução de problemas de códigos complexos.
Nesse caso, usaremos uma instrução CASE que criará uma coluna Product Category com resultados baseados na quantidade agregada de orderqty de C2 .
Conforme mencionado anteriormente, não tínhamos o qty do pedido no primeiro CTE , bem como a Categoria do Produto , mas utilizamos tabelas intermediárias para calcular e realizar cálculos diferentes.
No próximo exemplo, criaremos um valor agregado com base na categoria de produto que criamos no exemplo anterior. Mas, para fazer isso, colocaremos a instrução CASE para a categoria do produto no terceiro CTE , que é C3 .
Antes de prosseguir, vamos verificar a saída de C3 adicionando “ SELECT * FROM C3 ” abaixo de C3 .
Em C3, podemos ver as colunas ProductName , Color , orderqty e Product Category . A partir daqui, podemos começar a agregar com base na categoria do produto . Vamos fazer isso usando o seguinte comando abaixo de C3 .
O exemplo abaixo é o resultado após criar um valor agregado usando o comando acima.
Inicialmente, não tínhamos as colunas Product Category e orderqty , mas podemos gerar saídas de amostra com base nessas colunas utilizando vários CTEs .
Neste ponto, você pode ver que podemos fazer qualquer coisa com a ajuda dos CTEs para trabalhar com nossos códigos de maneira mais eficiente.
Tabelas e exibições temporárias SQL para filtro de usuário do LuckyTemplates
em SQL usando IN, NOT IN, LIKE e NOT LIKE
Extração de dados SQL usando OFFSET e FETCH
Conclusão
Neste tutorial, você aprendeu a sintaxe adequada para criar Expressões de Tabela SQL Comuns e como utilizar várias CTEs na solução de problemas de códigos complexos, isolando pequenas partes de dados e armazenando-as dentro de uma determinada CTE .
Ao aprender isso, você agora tem a capacidade de depurar seus códigos com mais eficiência. Lembre-se que você pode usar qualquer nome para CTE e não pode usar ou chamar qualquer CTE a menos que seja criado. Depois de se familiarizar com o CTE , você pode se considerar um usuário intermediário do SQL .
Se você quiser saber mais sobre este tópico e outros conteúdos relacionados, certamente pode conferir a lista de links relevantes abaixo.
Tudo de bom,
Hafiz
Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.
Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates
Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.
Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.
Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.
Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.
Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.
O que é self em Python: exemplos do mundo real
Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.
Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.