<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Getting data from API with loop on text link in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Getting-data-from-API-with-loop-on-text-link/m-p/1490394#M26442</link>
    <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sorry about my poor profficiency, I'm brazilian and starting with dev on PBI.&lt;/P&gt;&lt;P&gt;I created this query to get data from API. The link used contains the exclusive "data" information, that is, I can only bring one day at a time, then create the date variable, so that the query returns the full month.&lt;/P&gt;&lt;P&gt;It happens that some dates are out of data, returning "0" in the "detalhes"(details) field (), causing an error in the entire query because that day is null.&lt;/P&gt;&lt;P&gt;What can I do so that when consulting, if the value of "details" returns "0", query proceeds to the next one?&lt;/P&gt;&lt;P&gt;This is the variable:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;(mes as text) =&amp;gt; 

let
    Fonte = Json.Document(Web.Contents("https://blablabla.com.br/servicos/operacional/estacionamento/2/"&amp;amp; (mes) &amp;amp;"/entrada/?detalhe=true"), 20127),
    #"Convertido para Tabela" = Record.ToTable(Fonte),
    Value = #"Convertido para Tabela"{1}[Value],
    carro = Value[carro],
    detalhes = carro[detalhes],
    #"Convertido para Tabela1" = Table.FromList(detalhes, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Column1 Expandido" = Table.ExpandRecordColumn(#"Convertido para Tabela1", "Column1", {"codigo", "descricao", "data", "ticket", "mensal", "terminal", "setor", "tipoVeiculo", "tipoServico", "placa"}, {"Column1.codigo", "Column1.descricao", "Column1.data", "Column1.ticket", "Column1.mensal", "Column1.terminal", "Column1.setor", "Column1.tipoVeiculo", "Column1.tipoServico", "Column1.placa"}),
    #"Column1.terminal Expandido" = Table.ExpandRecordColumn(#"Column1 Expandido", "Column1.terminal", {"codigo", "tipo"}, {"Column1.terminal.codigo", "Column1.terminal.tipo"}),
    #"Column1.setor Expandido" = Table.ExpandRecordColumn(#"Column1.terminal Expandido", "Column1.setor", {"codigo", "descricao"}, {"Column1.setor.codigo", "Column1.setor.descricao"}),
    #"Column1.tipoVeiculo Expandido" = Table.ExpandRecordColumn(#"Column1.setor Expandido", "Column1.tipoVeiculo", {"descricao"}, {"Column1.tipoVeiculo.descricao"}),
    #"Column1.tipoServico Expandido" = Table.ExpandRecordColumn(#"Column1.tipoVeiculo Expandido", "Column1.tipoServico", {"descricao"}, {"Column1.tipoServico.descricao"})
in
    #"Column1.tipoServico Expandido"&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the Loop:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;let
    Fonte = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwtDQ0MrJUitWBcYwNkDmGSrGxAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Coluna 1" = _t]),
    #"Tipo Alterado" = Table.TransformColumnTypes(Fonte,{{"Coluna 1", type text}}),
    #"Função Personalizada Invocada" = Table.AddColumn(#"Tipo Alterado", "Carro", each Carro([Coluna 1])),
    #"Carro Expandido" = Table.ExpandTableColumn(#"Função Personalizada Invocada", "Carro", {"Column1.codigo", "Column1.descricao", "Column1.data", "Column1.ticket", "Column1.mensal", "Column1.terminal.codigo", "Column1.setor.codigo", "Column1.setor.descricao", "Column1.tipoVeiculo.descricao", "Column1.placa"}, {"Carro.Column1.codigo", "Carro.Column1.descricao", "Carro.Column1.data", "Carro.Column1.ticket", "Carro.Column1.mensal", "Carro.Column1.terminal.codigo", "Carro.Column1.setor.codigo", "Carro.Column1.setor.descricao", "Carro.Column1.tipoVeiculo.descricao", "Carro.Column1.placa"})
