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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
madpimenta013
Helper I
Helper I

I want to update my data without needing the Gateway installed on my machine

Can anyone help me how I can make my dashboards update without needing a gateway installed on my machine? I want to make the update happen, without needing a dependency on my machine being on. Does anyone know how to help me how can I do this?

8 REPLIES 8
aj1973
Community Champion
Community Champion

Hi @madpimenta013 

The CSV file located in your machine is what triggering the need for a Gateway and for all the sources. If you want to get rid of the Gateway then you will need to upload the CSV file into a cloud service, like Sharepoint online or Onedrive for business

Regards
Amine Jerbi

If I answered your question, please mark this thread as accepted
and you can follow me on
My Website, LinkedIn and Facebook

otravers
Community Champion
Community Champion

It all depends on your data sources. If you're just trying to load Excel or CSV files, then put them in SharePoint Online instead of a local drive and you won't need a data gateway.

------------------------------------------------
1. How to get your question answered quickly - good questions get good answers!
2. Learning how to fish > being spoon-fed without active thinking.
3. Please accept as a solution posts that resolve your questions.
------------------------------------------------
BI Blog: Datamarts | RLS/OLS | Dev Tools | Languages | Aggregations | XMLA/APIs | Field Parameters | Custom Visuals

What about other data sources like API link or MySQL database?

REST API available on the web won't need a gateway. MySQL needs a gateway:

https://learn.microsoft.com/en-us/azure/mysql/flexible-server/connect-with-powerbi-desktop#connect-t...

------------------------------------------------
1. How to get your question answered quickly - good questions get good answers!
2. Learning how to fish > being spoon-fed without active thinking.
3. Please accept as a solution posts that resolve your questions.
------------------------------------------------
BI Blog: Datamarts | RLS/OLS | Dev Tools | Languages | Aggregations | XMLA/APIs | Field Parameters | Custom Visuals

Strange, because in this dashboard I have 3 data sources: Google Analytics, API Link in JSON format and a CSV file. For the JSON link, when I go to set up auto-update it asks me to associate this datasource with a Gateway connection.

Can you share the M code for your API query?

------------------------------------------------
1. How to get your question answered quickly - good questions get good answers!
2. Learning how to fish > being spoon-fed without active thinking.
3. Please accept as a solution posts that resolve your questions.
------------------------------------------------
BI Blog: Datamarts | RLS/OLS | Dev Tools | Languages | Aggregations | XMLA/APIs | Field Parameters | Custom Visuals

Of course. The source is set within a parameter with the link value:
https://seufgtshoje.agi.com.br/wp-json/agibank/v1/leads?token=zGn28noaXDAGwy6r9ckvAJeLi3BR8gG7&perPa...

 

The M query is as follows:

 

