Alunos wesleirocha84 Postado Fevereiro 2, 2023 Alunos Compartilhar Postado Fevereiro 2, 2023 Prezados boa noite, para eu entender o conceito e a forma correta de montar uma função, poderiam me ajudar com o erro ? Obrigado. Se eu chamo a função direto na função, o resultado é o esperado: se eu chamo a função por dentro da tabela, dá erro, até tentei tratar o erro adicionando uma outra coluna, mas não deu certo, creio que seja algo bem simples. Erro.pbix Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Solução wesleirocha84 Postado Fevereiro 4, 2023 Autor Alunos Solução Compartilhar Postado Fevereiro 4, 2023 50 minutos atrás, wesleirocha84 disse: Bom dia, seguindo esse raciocínio, consegui resolver alterando CONTENT para VALUE, acabou gerando mais uma etapa, mas vou quebrar a cabeça aqui. Valeu. Cheguei no resultado que eu queria, troquei (TABELA as table, DELIMITER as text, ENCODING as text) => let Fonte = TABELA, #"Personalização Adicionada" = Table.AddColumn(Fonte, "Personalizar", each Csv.Document([Content],[Delimiter=DELIMITER, Encoding=ENCODING, QuoteStyle=QuoteStyle.None])) in #"Personalização Adicionada" por = (TABELA as any, DELIMITER as text, ENCODING as text) => let Fonte = TABELA, #"Personalização Adicionada" = Csv.Document(TABELA,[Delimiter=DELIMITER, Encoding=ENCODING, QuoteStyle=QuoteStyle.None]) in #"Personalização Adicionada" Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Vitor Peralva Postado Fevereiro 2, 2023 Alunos Compartilhar Postado Fevereiro 2, 2023 Olá, @wesleirocha84! Numa rápida olhada, o erro está acontecendo porque você está indicando no parâmetro que a função deve receber uma tabela (TABELA as table). Na terceira etapa, Função Personalizada Invocada, o problema é que você está tentando tratar um texto como tabela. Já na quinta etapa, Função Personalizada Invocada1, o problema é que da forma que você escreveu a função, ele pegaria a tabela e aplicaria o Csv.Document na coluna Content, daí o erro que é apresentado. Se você quer simplesmente dividir um texto por delimitador, existe uma função própria para isto. Espero ter ajudado. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos wesleirocha84 Postado Fevereiro 3, 2023 Autor Alunos Compartilhar Postado Fevereiro 3, 2023 13 horas atrás, Vitor Peralva disse: Olá, @wesleirocha84! Numa rápida olhada, o erro está acontecendo porque você está indicando no parâmetro que a função deve receber uma tabela (TABELA as table). Na terceira etapa, Função Personalizada Invocada, o problema é que você está tentando tratar um texto como tabela. Já na quinta etapa, Função Personalizada Invocada1, o problema é que da forma que você escreveu a função, ele pegaria a tabela e aplicaria o Csv.Document na coluna Content, daí o erro que é apresentado. Se você quer simplesmente dividir um texto por delimitador, existe uma função própria para isto. Espero ter ajudado. Bom dia, valeu pelo retorno, vamos lá. Em relação ao parâmetro ser tabela, já tinha colocado ele como opcional (sem o "as") e não foi; O da terceira etapa, tentei resolver transformando o texto em tabela (print3) e não resolveu; A quinta etapa, estou apontando pra coluna (coluna 4) que transformei o texto em tabela; Não é o caso de dividir não, montei ela só pra aprendizado mesmo, para entender o conceito, porque chamando por fora da tabela vai e se chamar por dentro não vai, memo transformando os valores em tabela. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Vitor Peralva Postado Fevereiro 3, 2023 Alunos Compartilhar Postado Fevereiro 3, 2023 1 hora atrás, wesleirocha84 disse: Bom dia, valeu pelo retorno, vamos lá. Em relação ao parâmetro ser tabela, já tinha colocado ele como opcional (sem o "as") e não foi; O da terceira etapa, tentei resolver transformando o texto em tabela (print3) e não resolveu; A quinta etapa, estou apontando pra coluna (coluna 4) que transformei o texto em tabela; Não é o caso de dividir não, montei ela só pra aprendizado mesmo, para entender o conceito, porque chamando por fora da tabela vai e se chamar por dentro não vai, memo transformando os valores em tabela. Ainda que não indique o tipo de dados que pode receber no argumento, indiretamente você informa no seu código: (TABELA as table, DELIMITER as text, ENCODING as text) => let Fonte = TABELA, #"Personalização Adicionada" = Table.AddColumn(Fonte, "Personalizar", each Csv.Document([Content],[Delimiter=DELIMITER, Encoding=ENCODING, QuoteStyle=QuoteStyle.None])) in #"Personalização Adicionada" Quando você usa a função Table.AddColumn, você está informando que ela vai receber uma tabela, que se encontra na etapa fonte, que é alimentada pelo argumento tabela. Sendo assim, não basta não indicar que não é tabela. Na verdade, você precisa definir o que vai tratar, pq as funções a serem aplicadas dependem, fundamentalmente, do que você indicar. Sobre o transformar em tabela, como destaquei, a sua função diz para pegar a coluna CONTENT e aplicar a função, qualquer tabela que não tenha a coluna CONTENT vai dar erro. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos wesleirocha84 Postado Fevereiro 4, 2023 Autor Alunos Compartilhar Postado Fevereiro 4, 2023 23 horas atrás, Vitor Peralva disse: Ainda que não indique o tipo de dados que pode receber no argumento, indiretamente você informa no seu código: (TABELA as table, DELIMITER as text, ENCODING as text) => let Fonte = TABELA, #"Personalização Adicionada" = Table.AddColumn(Fonte, "Personalizar", each Csv.Document([Content],[Delimiter=DELIMITER, Encoding=ENCODING, QuoteStyle=QuoteStyle.None])) in #"Personalização Adicionada" Quando você usa a função Table.AddColumn, você está informando que ela vai receber uma tabela, que se encontra na etapa fonte, que é alimentada pelo argumento tabela. Sendo assim, não basta não indicar que não é tabela. Na verdade, você precisa definir o que vai tratar, pq as funções a serem aplicadas dependem, fundamentalmente, do que você indicar. Sobre o transformar em tabela, como destaquei, a sua função diz para pegar a coluna CONTENT e aplicar a função, qualquer tabela que não tenha a coluna CONTENT vai dar erro. Bom dia, seguindo esse raciocínio, consegui resolver alterando CONTENT para VALUE, acabou gerando mais uma etapa, mas vou quebrar a cabeça aqui. Valeu. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
wesleirocha84
Prezados boa noite, para eu entender o conceito e a forma correta de montar uma função, poderiam me ajudar com o erro ? Obrigado.
Se eu chamo a função direto na função, o resultado é o esperado:
se eu chamo a função por dentro da tabela, dá erro,
até tentei tratar o erro adicionando uma outra coluna, mas não deu certo, creio que seja algo bem simples.
Erro.pbix
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Faça login para comentar
Você vai ser capaz de deixar um comentário após fazer o login
Entrar Agora