Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

Reply
theusorla
Frequent Visitor

Dependency cycle was detected

Estou tentando salvar meu fuxo de dados porem apresenta esse erro:

 

theusorla_0-1633436669021.png

 

theusorla_1-1633436786861.png

 

 

tenhos as seguintes funções:

fn_loopChamados

 

let
  Fonte = (
     
    optional MaxPag as number,
    optional LoopsRealizados as number,
    optional TabelaAnterior as table
) =>
let
    //Cada vez que o algoritimo passar por aqui, ele incrementa +1
    Loop = 
        if LoopsRealizados = null
        then 1
        else LoopsRealizados +1,

    //tentamos buscar os dados da págia, e se der erro, carrega a varável com null
    TabelaAtual =
        try fn_ConsultaChamado(Loop) //1
        otherwise null,

    // Essa tabela será carregada a cada passagem que o Algorítimo fizer por ela
    TabelaAnterior =
        if TabelaAnterior = null //será null apenas na primeria passagem
        then Table.FromRecords({[]})
        else TabelaAnterior,

    // Aqui vamos colar cada tabela encontrada, abaixo da outra
    TabelaFim =
        if
                TabelaAtual = null
            or  Table.RowCount(TabelaAtual) = 0
        then TabelaAnterior
        else if Loop = 1
        then TabelaAtual 
        else Table.Buffer(  Table.Combine({TabelaAnterior,  TabelaAtual})),

    // Condição para voltar ao início (tipo jogo da vida) ou sair do Loop), finalizand-o
    out =
        if
                TabelaAtual = null  
            or  Table.RowCount(TabelaAtual) = 0
            or  Loop = MaxPag
        then TabelaFim
        else @FN_loopChamados(MaxPag, Loop, TabelaFim)
in
    out
in
  Fonte

 

fn_ConsultaChamado

 

let
  Fonte = (pagina as number) =>

let
  Origem = Json.Document(Web.Contents(api_TT_url_chamados & api_TT_token & "/", [RelativePath= Text.From(pagina)&"/"])),
  #"Convertido em tabela" = Table.FromRecords({Origem}),
  #"Expandido data" = Table.ExpandListColumn(#"Convertido em tabela", "data"),
  #"Expandido data1" = Table.ExpandRecordColumn(#"Expandido data", "data", {"idchamado""protocolo""titulo""mensagem""mimetype""email_cliente""prioridade""tempotrabalho""tempoabertura""data_criacao""deadline""valoritemhora""valoritemhoraextra""valorfinal""valorfinalextra""valorfinalbruto""nomecliente""tipochamado""avaliadoproblemaresolvido""avaliadoatendimento""avaliacaocomentario""dataprimeiraresposta""dataencerramento""ultimasituacao""dataultimasituacao""sla_inicio""sla_deadline""sla_inicializacao_cumprido""sla_deadline_cumprido""descsituacao""categoria""departamento""atendente""id_cliente""status""dataultimostatus""nomeorganizacao""campospersonalizados""campospersonalizados_finalizados"}, {"data.idchamado""data.protocolo""data.titulo""data.mensagem""data.mimetype""data.email_cliente""data.prioridade""data.tempotrabalho""data.tempoabertura""data.data_criacao""data.deadline""data.valoritemhora""data.valoritemhoraextra""data.valorfinal""data.valorfinalextra""data.valorfinalbruto""data.nomecliente""data.tipochamado""data.avaliadoproblemaresolvido""data.avaliadoatendimento""data.avaliacaocomentario""data.dataprimeiraresposta""data.dataencerramento""data.ultimasituacao""data.dataultimasituacao""data.sla_inicio""data.sla_deadline""data.sla_inicializacao_cumprido""data.sla_deadline_cumprido""data.descsituacao""data.categoria""data.departamento""data.atendente""data.id_cliente""data.status""data.dataultimostatus""data.nomeorganizacao""data.campospersonalizados""data.campospersonalizados_finalizados"}),
  #"Tipo de coluna alterado" = Table.TransformColumnTypes(#"Expandido data1", {{"erro"type logical}, {"data.idchamado"type text}, {"data.protocolo", Int64.Type}, {"data.titulo"type text}, {"data.mensagem"type text}, {"data.mimetype"type text}, {"data.email_cliente"type text}, {"data.prioridade", Int64.Type}, {"data.tempotrabalho", Int64.Type}, {"data.tempoabertura", Int64.Type}, {"data.data_criacao"type datetime}, {"data.deadline"type datetime}, {"data.valoritemhora", Int64.Type}, {"data.valoritemhoraextra", Int64.Type}, {"data.valorfinal", Int64.Type}, {"data.valorfinalextra", Int64.Type}, {"data.valorfinalbruto", Int64.Type}, {"data.nomecliente"type text}, {"data.tipochamado"type text}, {"data.avaliadoproblemaresolvido"type text}, {"data.avaliadoatendimento"type text}, {"data.avaliacaocomentario"type text}, {"data.dataprimeiraresposta"type datetime}, {"data.dataencerramento"type datetime}, {"data.ultimasituacao", Int64.Type}, {"data.dataultimasituacao"type datetime}, {"data.sla_inicio"type datetime}, {"data.sla_deadline"type datetime}, {"data.sla_inicializacao_cumprido"type logical}, {"data.sla_deadline_cumprido"type logical}, {"data.descsituacao"type text}, {"data.categoria"type text}, {"data.departamento"type text}, {"data.atendente"type text}, {"data.id_cliente"type any}, {"data.status"type text}, {"data.dataultimostatus"type datetime}, {"data.nomeorganizacao"type text}, {"data.campospersonalizados"type any}, {"data.campospersonalizados_finalizados"type any}, {"total_itens", Int64.Type}}),
  #"Transformar colunas" = Table.TransformColumnTypes(#"Tipo de coluna alterado", {{"data.id_cliente"type text}, {"data.campospersonalizados"type text}, {"data.campospersonalizados_finalizados"type text}}),
  #"Substituir erros" = Table.ReplaceErrorValues(#"Transformar colunas", {{"data.id_cliente"null}, {"data.campospersonalizados"null}, {"data.campospersonalizados_finalizados"null}})
in
  #"Substituir erros"
in
  Fonte
 
 
 
 
E a tabela fazendo a chamada da função:
 
Função invocada
 
let
  Origem = fn_loopChamados(2nullnull)
in
  Origem
 
 

 

 

1 REPLY 1
lbendlin
Super User
Super User

Your two functions call each other.

 

...
    TabelaAtual =
        try fn_ConsultaChamado(Loop) //1
        otherwise null,
...

Alsio note that Power Query uses List.Generate or recursive function calls to do "looping".  You can refactor your query accordingly to avoid the circular dependency.

Helpful resources

Announcements
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

February 2024 Update Carousel

Power BI Monthly Update - February 2024

Check out the February 2024 Power BI update to learn about new features.

Fabric Career Hub

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Fabric Partner Community

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Top Solution Authors