Compartilhar via


Snowflake

Resumo

Elemento Descrição
Estado da liberação Disponibilidade geral
Produtos Power BI (Modelos semânticos)
Power BI (Fluxos de dados)
Fabric (Fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Tipos de autenticação compatíveis Snowflake (nome de usuário/senha), conta Microsoft Microsoft (Microsoft Entra ID)
Documentação de referência da função

Observação

A implementação do conector Snowflake 2.0 está disponível em geral desde julho de 2025. Saiba mais sobre esse recurso.

Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido a cronogramas de implantação e funcionalidades específicas do host.

Recursos suportados

  • Importação
  • DirectQuery (Modelos semânticos do Power BI)
  • Opções avançadas
    • Especifique um valor de texto a ser usado como Nome da função
    • Colunas de relação
    • Tempo limite da conexão em segundos
    • Tempo limite do comando em segundos
    • Banco de dados
    • Instrução de SQL nativa

Conectar-se ao data warehouse Snowflake do Power Query Desktop

Observação

Desde a versão de março de 2025 do Power BI Desktop, a opção de implementação do conector Snowflake 2.0 está habilitada por padrão.

Para fazer a conexão com um depósito de computação Snowflake, siga as seguintes etapas:

  1. Selecione Obter Dados na faixa de opções Página Inicial no Power BI Desktop, selecione Banco de Dados nas categorias à esquerda, selecione Floco de Neve e, em seguida, selecione Conectar.

    Captura de tela da caixa de diálogo Obter Dados, mostrando a seleção do banco de dados Snowflake.

  2. Na janela Snowflake exibida, insira o nome do servidor Snowflake no Servidor e o nome do seu armazém de computação Snowflake no Warehouse.

    Captura de tela da caixa de diálogo Snowflake, mostrando o botão de rádio Importar selecionado.

  3. Opcionalmente, insira valores em todas as opções avançadas que quiser usar para modificar a consulta de conexão, como um valor de texto a ser usado como um Nome de função ou um tempo limite de comando. Mais informações: Conectar-se usando opções avançadas

  4. Selecione OK.

  5. Para acessar seu armazém de computação Snowflake, insira seu nome de usuário e senha e selecione Conectar.

    Captura de tela do prompt de credencial snowflake, mostrando os campos Nome de usuário e senha.

    Observação

    Depois de inserir seu nome de usuário e senha para um servidor Snowflake específico, o Power BI Desktop usará essas mesmas credenciais em tentativas de conexão subsequentes. Você pode modificar essas credenciais acessando opções de arquivo > e definindo as configurações > de fonte de dados. Mais informações: alterar o método de autenticação

    Se você quiser usar a opção de conta Microsoft, a integração do Microsoft Entra ID do Snowflake deve ser configurada no lado do Snowflake. Mais informações: SSO do Power BI para Snowflake – Introdução

  6. No Navegador, selecione um ou vários elementos para importar e usar no Power BI Desktop. Em seguida, selecione Carregar para carregar a tabela no Power BI Desktop ou transformar dados para abrir o Editor do Power Query, onde você pode filtrar e refinar o conjunto de dados que deseja usar e carregar esse conjunto refinado de dados no Power BI Desktop.

    Captura de tela do Navegador com o banco de dados de esquema de teste aberto e a tabela DimProduct selecionada.

  7. Selecione Importar para importar dados diretamente para o Power BI ou selecione DirectQuery e, em seguida, selecione OK. Mais informações: Usar o DirectQuery no Power BI Desktop

    Observação

    O SSO (logon único) do Microsoft Entra ID dá suporte apenas ao DirectQuery.

    Captura de tela das configurações de conexão, que contém as seleções Importar e DirectQuery.

Conectar-se a um banco de dados Snowflake do Power Query Online

Para fazer a conexão, execute as seguintes etapas:

  1. Selecione a opção Snowflake na seleção do conector.

  2. Na caixa de diálogo Snowflake exibida, insira o nome do servidor e do armazém.

    Construtor de conexões Snowflake no Power Query Online.

  3. Insira os valores que você deseja usar nas opções avançadas. Se houver opções avançadas não representadas na interface do usuário, você poderá editá-las no Editor Avançado no Power Query posteriormente.

  4. Insira suas credenciais de conexão, selecione ou crie uma nova conexão, qual gateway você gostaria de usar e um nome de usuário e senha.

  5. Selecione Avançar para se conectar ao banco de dados.

  6. No Navegador, selecione os dados necessários e selecione Transformar dados para transformar os dados no Editor do Power Query.

    Captura de tela do Navegador online com o banco de dados de esquema de teste aberto e a tabela DimProduct selecionada.

Conectar usando opções avançadas

O Power Query tem um conjunto de opções avançadas que você pode adicionar à sua consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query.

Opção avançada Descrição
Nome da função Especifica a função que o relatório usa pelo driver. Essa função deve estar disponível para o usuário, caso contrário, nenhuma função é definida.
Incluir colunas de relação Se marcada, inclui colunas que podem ter relações com outras tabelas. Se essa caixa estiver desmarcada, você não verá essas colunas.
Tempo limite da conexão em segundos Especifica quanto tempo aguardar uma resposta ao interagir com o serviço Snowflake antes de retornar um erro. O padrão é 0 (sem tempo limite).
Tempo limite do comando em segundos Especifica quanto tempo aguardar a conclusão de uma consulta antes de retornar um erro. O padrão é 0 (sem tempo limite).
Banco de dados Especifica um banco de dados específico no depósito. Esta opção está disponível somente no Power Query Desktop.
Instrução SQL Para obter informações, acesse Importar dados de um banco de dados usando a consulta de banco de dados nativo. Esta opção está disponível somente no Power Query Desktop.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query Desktop ou Avançar no Power Query Online para se conectar ao banco de dados snowflake.

Implementação do conector Snowflake 2.0

Em janeiro de 2025, apresentamos uma nova implementação para o conector Snowflake para aprimorar a integração com o Snowflake. Esse conector está disponível em geral desde julho de 2025. É recomendável atualizar o Power BI Desktop e o gateway de dados local para a versão mais recente para se beneficiar dos recursos mais atuais. Forneça comentários para nos ajudar a continuar melhorando o conector.

A implementação do conector Snowflake 2.0 foi criada usando o driver open-source Arrow Database Connectivity (ADBC). O ADBC fornece um conjunto de interfaces padrão para interagir com dados do Arrow, que é especialmente eficiente na busca de grandes conjuntos de dados com sobrecarga mínima, sem serialização ou cópia. O driver do ADBC também incorpora aprimoramentos de segurança, como segurança de memória e coleta de lixo. Além disso, a colaboração com a comunidade de software livre permite atualizações mais rápidas, utilizando ferramentas modernas e processos de SDL (ciclo de vida de desenvolvimento seguro).

Para permitir que você aproveite esses aprimoramentos de desempenho e segurança, a partir de julho de 2025, todas as conexões recém-criadas usam automaticamente a implementação 2.0. Além disso, faremos a transição gradual dos clientes existentes para a implementação 2.0 em fases, com atualizações sendo aplicadas a regiões diferentes até novembro de 2025. Durante este período, você pode testar a implementação 2.0 atualizando suas consultas existentes e adicionando a flag Implementation="2.0" em Snowflake.Databases da seguinte maneira. Após a transição, as conexões que não especificam uma implementação serão atualizadas automaticamente para a implementação 2.0.

Source = Snowflake.Databases("contoso.snowflakecomputing.com", "CONTOSO_WH", [Implementation="2.0"])

Para ajudar a diagnosticar qualquer problema em potencial, você pode encontrar os detalhes de Implementation e DriverType nos seus logs do Mashup, como o exemplo a seguir. Se você encontrar algum problema durante a transição, entre em contato com o suporte. Enquanto isso, para auto-atenuar, você pode especificar Implementation="1.0" para continuar usando o conector 1.0 e evitar a interrupção dos negócios antes que o problema seja resolvido.

{"Start":"2024-11-02T00:14:02.7968686Z","Action":"Engine/Module/Snowflake/IO/Snowflake/Implementation","ResourceKind":"Snowflake","ResourcePath":"powerbi.snowflakecomputing.com ;DEMO_WH","HostProcessId":"29200","Implementation":"2.0","DriverType":"ADBC","ProductVersion":"2.139.0.0 (Main)+eda56ecd858054173a4d11db9c63a6da5cf92a99","ActivityId":"106f16b6-cfbb-4853-9f20-ed45486486d2","Process":"Microsoft.Mashup.Container.NetFX45","Pid":38560,"Tid":1,"Duration":"00:00:00.0000291"}

As seguintes opções estão disponíveis desde a versão de julho de 2025:

  • UseHighPrecision: controla a precisão de como os campos Snowflake NUMBER(38,0) devem ser manipulados. Se nenhum valor for especificado, o conector consultará Snowflake usando a SHOW PARAMETERS LIKE 'ODBC_TREAT_DECIMAL_AS_INT' consulta. Se o valor não for definido, o conector usará a escala especificada pela coluna. Um true valor trata NUMBER(38,0) como um tipo decimal. O valor false trata NUMBER(38,0) como um tipo Int64. Se a escala for maior que 0, a coluna será considerada como um tipo Duplo.
  • DateTimePrecision: controla a precisão de como são tratados os valores de timestamp do Snowflake. Snowflake normalmente armazena valores de Timestamp com precisão de nanossegundos. No ADBC, isso pode causar uma exceção de estouro para datas antes de 1677 ou após 2262, de acordo com Snowflake. Os valores válidos para essa opção são nulosnanoseconds ou microseconds. Um valor nulo usa nanoseconds por padrão. Os usuários que precisam de datas antes de 1677 ou após 2262 são recomendados para usar a microseconds configuração. Se os usuários precisarem manter a precisão para o décimo milionésimo lugar antes de 1677 ou depois de 2262, é recomendável ficar com o driver ODBC.

Se você precisar usar o proxy para se conectar ao Snowflake, consulte a instrução de configuração de proxy. O driver usa variáveis de ambiente para as configurações de proxy.

Veja abaixo um resumo do aprimoramento do conector lançado nas versões anteriores:

Liberação Melhoria do conector
Julho de 2025 - As colunas boolianas retornam tipos boolianos, corrigindo o problema em que as colunas boolianas eram tratadas como tipos de cadeia de caracteres em um esquema de conjunto de registros vazio (incluindo metadados).
- Nova configuração para definir a precisão máxima do timestamp como microssegundos.
– Suporte de duração aprimorada.
– Adicionado suporte para propriedades de navegação ao ADBC.
- Rastreamento aprimorado no driver ADBC, onde a "ActivityId" agora pode ser rastreada pela camada de driver.
Abril de 2025 - Adicionado suporte para a etiqueta de consulta Snowflake. Como exemplo: {"PowerQuery":true,"Host":"PBI_SemanticModel_MWC","HostContext":"PowerBIPremium-DirectQuery"}
Março de 2025 – Desempenho aprimorado ao recuperar dados do Snowflake.
– Habilitado por padrão no Power BI Desktop para que as conexões recém-criadas usem automaticamente a nova implementação do conector.
- Corrigido o problema de exibições não visíveis desde o lançamento mais recente de março.
Fevereiro de 2025 – Desempenho aprimorado reduzindo o número de chamadas de metadados.
- Resolveu o problema de valores duplicados para conjuntos de resultados grandes.

Observação

Quando você usa o gateway de dados local, observe que a versão mínima com suporte é janeiro de 2025. É recomendável usar a versão mais recente com os recursos mais atuais.

Observação

Esse recurso tem suporte na versão de 64 bits do Power BI Desktop e não funciona na versão de 32 bits.

Solução de problemas

Erro: erro de compilação SQL: o objeto não existe ou a operação não pode ser executada

O erro ocorre quando o sistema não consegue encontrar o objeto especificado. Muitas vezes, esse erro ocorre porque o usuário tem um nome de banco de dados inválido definido como banco de dados padrão.

Certifique-se de que um nome de banco de dados padrão válido seja usado para a propriedade DEFAULT_NAMESPACE: DESC USERusername

Para atualizar o nome do conjunto de dados padrão: alter userusername set DEFAULT_NAMESPACE=<database name>.<schema name>. Para obter mais informações, confira a documentação do Snowflake: https://docs.snowflake.com/en/sql-reference/sql/alter-user

Limitações e problemas conhecidos

Hífens em nomes de banco de dados

Se um nome de banco de dados tiver um hífen, você poderá encontrar um ODBC: ERROR[42000] SQL compilation error. Esse problema é resolvido na versão de setembro de 2024.

Visual de segmentação para o tipo de dados booliano

O visual de segmentação para o tipo de dados booliano não está funcionando conforme esperado na versão de junho de 2024. Essa não funcionalidade é um problema conhecido. Como uma solução temporária, os usuários podem converter o tipo de dados Boolean em seus relatórios para texto, navegando até: Transferir -> Tipo de Dados -> Texto. Uma correção é fornecida na versão de outubro de 2024.

Exibições não visíveis com Implementation="2.0"

Em alguma versão da versão de março de 2025 do Power BI Desktop, você pode encontrar um problema em que as exibições não estejam visíveis ao usar a implementação do conector Snowflake 2.0 (Implementation="2.0"). Esse problema foi corrigido desde a última versão de março de 2025 do Power BI Desktop. Atualize sua instalação para tentar novamente.

Os valores de TIMESTAMP_NTZ são UTC com Implementation="2.0"

Os tipos TIMESTAMP_LTZ não estão sendo convertidos no fuso horário local, mas estão retornando ao valor UTC ao usar a implementação do conector Snowflake 2.0 (Implementation="2.0"). Por exemplo, fazer SELECT CURRENT_TIMESTAMP do Snowflake é retornar a hora UTC, não o fuso horário local do usuário. Esse problema é resolvido na versão de julho de 2025.

O índice estava fora dos limites da matriz ao usar Implementation="2.0"

Em alguns cenários, um erro é gerado indicando Index was outside the bounds of the array ao usar a implementação do conector Snowflake 2.0 (Implementation="2.0"). Esse problema é resolvido na versão de junho de 2025.

Informações adicionais