in
    #"Carro Expandido"&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How it happens:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 598px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/395453i8D0276F26FFEA515/image-dimensions/598x226?v=v2" width="598" height="226" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Anyway, tks for help.&lt;/P&gt;</description>
    <pubDate>Thu, 12 Nov 2020 15:58:23 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2020-11-12T15:58:23Z</dc:date>
    <item>
      <title>Getting data from API with loop on text link</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Getting-data-from-API-with-loop-on-text-link/m-p/1490394#M26442</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sorry about my poor profficiency, I'm brazilian and starting with dev on PBI.&lt;/P&gt;&lt;P&gt;I created this query to get data from API. The link used contains the exclusive "data" information, that is, I can only bring one day at a time, then create the date variable, so that the query returns the full month.&lt;/P&gt;&lt;P&gt;It happens that some dates are out of data, returning "0" in the "detalhes"(details) field (), causing an error in the entire query because that day is null.&lt;/P&gt;&lt;P&gt;What can I do so that when consulting, if the value of "details" returns "0", query proceeds to the next one?&lt;/P&gt;&lt;P&gt;This is the variable:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;(mes as text) =&amp;gt; 

let
    Fonte = Json.Document(Web.Contents("https://blablabla.com.br/servicos/operacional/estacionamento/2/"&amp;amp; (mes) &amp;amp;"/entrada/?detalhe=true"), 20127),
    #"Convertido para Tabela" = Record.ToTable(Fonte),
    Value = #"Convertido para Tabela"{1}[Value],
    carro = Value[carro],
    detalhes = carro[detalhes],
    #"Convertido para Tabela1" = Table.FromList(detalhes, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Column1 Expandido" = Table.ExpandRecordColumn(#"Convertido para Tabela1", "Column1", {"codigo", "descricao", "data", "ticket", "mensal", "terminal", "setor", "tipoVeiculo", "tipoServico", "placa"}, {"Column1.codigo", "Column1.descricao", "Column1.data", "Column1.ticket", "Column1.mensal", "Column1.terminal", "Column1.setor", "Column1.tipoVeiculo", "Column1.tipoServico", "Column1.placa"}),
    #"Column1.terminal Expandido" = Table.ExpandRecordColumn(#"Column1 Expandido", "Column1.terminal", {"codigo", "tipo"}, {"Column1.terminal.codigo", "Column1.terminal.tipo"}),
    #"Column1.setor Expandido" = Table.ExpandRecordColumn(#"Column1.terminal Expandido", "Column1.setor", {"codigo", "descricao"}, {"Column1.setor.codigo", "Column1.setor.descricao"}),
    #"Column1.tipoVeiculo Expandido" = Table.ExpandRecordColumn(#"Column1.setor Expandido", "Column1.tipoVeiculo", {"descricao"}, {"Column1.tipoVeiculo.descricao"}),
    #"Column1.tipoServico Expandido" = Table.ExpandRecordColumn(#"Column1.tipoVeiculo Expandido", "Column1.tipoServico", {"descricao"}, {"Column1.tipoServico.descricao"})
in
    #"Column1.tipoServico Expandido"&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the Loop:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;let
    Fonte = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwtDQ0MrJUitWBcYwNkDmGSrGxAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Coluna 1" = _t]),
    #"Tipo Alterado" = Table.TransformColumnTypes(Fonte,{{"Coluna 1", type text}}),
    #"Função Personalizada Invocada" = Table.AddColumn(#"Tipo Alterado", "Carro", each Carro([Coluna 1])),
    #"Carro Expandido" = Table.ExpandTableColumn(#"Função Personalizada Invocada", "Carro", {"Column1.codigo", "Column1.descricao", "Column1.data", "Column1.ticket", "Column1.mensal", "Column1.terminal.codigo", "Column1.setor.codigo", "Column1.setor.descricao", "Column1.tipoVeiculo.descricao", "Column1.placa"}, {"Carro.Column1.codigo", "Carro.Column1.descricao", "Carro.Column1.data", "Carro.Column1.ticket", "Carro.Column1.mensal", "Carro.Column1.terminal.codigo", "Carro.Column1.setor.codigo", "Carro.Column1.setor.descricao", "Carro.Column1.tipoVeiculo.descricao", "Carro.Column1.placa"})