let
Fonte = Json.Document(Web.Contents(#"Tabela de Leads")),
#"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Column1 Expandido" = Table.ExpandRecordColumn(#"Convertido para Tabela", "Column1", {"id", "nome", "telefone", "email", "saldo_simulado", "valor_contratado", "erro", "cpf", "link", "dia_aniversario", "mes_aniversario", "ano_aniversario", "created_at", "pagina_atual", "ultimo_acesso", "utm_campaign", "utm_source", "utm_medium", "utm_term", "utm_content"}, {"id", "nome", "telefone", "email", "saldo_simulado", "valor_contratado", "erro", "cpf", "link", "dia_aniversario", "mes_aniversario", "ano_aniversario", "created_at", "pagina_atual", "ultimo_acesso", "utm_campaign", "utm_source", "utm_medium", "utm_term", "utm_content"}),
#"Tipo Alterado" = Table.TransformColumnTypes(#"Column1 Expandido",{{"id", type text}, {"nome", type text}, {"telefone", type text}, {"email", type text}, {"saldo_simulado", type text}, {"valor_contratado", Currency.Type}, {"erro", type text}, {"cpf", type text}, {"link", type text}, {"dia_aniversario", Int64.Type}, {"mes_aniversario", Int64.Type}, {"ano_aniversario", Int64.Type}, {"created_at", type datetime}, {"pagina_atual", type text}, {"ultimo_acesso", type datetime}, {"utm_campaign", type text}, {"utm_source", type text}, {"utm_medium", type text}, {"utm_term", type text}, {"utm_content", type text}}),
#"Texto Inserido Após o Delimitador" = Table.AddColumn(#"Tipo Alterado", "Texto Após o Delimitador", each Text.AfterDelimiter(Text.From([created_at], "pt-BR"), " "), type text),
#"Colunas Reordenadas" = Table.ReorderColumns(#"Texto Inserido Após o Delimitador",{"id", "nome", "telefone", "email", "saldo_simulado", "valor_contratado", "erro", "cpf", "link", "dia_aniversario", "mes_aniversario", "ano_aniversario", "created_at", "Texto Após o Delimitador", "pagina_atual", "ultimo_acesso", "utm_campaign", "utm_source", "utm_medium", "utm_term", "utm_content"}),
#"Texto Extraído Antes do Delimitador" = Table.TransformColumns(#"Colunas Reordenadas", {{"created_at", each Text.BeforeDelimiter(Text.From(_, "pt-BR"), " "), type text}}),
#"Colunas Renomeadas" = Table.RenameColumns(#"Texto Extraído Antes do Delimitador",{{"created_at", "data_created_at"}}),
#"Texto Inserido Após o Delimitador1" = Table.AddColumn(#"Colunas Renomeadas", "Texto Após o Delimitador.1", each Text.AfterDelimiter(Text.From([ultimo_acesso], "pt-BR"), " "), type text),
#"Texto Extraído Antes do Delimitador1" = Table.TransformColumns(#"Texto Inserido Após o Delimitador1", {{"ultimo_acesso", each Text.BeforeDelimiter(Text.From(_, "pt-BR"), " "), type text}}),
#"Colunas Reordenadas1" = Table.ReorderColumns(#"Texto Extraído Antes do Delimitador1",{"id", "nome", "telefone", "email", "saldo_simulado", "valor_contratado", "erro", "cpf", "link", "dia_aniversario", "mes_aniversario", "ano_aniversario", "data_created_at", "Texto Após o Delimitador", "pagina_atual", "ultimo_acesso", "Texto Após o Delimitador.1", "utm_campaign", "utm_source", "utm_medium", "utm_term", "utm_content"}),
#"Colunas Renomeadas1" = Table.RenameColumns(#"Colunas Reordenadas1",{{"Texto Após o Delimitador", "hora_created_at"}, {"ultimo_acesso", "data_ultimo_acesso"}, {"Texto Após o Delimitador.1", "hora_ultimo_acesso"}}),
#"Tipo Alterado1" = Table.TransformColumnTypes(#"Colunas Renomeadas1",{{"data_created_at", type date}, {"data_ultimo_acesso", type date}, {"hora_created_at", type time}, {"hora_ultimo_acesso", type time}}),
#"Colunas Removidas" = Table.RemoveColumns(#"Tipo Alterado1",{"link", "saldo_simulado"}),
#"Tipo Alterado2" = Table.TransformColumnTypes(#"Colunas Removidas",{{"id", Int64.Type}}),
#"Coluna Duplicada" = Table.DuplicateColumn(#"Tipo Alterado2", "data_created_at", "data_created_at - Copiar"),
#"Colunas Renomeadas2" = Table.RenameColumns(#"Coluna Duplicada",{{"data_created_at - Copiar", "DateKey"}}),
#"Tipo Alterado3" = Table.TransformColumnTypes(#"Colunas Renomeadas2",{{"DateKey", type datetime}}),
#"Linhas Filtradas" = Table.SelectRows(#"Tipo Alterado3", each [DateKey] >= RangeStart and [DateKey] < RangeEnd),
#"Erros Substituídos" = Table.ReplaceErrorValues(#"Linhas Filtradas", {{"dia_aniversario", 0}}),
#"Erros Substituídos1" = Table.ReplaceErrorValues(#"Erros Substituídos", {{"mes_aniversario", 0}}),
#"Erros Substituídos2" = Table.ReplaceErrorValues(#"Erros Substituídos1", {{"ano_aniversario", 0}})
in
#"Erros Substituídos2"

Is the "Tabela de Leads" query sourced from a local CSV? That would be the dependency that requires the entire thing to require a gateway.

------------------------------------------------
1. How to get your question answered quickly - good questions get good answers!
2. Learning how to fish > being spoon-fed without active thinking.
3. Please accept as a solution posts that resolve your questions.
------------------------------------------------
BI Blog: Datamarts | RLS/OLS | Dev Tools | Languages | Aggregations | XMLA/APIs | Field Parameters | Custom Visuals

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.