Criar e gerenciar funções no SSMS

Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Este artigo descreve como usar o SSMS (SQL Server Management Studio) para criar funções, definir permissões de função e adicionar usuários para modelos tabulares implantados ou modelos semânticos Power BI Premium. Para saber mais sobre como usar o Visual Studio para criar e gerenciar funções para projetos de modelo de tabela, consulte Criar e gerenciar funções no Visual Studio.

Usar SSMS

Para criar uma nova função

  1. Em SQL Server Management Studio, expanda o banco de dados de modelo de tabela para o qual você deseja criar uma nova função, clique com o botão direito do mouse em Funções e clique em Nova Função.

  2. Na caixa de diálogo Criar Função , na janela Selecionar uma página, clique em Geral.

  3. Na janela de configurações gerais, no campo Nome , digite um nome para a função.

    Use nomes que identifiquem claramente o tipo de membro, por exemplo, Gerentes financeiros ou especialistas em recursos humanos, e certifique-se de que o nome não inclua uma vírgula. Por padrão, o nome da função padrão será numerado incrementalmente para cada nova função.

  4. Em Defina as permissões de banco de dados para essa função, selecione uma das opções de permissão a seguir:

    Permissão Descrição
    Controle total (Administrador) Os membros podem fazer modificações ao esquema modelo e podem exibir todos os dados.
    Processar Banco de Dados Membros podem executar operações de Processar e Processar Tudo. Não é possível modificar o esquema modelo e não é possível exibir dados.
    Leitura Os membros têm permissão de exibir dados (com base em filtros de linha) mas não podem fazer nenhuma alteração ao esquema modelo.
  5. Na caixa de diálogo Criar Função , na janela Selecionar uma página, clique em Associação.

  6. Na janela de configurações de associação, clique em Adicionar e, na caixa de diálogo Selecionar Usuários ou Grupos , adicione usuários ou grupos que você deseja adicionar como membros.

  7. Se a função que você está criando tiver permissões de Leitura, você poderá adicionar filtros de linha para qualquer tabela usando uma fórmula DAX. Para adicionar filtros de linha, na caixa de diálogo Propriedades da Função – <nomeda função> , em Selecionar uma página, clique em Filtros de Linha.

  8. Na janela filtros de linha, selecione uma tabela, clique no campo Filtro DAX e, no campo Filtro DAX – <nome da> tabela, digite uma fórmula DAX.

    Observação

    O campo Filtro DAX – <nome da> tabela não contém um editor de consultas de Preenchimento Automático nem um recurso de função de inserção.

  9. Clique em Ok para salvar a função.

Para copiar uma função

  1. Em SQL Server Management Studio, expanda o banco de dados de modelo de tabela que contém a função que você deseja copiar, expanda Funções, clique com o botão direito do mouse na função e clique em Duplicar.

Para editar uma função

  • Em SQL Server Management Studio, expanda o banco de dados de modelo de tabela que contém a função que você deseja editar, expanda Funções, clique com o botão direito do mouse na função e clique em Propriedades.

    Na caixa de diálogo Role Properties<rolename> , você pode alterar permissões, adicionar ou remover membros e adicionar/editar filtros de linha.

Para excluir uma função

  • Em SQL Server Management Studio, expanda o banco de dados de modelo de tabela que contém a função que você deseja excluir, expanda Funções, clique com o botão direito do mouse na função e clique em Excluir.

Script

As funções para modelos implantados e modelos semânticos podem ser criadas por script usando TMSL (Tabular Model Scripting Language) para criar ou modificar o objeto Roles. Os scripts TMSL podem ser executados no SSMS ou usando o cmdlet Invoke-ASCmd do PowerShell.

Clique com o botão direito do mouse no objeto > de banco de dados Script>Script database como>CREATE ou REPLACE To>New Editor de Consultas Window. As funções são definidas no objeto de funções, por exemplo:

        "roles": [
          {
            "name": "Sales Manager",
            "modelPermission": "read"
          },
          {
            "name": "Sales Analyst US",
            "modelPermission": "read",
            "tablePermissions": [
              {
                "name": "DimGeography",
                "filterExpression": "DimGeography[CountryRegionCode] = \"US\" "
              }
            ]
          }
        ],

Confira também

Funções