in
    #"Carro Expandido"&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How it happens:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 598px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/395453i8D0276F26FFEA515/image-dimensions/598x226?v=v2" width="598" height="226" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Anyway, tks for help.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Nov 2020 15:58:23 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Getting-data-from-API-with-loop-on-text-link/m-p/1490394#M26442</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-11-12T15:58:23Z</dc:date>
    </item>
    <item>
      <title>Re: Getting data from API with loop on text link</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Getting-data-from-API-with-loop-on-text-link/m-p/1491476#M26448</link>
      <description>&lt;P&gt;Hi&amp;nbsp;@Anonymous&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can change your code so that if detalhes is not 0 do your usual processing but if it is 0 then return null - or return whatever want.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="php"&gt;(mes as text) =&amp;gt; 

let

    convert = (detalhes) =&amp;gt;

    let #"Convertido para Tabela1" = Table.FromList(detalhes, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        #"Column1 Expandido" = Table.ExpandRecordColumn(#"Convertido para Tabela1", "Column1", {"codigo", "descricao", "data", "ticket", "mensal", "terminal", "setor", "tipoVeiculo", "tipoServico", "placa"}, {"Column1.codigo", "Column1.descricao", "Column1.data", "Column1.ticket", "Column1.mensal", "Column1.terminal", "Column1.setor", "Column1.tipoVeiculo", "Column1.tipoServico", "Column1.placa"}),
        #"Column1.terminal Expandido" = Table.ExpandRecordColumn(#"Column1 Expandido", "Column1.terminal", {"codigo", "tipo"}, {"Column1.terminal.codigo", "Column1.terminal.tipo"}),
        #"Column1.setor Expandido" = Table.ExpandRecordColumn(#"Column1.terminal Expandido", "Column1.setor", {"codigo", "descricao"}, {"Column1.setor.codigo", "Column1.setor.descricao"}),
        #"Column1.tipoVeiculo Expandido" = Table.ExpandRecordColumn(#"Column1.setor Expandido", "Column1.tipoVeiculo", {"descricao"}, {"Column1.tipoVeiculo.descricao"}),
        #"Column1.tipoServico Expandido" = Table.ExpandRecordColumn(#"Column1.tipoVeiculo Expandido", "Column1.tipoServico", {"descricao"}, {"Column1.tipoServico.descricao"})

    in res,

    Fonte = Json.Document(Web.Contents("https://blablabla.com.br/servicos/operacional/estacionamento/2/"&amp;amp; (mes) &amp;amp;"/entrada/?detalhe=true"), 20127),
    #"Convertido para Tabela" = Record.ToTable(Fonte),
    Value = #"Convertido para Tabela"{1}[Value],
    carro = Value[carro],
    detalhes = carro[detalhes],

    result = if detalhes &amp;lt;&amp;gt; 0 then convert(detalhes) else null

in
    result&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Phil&lt;/P&gt;&lt;HR /&gt;&lt;P&gt;&lt;STRONG&gt;If I answered your question please mark my post as the solution.&lt;BR /&gt;If my answer helped solve your problem, give it a kudos by clicking on the Thumbs Up. &lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Nov 2020 01:44:51 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Getting-data-from-API-with-loop-on-text-link/m-p/1491476#M26448</guid>
      <dc:creator>PhilipTreacy</dc:creator>
      <dc:date>2020-11-13T01:44:51Z</dc:date>
    </item>
    <item>
      <title>Re: Getting data from API with loop on text link</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Getting-data-from-API-with-loop-on-text-link/m-p/1501810#M26518</link>
      <description>&lt;P&gt;Phil,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Its working perfectly.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Tks a lot.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Nov 2020 11:31:33 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Getting-data-from-API-with-loop-on-text-link/m-p/1501810#M26518</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-11-18T11:31:33Z</dc:date>
    </item>
  </channel>
</rss>

