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.
Vou mostrar a você como transformar um código M para uma tabela de datas em uma consulta de tabela. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.
Eu consideraria o nível de dificuldade deste tutorial como intermediário porque se você tiver alguma experiência com códigos M, seria fácil para você acompanhar. Se você não tem nenhuma experiência relacionada, sugiro que você examine os códigos M primeiro para facilitar a compreensão dos conceitos apresentados aqui.
Índice
Consulta de função invocada e consulta de tabela de data
Esta é a consulta da tabela de datas e a consulta da função invocada.
Se você observar o painel Etapas aplicadas à direita, verá que há apenas uma etapa. Ele mostra a origem dessa consulta.
Portanto, se você quiser desenvolver o código M para esta tabela de datas, terá que alternar entre a função e a consulta da tabela para ver as alterações aplicadas.
Isso significa que é mais complicado lidar com erros causados por qualquer uma de suas alterações. Isso levará a um erro na própria consulta da tabela e, em seguida, você terá que pesquisar as linhas de código para corrigir o erro.
A próxima página mostra a consulta de data retornando uma tabela em vez de uma função.
Observando as Etapas aplicadas à direita, você verá que há várias etapas listadas desta vez.
Isso significa que, à medida que você desenvolve o código M da tabela de datas, verá imediatamente os resultados de suas alterações nessa consulta de tabela.
Mais importante, sempre que sua alteração resultar em um erro, você poderá identificar facilmente a etapa que causou o erro. Isso facilita a resolução do problema.
Aplicando o Código M
O código M da tabela de datas pode ser encontrado no Fórum LuckyTemplates. Está sob o tópico Extended Data Table Power Query M Function dentro do M Code Showcase.
O código M está todo no topo. Vou destacar o código inteiro e copiá-lo.
Em seguida, criarei uma nova consulta em branco.
Vou abrir meu Editor Avançado e colar esse código.
Como vejo que nenhum erro foi detectado, clicarei em Concluído.
Deixe-me renomear isso e chamá-lo de Datas.
Essa consulta retorna uma função, mas o que eu quero é uma tabela.
Para fazer as alterações necessárias, voltarei ao Editor Avançado.
Convertendo a função em uma tabela
Para fazer isso retornar uma tabela em vez de uma função, eu precisaria fazer algumas alterações no código M no Editor Avançado.
Olhando para o código M, posso ver facilmente pelo menos dois ambientes com base no número de instruções let.
Cada instrução let tem sua própria cláusula in, que pode ser encontrada na parte inferior.
Você pode pensar que seria mais fácil simplesmente deletar esta última cláusula in para transformá-la em uma tabela.
Mas eu não vou fazer isso. Em vez disso, vou comentar isso adicionando duas barras antes da última cláusula in.
Também farei isso para a primeira instrução let. Isso o torna inativo.
Abaixo da instrução let interna, criarei uma seção para declarar meus parâmetros porque ainda preciso passar esses parâmetros para este código.
Vou marcar onde essas variáveis devem ser declaradas.
Agora vou copiar a primeira variável da instrução let externa e colá-la no espaço.
No meu conjunto de dados, os dados históricos não vão além de 2017. Portanto, para passar o valor para a variável StartDate, posso usar a data intrínseca. Vou colocar o dia 1º de janeiro, depois termino a linha com uma vírgula.
Em seguida, copiarei e colarei a próxima variável, que é EndDate.
Eu sei que o EndDate exigiria previsão. É por isso que quero que este EndDate seja sempre o final do próximo ano.
Eu já tenho uma variável dentro do meu código M para CurrentDate, então vou referenciar isso.
Mais uma vez, usarei a data intrínseca. Extrairei Date.Year e usarei CurrentDate como o valor de ano +1. Eu também quero que a data seja 31 de dezembro.
Mais uma vez, estou terminando essa linha com uma vírgula.
A próxima variável é um parâmetro opcional chamado FYStartMonth.
Então, vou apenas copiar esse nome e colá-lo.
Observe que um sublinhado vermelho apareceu sob o FYStartMonth abaixo da variável que acabei de colar.
Isso ocorre porque seus nomes combinam. Não era um problema quando eles estavam em ambientes separados. Mas nomes de variáveis dentro de um único ambiente devem ser únicos. Isso significa que preciso alterar o nome da nova variável que acabei de colar.
Em vez de chamá-lo de FYStartMonth, vou chamá-lo de FYStartMonthNum.
Não vou atribuir um valor para essa variável, então vou apenas colocar null.
Como alterei o nome da variável, também preciso alterar o nome sempre que esse parâmetro foi referenciado.
Voltando à variável, fecharei essa linha adicionando uma vírgula no final.
O próximo parâmetro é a lista opcional de Feriados. Vou copiar e colar isso também e também declará-lo nulo.
A mesma coisa vale para o WDStartNum. Vou copiá-lo e colá-lo e declará-lo como nulo.
Para marcar onde começa o código da tabela de datas, adicionarei outro comentário aqui.
Depois de pressionar Concluído, você verá que a consulta agora retorna o tipo correto.
Agora tenho uma tabela em vez de uma função.
Dentro do painel Applied Steps, também posso ver todas as etapas que compõem a consulta.
Se eu quiser fazer alguma alteração na tabela de datas, é fácil usar a faixa de opções para modificar ou adicionar etapas. Para cada alteração que faço, também vejo os resultados na consulta imediatamente.
Transformando a consulta de tabela de volta em uma função
Digamos que eu queira transformar a consulta da tabela de datas de volta em uma função. É apenas uma questão de ajustar algumas coisas no código M para reverter as alterações que fiz anteriormente.
Voltarei ao Editor avançado e removerei as barras antes da instrução let externa.
A seguir, removerei as barras antes das instruções in.
Em seguida, comentarei o bloco de variáveis que adicionei anteriormente. Vou adicionar uma barra e um asterisco aqui.
Em seguida, um asterisco e uma barra após o bloco variável.
Lembra quando mudei esta linha de código anteriormente por causa do FYStartMonthNum?
Vou copiar essa linha de código. Em seguida, adicionarei uma nova linha e a colarei.
Vou cortar o primeiro (que é onde fiz as alterações no nome da variável anteriormente).
Então, no segundo, encontrarei os nomes das variáveis editadas.
E vou transformá-los de volta em FYStartMonth.
Depois de pressionar Concluído, a consulta da tabela se transformará novamente em uma função.
Criando uma tabela de consulta de data dinâmica no LuckyTemplates: um tutorial do editor de consultas
Criando uma tabela de datas no LuckyTemplates
Configurando uma data inicial e uma data final dinâmicas para tabelas de datas do Power Query
Conclusão
Mais uma vez, mostrei como os códigos M são convenientes, especialmente em casos como esses em que convertemos uma função em uma consulta de tabela e vice-versa. Contanto que você tenha acesso ao código M que temos no Fórum LuckyTemplates, você pode usá-lo em cenários como esses no futuro.
Você também pode navegar por outros códigos M que pode usar em outras situações no M Code Showcase no . É uma comunidade colaborativa, então você pode ler os comentários para outras ideias de nossos especialistas e membros.
Tudo de bom,
melissa
***** Aprendendo LuckyTemplates? *****
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.