Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Vou mostrar a você como adicionar um parâmetro na função M em sua consulta de tabela de datas . Este exemplo é baseado em uma questão levantada no . Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

A dúvida era como mudar a numeração do 1º dia da semana de 0 para 1 . Observe que isso não altera o início real do dia da semana. Nesta tabela de datas, o início da semana será sempre segunda-feira. Trata-se apenas de se referir à segunda-feira como o dia 1 em vez do dia 0.

Esse processo não é necessariamente complexo, mas você precisa de um entendimento básico de como a linguagem M é estruturada. Se você é um membro do LuckyTemplates, pode conferir o . A introdução toca no assunto.

Índice

A função M e a tabela de data estendida

Deixe-me começar entrando no Power Query . Já copiei a função M da tabela de datas aqui.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Eu tenho a função M da categoria M Code Showcase no Fórum LuckyTemplates . O código está no tópico .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Se eu abrir o Editor Avançado , este é o código.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Há muito código M lá, o que pode ser uma distração.

Criando uma consulta de teste

Como há muita coisa acontecendo na função M, vou começar com uma nova consulta em branco .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Vou nomear essa Consulta de Teste .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

A seguir, abrirei o Editor avançado .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Como vou criar uma função, vou adicionar um par de parênteses e deletar todo o código padrão ali contido.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Para iniciar a função, vou declarar um parâmetro opcional .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Em seguida, adicionarei uma variável. Chamarei essa variável de WDStartNum , pois representará o número inicial do dia da semana. Eu também preciso declarar seu tipo, então vou digitar number .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Estou declarando o tipo para evitar erros. Se eu deixá-lo como qualquer tipo, isso significa que ele pode passar uma tabela ou um valor de data em vez de apenas passar números.

O próximo passo é adicionar a cláusula let e a cláusula in .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Sob a cláusula let, preciso de um nome de variável. Vou chamar essa variável de WDStart .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Agora, preciso testar se o WDStartNum foi aprovado. Se passar, não será igual a null . Então vou declarar que se o WDStartNum não for igual a null, quero que seja retornado um valor .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Quanto à cláusula in, quero que a mesma etapa seja aprovada. Portanto, colocarei WDStart lá, que é o nome que demos à nossa variável anteriormente na cláusula let.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Assim que eu pressionar Concluído, a função será criada. Então, tentarei passar um valor por meio dessa função.

Vou tentar digitar a letra “a”.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Lembre-se que anteriormente declarei que o valor deve ser um número. Como reconhece que o valor inserido não atende a esse requisito, não permite que eu insira esse parâmetro.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Vou deletar isso e deixar o espaço em branco.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Depois de clicar em Invoke, ele retorna um valor de 0.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Voltando à minha consulta original, ele afirma que, se o valor não for igual a null, o WDStartNum deve ser retornado. Se for igual a nulo, um 0 deve ser retornado.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Então esse 0 está correto.

Desta vez, vou tentar passar um valor alterando o número no TestQuery. É verdade que ele retorna um “1” quando eu aperto enter.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Agora, deixe-me tentar passar de 2020 no TestQuery. Depois de apertar enter, ele também retorna 2020.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Evidentemente, não quero que isso aconteça. Como quero um valor que represente o início da semana, quero que apareça 0 ou 1. Isso significa que preciso criar outro teste para ver se o número digitado é 0 ou 1. Posso usar a função List.Contains para isso.

Usando List.Contains

Criei uma consulta em branco e inseri List.Contains sem usar parênteses.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Depois de pressionar enter, posso ver a documentação dessa função.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

List.Contains indica se a lista contém um valor.

Portanto, requer uma lista como primeiro parâmetro e, em seguida, um valor é adicionado depois disso. Se esse valor for encontrado dentro da lista, ele retornará verdadeiro. Caso contrário, retornará falso.

Vou abrir o Editor Avançado novamente para que eu possa fazer as alterações necessárias na minha consulta.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Em vez de testar se um valor não é igual a null, vou usar List.Contains .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Agora, darei uma lista de valores a serem aplicados a esta função.

Usarei colchetes como um inicializador de lista. Dentro desses colchetes, vou colocar 0, 1. Vou adicionar uma vírgula depois de fechar esse colchete.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Para o segundo parâmetro, usarei WDStartNum. Em seguida, adicionarei o parêntese de fechamento.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Com isso em vigor, significa que 0 ou 1 deve me fornecer o WDStartNumber. Se algo diferente de 0 ou 1 for colocado, devo obter um resultado de 0.

Deixe-me testar isso colocando 2020 no TestQuery. Como esperado, isso retorna um “0” (zero).

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Isso porque o valor 2020 não está na lista.

Adicionando o parâmetro à função M

Agora que tenho certeza de que o código está funcionando, posso finalmente colocá-lo dentro da tabela de datas e da função M. Vou abrir o Editor Avançado e depois vou copiar o logic .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Em seguida, entrarei na consulta da tabela de datas.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Abrirei a função M original por meio do Editor Avançado .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Então, vou colar meu código lá. Vamos garantir que haja uma vírgula no final da linha.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Em seguida, vou realçar e copiar meu parâmetro name .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Então eu vou adicionar esse parâmetro aqui .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Observe que primeiro tenho que adicionar uma vírgula ao final da linha existente e, em seguida, tenho que declarar esse parâmetro como opcional . Então posso colocar WDStartNum e adicionar o tipo .

Eu adicionei o parâmetro e também incorporei a lógica. Mas também preciso ter certeza de obter os resultados esperados. Vou procurar a linha de código que cobre o dia da semana.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Em seguida, adicionarei + WDStart .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Clicarei em Concluído para fechar o editor. Em seguida, vou invocar a consulta.

Para StartDate, colocarei 1º de janeiro de 2020 e, em seguida, usarei 31 de dezembro de 2020 como EndDate.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Usarei “7” como o mês inicial do ano fiscal e, a seguir, colocarei “0” como WDStartNum.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Vou clicar em Invocar. Agora, eu tenho a tabela de datas.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Vou renomeá-lo para garantir que possa ser facilmente identificado.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Agora, vou verificar os resultados.

Esta é a minha coluna DayOfWeek .

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Isso mostra que segunda-feira retornou como 0.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Voltando à pergunta do fórum, preciso mudar o número do início da semana para 1 ao invés de 0. Então vou mudar isso só na medida.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Quando pressiono enter, segunda-feira agora será o dia 1 em vez do dia 0.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Olhando para o intervalo de números, agora vai de 1 a 7 em vez de 0 a 6.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

O que acontece se eu passar um valor nulo?

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas

Em seguida, o DayOfWeek para segunda-feira volta para 0.

Função M para tabela de datas – como adicionar um parâmetro no editor de consultas


Usando a função M para criar uma tabela de datas estendida do LuckyTemplates
Guia para iniciantes do código M no LuckyTemplates
Configurando uma data inicial e uma data final dinâmicas para tabelas de datas do Power Query

Conclusão

É assim que você pode adicionar um parâmetro adicional diretamente na função M em sua consulta de tabela de datas. O processo não é nada complexo, como mencionei anteriormente. Contanto que você tenha uma fonte para o código M, é fácil a partir daí.

Novamente, você sempre pode conferir o curso Advanced Data Transformations & Modeling no Online se não tiver experiência em como os códigos M funcionam.

Tudo de bom,

melissa

***** Aprendendo LuckyTemplates? *****






Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

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.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

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.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

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.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

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.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

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

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

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.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.