Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Este artigo resume novos recursos, melhorias, recursos preteridos e descontinuados e alterações de comportamento e de quebra nas versões mais recentes do SQL Server Analysis Services (SSAS).
SQL Server 2025 Analysis Services
Melhorias de desempenho
Modelos com grupos de cálculo e cadeias de caracteres de formato no Excel
Fizemos melhorias significativas de desempenho para consultas MDX em modelos com grupos de cálculo e cadeias de caracteres de formato para reduzir o uso de memória e melhorar a capacidade de resposta. As alterações mais recentes melhoram significativamente o desempenho e a confiabilidade das operações no Analyze in Excel em modelos que incluem um ou ambos:
Cadeias de caracteres de formato dinâmico para medidas
Itens calculados com cadeias de formato
Para obter mais detalhes, visite Cadeias de caracteres de formato dinâmico
Execução de consulta paralela para DirectQuery
O paralelismo melhorado no modo DirectQuery permite tempos de resposta mais rápidos para consultas complexas. A ideia fundamental é maximizar o desempenho da consulta paralelizando várias consultas à fonte de dados para uma única consulta DAX. Essa paralelização de consulta reduz o impacto dos atrasos da fonte de dados e latências de rede no desempenho da consulta. Para mais detalhes, visite este blog.
Fusão Horizontal
O SSAS 2025 incorpora a versão mais recente do Horizontal Fusion, uma otimização de desempenho de consulta que reduz o número de consultas SQL geradas pelo DAX, melhorando a eficiência do DirectQuery. Para mais detalhes, visite: Anunciando fusão horizontal.
Funções e capacidades DAX
Cálculos visuais
A maneira como você escreve DAX muda hoje com a introdução de cálculos visuais. Cálculos visuais são cálculos DAX que são definidos e executados diretamente em um visual. Um cálculo visual pode referir-se a quaisquer dados no visual, incluindo colunas, medidas ou outros cálculos visuais. Essa abordagem remove a complexidade do modelo semântico e simplifica o processo de escrever DAX. Você pode usar cálculos visuais para concluir cálculos comerciais comuns, como somas em execução ou médias móveis. Para saber mais sobre como habilitar e usar cálculos visuais, visite Visão geral dos cálculos visuais.
Comportamento do filtro de valor
Estamos introduzindo uma nova opção para controlar o comportamento do filtro de valor. Ao ativar a configuração "Filtros de valor independentes", os usuários podem impedir a combinação automática de vários filtros na mesma tabela em um único filtro coalescido. Essa alteração oferece maior flexibilidade, permitindo uma filtragem mais precisa e independente para atender às necessidades específicas de modelagem e aumentando a precisão e o controle das consultas de dados. Para definir essa propriedade para SSAS, você pode usar o modelo de objeto tabular ou TMSL com base na propriedade ValueFilterBehavior . Para obter mais detalhes, visite: Comportamento do filtro de valor.
Expressões de seleção para grupos de cálculo
As expressões de seleção permitem um controle ajustado sobre como os cálculos se comportam quando determinadas condições são atendidas. As expressões de seleção introduzem lógica adicional para lidar com casos em que vários itens de cálculo são selecionados ou quando nenhuma seleção específica é feita em um grupo de cálculo. Para mais detalhes, visite: Grupos de cálculos.
Melhorias nas funções DAX
O SSAS 2025 inclui suporte para várias novas funções e melhorias do DAX, incluindo:
LINEST e LINESTX: Estas duas funções executam regressão linear, usando o método dos mínimos quadrados, para calcular uma linha reta que melhor se ajusta aos dados fornecidos e retornar uma tabela descrevendo essa linha. Estas funções são especialmente úteis na previsão de valores desconhecidos (Y) quando dados valores conhecidos (X). Para obter mais detalhes, visite: função LINEST DAX e função LINESTX DAX.
Funções INFO: Os DMVs TMSCHEMA existentes estão agora disponíveis como uma nova família de funções DAX, que permite consultar metadados sobre modelos semânticos diretamente no DAX, oferecendo integração com outras funções DAX para diagnósticos e análises aprimorados. Para obter mais detalhes, visite: Info DAX functions.
APPROXIMATEDISTINCTCOUNT: Esta função está atualmente disponível para o modo DirectQuery e retorna uma contagem estimada de valores exclusivos em uma coluna invocando uma operação de agregação correspondente na fonte de dados, que é otimizada para o desempenho da consulta. Para obter mais detalhes, visite a função DAX APPROXIMATEDISTINCTCOUNT, que lista as fontes de dados compatíveis.
Funções de janela: Esta função recupera uma fatia de resultados usando posicionamento absoluto ou relativo. A função WINDOW facilita a execução de cálculos, como a adição de um total em execução, média móvel ou cálculos semelhantes que dependem da seleção de um intervalo de valores. Ele também vem com duas funções auxiliares chamadas ORDERBY e PARTITIONBY. Para obter mais detalhes, visite: Função DAX do Windows.
MINX/MAXX: Adicionamos um parâmetro variante opcional às funções MINX e MAXX DAX. Tradicionalmente, essas funções ignoram texto e valores booleanos quando há variantes ou tipos de dados mistos, como texto e numérico. Agora, com o novo parâmetro variante opcional definido como TRUE, as funções consideram os valores de texto. Para obter mais detalhes, visite a função MINX DAX e a função MAXX DAX.
Características adicionais
Atualizações da biblioteca do cliente
Os clientes são incentivados a atualizar para as bibliotecas mais recentes do Analysis Services para se beneficiarem de melhorias de desempenho, confiabilidade e funcionalidade, como suporte a XML binário, serialização TMDL e muito mais. Especificamente, mudamos a comunicação baseada em XMLA de XML de texto simples para XML binário e habilitamos a compactação para as bibliotecas de cliente .NET. Para mais detalhes, visite o blog melhorar o desempenho da comunicação de ferramentas baseadas em xmla. Você também sempre pode encontrar as versões mais recentes de bibliotecas de cliente na página de download de bibliotecas de cliente do Analysis Services.
Aprimoramentos no tratamento de caracteres Unicode
O SSAS agora oferece suporte a padrões Unicode atualizados, fornecendo suporte a pares substitutos Unicode para padrões de caracteres, como o padrão do governo chinês GB18030 no DAX.
Métricas de execução para diagnósticos
As métricas de execução agora são expostas por meio de rastreamentos XEvents e Profiler, permitindo que os clientes analisem o desempenho da consulta de forma mais eficaz.
Características preteridas e alterações significativas no SSAS 2025
Excel PowerPivot para SharePoint descontinuado
Removemos o modo Excel PowerPivot para SharePoint do instalador. Este recurso foi preterido em versões anteriores e não é mais suportado.
Atualização do assembly do SQL Client
O SSAS 2025 agora usa uma biblioteca de cliente SQL mais recente. Os clientes podem precisar atualizar as definições de modelo para refletir o novo nome do provedor (Microsoft.Data.SqlClient).
SQL Server 2022 Analysis Services
Atualização cumulativa 1 (CU1)
Atualização de criptografia
Esta atualização inclui a melhoria do algoritmo de criptografia da operação de escrita de esquema. Esse aprimoramento pode exigir que você atualize bancos de dados de modelos tabulares e multidimensionais para garantir a criptografia adequada. Para saber mais, consulte Atualizar criptografia.
Disponível ao público em geral (GA)
Fusão horizontal
Esta versão apresenta o Horizontal Fusion, uma otimização do plano de execução de consultas com o objetivo de reduzir o número de consultas de fonte de dados necessárias para gerar e retornar resultados. Várias consultas de fonte de dados menores são fundidas em uma consulta de fonte de dados maior. Menos consultas de fonte de dados significam menos viagens de ida e volta e menos verificações caras em fontes de dados grandes, o que resulta em ganhos consideráveis de desempenho do DAX e menor demanda de processamento na fonte de dados. As consultas DAX são executadas mais rapidamente com o Horizontal Fusion, especialmente no modo DirectQuery. Além disso, a escalabilidade também aumenta.
Planos de execução paralela para DirectQuery
Esse aprimoramento permite que o mecanismo do Analysis Services analise consultas DAX em relação a uma fonte de dados DirectQuery e identifique operações independentes do mecanismo de armazenamento. O mecanismo pode então executar essas operações na fonte de dados em paralelo. Ao executar operações em paralelo, o mecanismo do Analysis Services pode melhorar o desempenho da consulta aproveitando a escalabilidade que grandes fontes de dados podem fornecer. Para garantir que o processamento de consultas não sobrecarregue sua fonte de dados, use a configuração da propriedade MaxParallelism para especificar um número fixo de threads que podem ser usados para operações paralelas.
Suporte para modelos semânticos do Power BI DirectQuery
Esta versão apresenta suporte para modelos do Power BI com conexões DirectQuery para modelos do SQL Server 2022 Analysis Services. Os modeladores de dados e autores de relatórios que usam as versões de maio de 2022 e posteriores do Power BI Desktop agora podem combinar outros dados importados e DirectQuery de modelos do Power BI, do Azure Analysis Services e, agora, do SSAS 2022.
Para saber mais, consulte Usando o DirectQuery para modelos semânticos e Analysis Services | Documentação do Power BI.
Desempenho da consulta MDX
Introduzido pela primeira vez no Power BI e agora no SSAS 2022, o MDX Fusion inclui a otimização do Formula Engine (FE), reduzindo o número de consultas do Storage Engine (SE) por consulta MDX. Os aplicativos cliente que usam MDX (Multidimensional Expressions) para consultar dados de modelo/conjunto de dados, como o Microsoft Excel, terão um desempenho de consulta aprimorado. Os padrões de consulta MDX comuns agora exigem menos consultas SE, onde anteriormente várias consultas SE eram necessárias para suportar granularidade diferente. Menos consultas SE significam menos verificações caras em modelos grandes, o que resulta em ganhos de desempenho significativos, especialmente ao se conectar a modelos tabulares no modo Direct Query.
Para saber mais, consulte Anunciando o desempenho aprimorado da consulta MDX no Power BI | Blog do Microsoft Power BI.
Governação dos recursos
Esta versão inclui precisão aprimorada para a propriedade de memória do servidor QueryMemoryLimit e a propriedade de cadeia de conexão DbpropMsmdRequestMemoryLimit.
Introduzida pela primeira vez no SSAS 2019, a propriedade de memória do servidor QueryMemoryLimit foi aplicada somente a spools de memória onde os resultados intermediários da consulta DAX são criados durante o processamento da consulta. Agora no SSAS 2022, ele também se aplica a consultas MDX, cobrindo efetivamente todas as consultas. Você pode controlar melhor as consultas caras do processo que resultam em materialização significativa. Se a consulta atingir o limite especificado, o mecanismo cancelará a consulta e retornará um erro ao chamador, reduzindo o impacto em outros usuários simultâneos.
Os aplicativos cliente podem reduzir ainda mais a memória permitida por consulta especificando a propriedade da cadeia de conexão DbpropMsmdRequestMemoryLimit . Especificada em Kilobytes, essa propriedade substitui o valor da propriedade de memória do servidor QueryMemoryLimit para uma conexão.
Intercalação de consultas - Viés de consulta curta com cancelamento rápido
Esta versão introduz um novo valor que especifica viés de consulta curta com cancelamento rápido na configuração de propriedade Threadpool\SchedulingBehavior. Esta configuração de propriedade melhora os tempos de resposta das consultas dos utilizadores em cenários de alta concorrência. Para saber mais, consulte Intercalação de consultas - Configurar.
Nível de compatibilidade do modelo tabular 1600
Esta versão introduz o nível de compatibilidade 1600 para modelos tabulares. O nível de compatibilidade 1600 coincide com a funcionalidade mais recente do Power BI e do Azure Analysis Services.
Recursos preteridos no SSAS 2022
Não há funcionalidades obsoletas anunciadas com esta versão.
Funcionalidades descontinuadas no SSAS 2022
Os seguintes recursos são descontinuados nesta versão:
Modo/Categoria | Característica |
---|---|
Tabela | Níveis de compatibilidade 1100 e 1103 |
Multidimensional | Mineração de dados |
Modo Power Pivot | Power Pivot para SharePoint |
Mudanças significativas no SSAS 2022
Os níveis de compatibilidade do modelo tabular 1100 e 1103 são descontinuados nesta versão. Para evitar uma alteração significativa, atualize os modelos para o nível de compatibilidade 1200 antes de atualizar uma versão anterior do SSAS para o SSAS 2022.
Mudanças de comportamento no SSAS 2022
Não há alterações de comportamento nesta versão.
SQL Server 2019 Analysis Services
SQL Server 2019 Analysis Services CU 5
As atualizações cumulativas do SQL Server Analysis Services estão incluídas nas atualizações cumulativas do SQL Server. Para saber mais sobre e baixar a atualização cumulativa mais recente, consulte Atualização cumulativa mais recente do SQL Server 2019. As páginas KB de atualização cumulativa resumem problemas conhecidos, melhorias e correções para todos os recursos do SQL Server, incluindo o SSAS. Detalhes adicionais sobre as principais atualizações de funcionalidades para o SSAS são descritos aqui.
SuperDAX para modelos multidimensionais (SuperDAXMD)
Com o CU5, os clientes baseados em DAX agora podem usar funções SuperDAX e padrões de consulta em modelos multidimensionais, fornecendo melhor desempenho ao consultar dados do modelo. O SuperDAX introduziu pela primeira vez otimizações de consulta DAX para modelos tabulares com o Power BI e o SQL Server Analysis Services 2016. SuperDAXMD agora traz essas melhorias para modelos multidimensionais.
Um anúncio separado no blog do Power BI destaca como os usuários do Power BI podem se beneficiar dessa melhoria de desempenho do modelo multidimensional baixando a versão mais recente do Power BI Desktop. Os relatórios interativos existentes no Serviço do Power BI podem se beneficiar sem etapas adicionais, pois o Power BI gera as consultas SuperDAX otimizadas automaticamente. O Power BI deteta automaticamente ligações a modelos multidimensionais com suporte SuperDAX e utiliza as mesmas funções DAX otimizadas e padrões de consulta que já utiliza em modelos tabulares. Embora o Power BI possa alternar automaticamente para SuperDAXMD, em suas próprias soluções de business intelligence, talvez seja necessário otimizar os padrões de consulta DAX manualmente.
Padrões de consulta otimizados devem usar a função SUMMARIZECOLUMNS para substituir a função padrão SUMMARIZE menos eficiente. Use variáveis DAX, VAR, para calcular expressões apenas uma vez no local de definição e, em seguida, reutilize os resultados em quaisquer outras expressões DAX sem ter que executar o cálculo novamente. Outras funções SuperDAX talvez menos comuns são SUBSTITUTEWITHINDEX, ADDMISSINGITEMS, NATURALLEFTOUTERJOIN e NATURALINNERJOIN, ISONORAFTER e GROUPBY. SELECTCOLUMNS e UNION também são funções SuperDAX.
Para saber mais sobre como o DAX funciona com modelos multidimensionais e padrões e restrições importantes a serem observados, consulte DAX para modelos multidimensionais.
SQL Server 2019 Analysis Services GA (disponível ao público em geral)
Nível de compatibilidade do modelo tabular
Esta versão apresenta o nível de compatibilidade 1500 para modelos tabulares.
Intercalação de consultas
A intercalação de consultas é uma configuração do sistema no modo tabular que pode melhorar os tempos de resposta às consultas dos utilizadores em cenários de alta simultaneidade. A intercalação de consultas com viés de consulta curta permite que consultas simultâneas compartilhem recursos da CPU. Para saber mais, consulte Consulta intercalando.
Grupos de cálculo em modelos tabulares
Os grupos de cálculo podem reduzir significativamente o número de medidas redundantes agrupando expressões de medidas comuns como itens de cálculo. Os grupos de cálculo são mostrados em clientes de relatório como uma tabela com uma única coluna. Cada valor na coluna representa um cálculo reutilizável, ou item de cálculo, que pode ser aplicado a qualquer uma das medidas. Um grupo de cálculo pode ter qualquer número de itens de cálculo. Cada item de cálculo é definido por uma expressão DAX. Para saber mais, consulte Grupos de cálculo.
Configuração de governança para atualizações de cache do Power BI
A configuração da propriedade ClientCacheRefreshPolicy agora é suportada no SSAS 2019 e posterior. Essa configuração de propriedade já está disponível para o Azure Analysis Services. O serviço do Power BI armazena em cache dados de bloco do painel e dados de relatório para carregamento inicial do relatório do Live Connect, fazendo com que um número excessivo de consultas de cache sejam enviadas ao mecanismo e, em casos extremos, sobrecarregue o servidor. A propriedade ClientCacheRefreshPolicy permite que você substitua esse comportamento no nível do servidor. Para saber mais, consulte Propriedades gerais.
Anexar online
Esse recurso fornece a capacidade de anexar um modelo tabular como uma operação online. A anexação online pode ser usada para sincronização de réplicas somente leitura em ambientes de expansão de consulta locais. Para executar uma operação de anexação online, use a opção AllowOverwrite do comando Attach XMLA.
Esta operação pode exigir o dobro da memória do modelo para manter a versão antiga on-line durante o carregamento da nova versão.
Um padrão de uso típico pode ser o seguinte:
O DB1 (versão 1) já está conectado ao servidor de leitura apenas B.
O DB1 (versão 2) é processado no servidor de gravação A.
O DB1 (versão 2) é desanexado e colocado em um local acessível ao servidor B (seja por meio de um local compartilhado, ou usando robocopy, etc.).
O comando Attach com AllowOverwrite=True é executado no servidor B com o novo local do DB1 (versão 2).
Sem esse recurso, os administradores são obrigados primeiro a desanexar o banco de dados e, em seguida, anexar a nova versão do banco de dados. Isso leva a um tempo de inatividade quando o banco de dados não está disponível para os usuários e as consultas em relação a ele falharão.
Quando esse novo sinalizador é especificado, a versão 1 do banco de dados é excluída atomicamente dentro da mesma transação sem tempo de inatividade. No entanto, ele tem o custo de ter ambos os bancos de dados carregados na memória simultaneamente.
Relações muitos-para-muitos em modelos tabulares
Esta melhoria permite relações muitos-para-muitos entre tabelas nas quais ambas as colunas não são exclusivas. Uma relação pode ser definida entre uma tabela de dimensões e fatos em uma granularidade maior do que a coluna chave da dimensão. Isso evita ter que normalizar tabelas de dimensão e pode melhorar a experiência do usuário porque o modelo resultante tem um número menor de tabelas com colunas agrupadas logicamente.
As relações muitos-para-muitos exigem que os modelos estejam no nível de compatibilidade 1500 ou superior. Você pode criar relações muitos-para-muitos usando o Visual Studio 2019 com projetos do Analysis Services VSIX atualização 2.9.2 e superior, a API TOM (Tabular Object Model), TMSL (Tabular Model Scripting Language) e a ferramenta Editor de Tabela de código aberto.
Configurações de memória para governança de recursos
As seguintes configurações de propriedade fornecem governança de recursos aprimorada:
- Memory\QueryMemoryLimit - Esta propriedade de memória pode ser usada para limitar spools de memória criados por consultas DAX enviadas ao modelo.
- DbpropMsmdRequestMemoryLimit - Esta propriedade XMLA pode ser usada para substituir o valor da propriedade do servidor Memory\QueryMemoryLimit para uma conexão.
- OLAP\Query\RowsetSerializationLimit - Esta propriedade de servidor limita o número de linhas retornadas em um conjunto de linhas, protegendo os recursos do servidor contra o uso extensivo de exportação de dados. Essa propriedade aplica-se a ambas as consultas DAX e MDX.
Essas propriedades podem ser definidas usando a versão mais recente do SQL Server Management Studio (SSMS). Essas configurações já estão disponíveis para o Azure Analysis Services.
Recursos preteridos no SSAS 2019
Não há funcionalidades obsoletas anunciadas com esta versão.
Recursos descontinuados no SSAS 2019
Não há recursos descontinuados anunciados com esta versão.
Mudanças significativas no SSAS 2019
Não há alterações significativas nesta versão.
Mudanças de comportamento no SSAS 2019
Não há alterações de comportamento nesta versão.
SQL Server 2017 Analysis Services
O SQL Server 2017 Analysis Services vê alguns dos aprimoramentos mais importantes desde o SQL Server 2012. Com base no sucesso do modo tabular (introduzido pela primeira vez no SQL Server 2012 Analysis Services), esta versão torna os modelos tabulares mais poderosos do que nunca.
O modo multidimensional e o modo Power Pivot para SharePoint são essenciais para muitas implantações do Analysis Services. No ciclo de vida do produto Analysis Services, esses modos estão maduros. Não há novos recursos para nenhum desses modos nesta versão. No entanto, correções de bugs e melhorias de desempenho estão incluídas.
Os recursos descritos aqui estão incluídos no SQL Server 2017 Analysis Services. Mas, para aproveitá-los, você também deve usar as versões mais recentes do Visual Studio com projetos do Analysis Services e do SQL Server Management Studio (SSMS). Os projetos do Analysis Services e o SSMS são atualizados mensalmente com recursos novos e aprimorados que normalmente coincidem com a nova funcionalidade do SQL Server.
Embora seja importante aprender sobre todos os novos recursos, também é importante saber o que está sendo preterido e descontinuado nesta versão e em versões futuras. Para saber mais, consulte Funcionalidades descontinuadas no SSAS 2017.
Vamos dar uma olhada em alguns dos principais novos recursos desta versão.
1400 Nível de compatibilidade para modelos tabulares
Para aproveitar muitos dos novos recursos e funcionalidades descritos aqui, modelos tabulares novos ou existentes devem ser definidos ou atualizados para o nível de compatibilidade 1400. Os modelos no nível de compatibilidade 1400 não podem ser implantados no SQL Server 2016 SP1 ou anterior, ou rebaixados para níveis de compatibilidade inferiores. Para saber mais, consulte Nível de compatibilidade para modelos tabulares do Analysis Services.
No Visual Studio, você pode selecionar o novo nível de compatibilidade 1400 ao criar novos projetos de modelo tabular.
Para atualizar um modelo tabular existente no Visual Studio, no Gerenciador de Soluções, clique com o botão direito do mouse em Model.bim e, em Propriedades, defina a propriedade Nível de Compatibilidade como SQL Server 2017 (1400).
É importante ter em mente que, depois de atualizar um modelo existente para 1400, você não pode fazer downgrade. Certifique-se de manter um backup do seu banco de dados modelo 1200.
Experiência moderna do Get Data
Quando se trata de importar dados de fontes de dados para seus modelos tabulares, o SSDT apresenta a moderna experiência Get Data para modelos no nível de compatibilidade 1400. Esse novo recurso é baseado em funcionalidade semelhante no Power BI Desktop e no Microsoft Excel 2016. A experiência moderna Get Data fornece imensos recursos de transformação e mashup de dados usando o construtor de consultas Get Data e expressões M.
A experiência moderna Get Data fornece suporte para uma ampla gama de fontes de dados. No futuro, as atualizações incluirão suporte para ainda mais.
Uma interface de usuário poderosa e intuitiva torna a seleção de seus dados e recursos de transformação/mashup de dados mais fácil do que nunca.
A experiência moderna de obtenção de dados e as funcionalidades de mashup M não se aplicam aos modelos tabulares existentes que foram atualizados do nível de compatibilidade 1200 para o 1400. A nova experiência aplica-se apenas a novos modelos criados ao nível de compatibilidade 1400.
Dicas de codificação
Esta versão apresenta dicas de codificação, um recurso avançado usado para otimizar o processamento (atualização de dados) de grandes modelos tabulares na memória. Para entender melhor a codificação, consulte o whitepaper Ajuste de desempenho de modelos tabulares no SQL Server 2012 Analysis Services para entender melhor a codificação.
A codificação de valor fornece um melhor desempenho de consulta para colunas que normalmente são usadas apenas para agregações.
A codificação de hash é preferida para colunas agrupadas (geralmente valores de tabela de dimensão) e chaves estrangeiras. As colunas de cadeia de caracteres são sempre codificadas por hash.
As colunas numéricas podem usar qualquer um desses métodos de codificação. Quando o Analysis Services começa a processar uma tabela, se a tabela estiver vazia (com ou sem partições) ou se uma operação de processamento de tabela completa estiver sendo executada, os valores de amostra serão obtidos para cada coluna numérica para determinar se o valor deve ser aplicado ou a codificação de hash. Por padrão, a codificação de valores é escolhida quando a amostra de valores distintos na coluna é grande o suficiente - caso contrário, a codificação de hash geralmente fornece melhor compactação. É possível que o Analysis Services altere o método de codificação depois que a coluna for parcialmente processada com base em informações adicionais sobre a distribuição de dados e reinicie o processo de codificação; no entanto, isso aumenta o tempo de processamento e é ineficiente. O whitepaper de ajuste de desempenho discute a recodificação com mais detalhes e descreve como detetá-la usando o SQL Server Profiler.
As sugestões de codificação permitem que o modelador de dados especifique uma preferência pelo método de codificação, dado o conhecimento prévio da perfilagem de dados e/ou em resposta a eventos de rastreio de recodificação. Como a agregação sobre colunas codificadas por hash é mais lenta do que sobre colunas codificadas por valor, a codificação de valor pode ser especificada como uma dica para essas colunas. Não é garantido que a preferência seja aplicada. É uma dica em oposição a uma configuração. Para especificar uma dica de codificação, defina a propriedade EncodingHint na coluna. Os valores possíveis são "Default", "Value" e "Hash". O trecho a seguir de metadados baseados em JSON do arquivo Model.bim especifica a codificação de valor para a coluna Valor de Vendas.
{
"name": "Sales Amount",
"dataType": "decimal",
"sourceColumn": "SalesAmount",
"formatString": "\\$#,0.00;(\\$#,0.00);\\$#,0.00",
"sourceProviderType": "Currency",
"encodingHint": "Value"
}
Hierarquias desbalanceadas
Em modelos tabulares, você pode modelar hierarquias pai-filho. Hierarquias com um número diferente de níveis são muitas vezes referidas como hierarquias irregulares. Por padrão, hierarquias irregulares são exibidas com espaços em branco para níveis abaixo do filho mais baixo. Aqui está um exemplo de uma hierarquia irregular em um organograma:
Esta versão apresenta a propriedade Ocultar Membros . Você pode definir a propriedade Ocultar Membros de uma hierarquia como Ocultar membros em branco.
Observação
Os membros em branco no modelo são representados por um valor em branco DAX, não por uma cadeia de caracteres vazia.
Quando definido como Ocultar membros em branco e o modelo implantado, uma versão mais fácil de ler da hierarquia é mostrada em clientes de relatórios como o Excel.
Linhas de detalhe
Agora você pode definir um conjunto de linhas personalizado contribuindo para um valor de medida. As Linhas de Detalhe são semelhantes à ação de detalhamento padrão em modelos multidimensionais. Isso permite que os usuários finais visualizem as informações com mais detalhes do que o nível agregado.
A Tabela Dinâmica a seguir mostra as Vendas Totais da Internet por ano a partir do modelo tabular de exemplo da Adventure Works. Pode clicar com o botão direito do rato numa célula com um valor agregado da medida e, em seguida, clicar em Mostrar Detalhes para ver as linhas de detalhes.
Por padrão, os dados associados na tabela Vendas pela Internet são exibidos. Esse comportamento limitado geralmente não é significativo para o usuário porque a tabela pode não ter as colunas necessárias para mostrar informações úteis, como nome do cliente e informações do pedido. Com Detail Rows, você pode especificar uma propriedade Detail Rows Expression para medidas.
Propriedade "Detail Rows Expression" para medidas
A propriedade Detail Rows Expression para medidas permite que os autores do modelo personalizem as colunas e linhas retornadas ao usuário final.
A função SELECTCOLUMNS DAX é comumente usada em uma expressão de linhas de detalhes. O exemplo a seguir define as colunas a serem retornadas para linhas na tabela Vendas pela Internet no modelo tabular de exemplo da Adventure Works:
SELECTCOLUMNS(
'Internet Sales',
"Customer First Name", RELATED( Customer[Last Name]),
"Customer Last Name", RELATED( Customer[First Name]),
"Order Date", 'Internet Sales'[Order Date],
"Internet Total Sales", [Internet Total Sales]
)
Com a propriedade definida e o modelo implantado, um conjunto de linhas personalizado é retornado quando o usuário seleciona Mostrar detalhes. Ele respeita automaticamente o contexto de filtro da célula que foi selecionada. Neste exemplo, apenas as linhas para o valor 2010 são exibidas:
Propriedade Default Detail Rows Expression para tabelas
Além das medidas, as tabelas também têm uma propriedade para definir uma expressão de linhas de detalhes. A propriedade Default Detail Rows Expression atua como o padrão para todas as medidas dentro da tabela. As medidas que não têm sua própria expressão definida herdam a expressão da tabela e mostram o conjunto de linhas definido para a tabela. Isso permite a reutilização de expressões, e novas medidas adicionadas à tabela posteriormente herdam automaticamente a expressão.
Função DAX DETAILROWS
Incluída nesta versão está uma nova DETAILROWS
função DAX que retorna o conjunto de linhas definido pela expressão de linhas detalhadas. Ele funciona de forma semelhante à DRILLTHROUGH
instrução em MDX, que também é compatível com expressões de linhas de detalhes definidas em modelos tabulares.
A consulta DAX a seguir retorna o conjunto de linhas definido pela expressão de linhas de detalhes para a medida ou sua tabela. Se nenhuma expressão for definida, os dados da tabela Vendas pela Internet serão retornados porque é a tabela que contém a medida.
EVALUATE DETAILROWS([Internet Total Sales])
Segurança no nível do objeto
Esta versão apresenta a segurança em nível de objeto para tabelas e colunas. Além de restringir o acesso a dados de tabelas e colunas, nomes confidenciais de tabelas e colunas podem ser protegidos. Isso ajuda a evitar que um usuário mal-intencionado descubra que essa tabela existe.
A segurança no nível do objeto deve ser definida usando os metadados baseados em JSON, TMSL (Tabular Model Scripting Language) ou TOM (Tabular Object Model).
Por exemplo, o código a seguir ajuda a proteger a tabela Product no modelo tabular de exemplo da Adventure Works definindo a propriedade MetadataPermission da classe TablePermission como None.
//Find the Users role in Adventure Works and secure the Product table
ModelRole role = db.Model.Roles.Find("Users");
Table productTable = db.Model.Tables.Find("Product");
if (role != null && productTable != null)
{
TablePermission tablePermission;
if (role.TablePermissions.Contains(productTable.Name))
{
tablePermission = role.TablePermissions[productTable.Name];
}
else
{
tablePermission = new TablePermission();
role.TablePermissions.Add(tablePermission);
tablePermission.Table = productTable;
}
tablePermission.MetadataPermission = MetadataPermission.None;
}
db.Update(UpdateOptions.ExpandFull);
Visualizações Dinâmicas de Gestão (DMVs)
DMVs são consultas no SQL Server Profiler que retornam informações sobre operações de servidor local e integridade do servidor. Esta versão inclui melhorias nas Exibições de Gerenciamento Dinâmico (DMV) para modelos tabulares nos níveis de compatibilidade 1200 e 1400.
DISCOVER_CALC_DEPENDENCY agora funciona com modelos tabulares 1200 e superiores. Modelos tabulares 1400 e superiores mostram dependências entre partições M, expressões M e fontes de dados estruturadas. Para saber mais, consulte o blog do Analysis Services.
MDSCHEMA_MEASUREGROUP_DIMENSIONS Melhorias estão incluídas para este DMV, que é usado por várias ferramentas de cliente para apresentar a dimensionalidade das medidas. Por exemplo, o recurso Explorar em Tabelas Dinâmicas do Excel permite que o usuário faça uma análise cruzada para dimensões relacionadas às medidas selecionadas. Esta versão corrige as colunas de cardinalidade, que anteriormente mostravam valores incorretos.
Aprimoramentos do DAX
Uma das partes mais importantes da nova funcionalidade DAX é o novo Operador IN / Função CONTAINSROW para expressões DAX. Isso é semelhante ao TSQL IN
operador comumente usado para especificar vários valores em uma WHERE
cláusula.
Anteriormente, era comum especificar filtros de vários valores usando o operador lógico OR
, como na seguinte expressão de medida:
Filtered Sales:=CALCULATE (
[Internet Total Sales],
'Product'[Color] = "Red"
|| 'Product'[Color] = "Blue"
|| 'Product'[Color] = "Black"
)
Isso é simplificado usando o IN
operador:
Filtered Sales:=CALCULATE (
[Internet Total Sales], 'Product'[Color] IN { "Red", "Blue", "Black" }
)
Neste caso, o IN
operador refere-se a uma tabela de coluna única com 3 linhas, uma para cada uma das cores especificadas. Observe que a sintaxe do construtor da tabela usa chaves encaracoladas.
O IN
operador é funcionalmente equivalente à CONTAINSROW
função:
Filtered Sales:=CALCULATE (
[Internet Total Sales], CONTAINSROW({ "Red", "Blue", "Black" }, 'Product'[Color])
)
O IN
operador também pode ser usado de forma eficaz com construtores de tabela. Por exemplo, a seguinte medida filtra por combinações de cor e categoria do produto:
Filtered Sales:=CALCULATE (
[Internet Total Sales],
FILTER( ALL('Product'),
( 'Product'[Color] = "Red" && Product[Product Category Name] = "Accessories" )
|| ( 'Product'[Color] = "Blue" && Product[Product Category Name] = "Bikes" )
|| ( 'Product'[Color] = "Black" && Product[Product Category Name] = "Clothing" )
)
)
Usando o novo IN
operador, a expressão de medida acima é agora equivalente à abaixo:
Filtered Sales:=CALCULATE (
[Internet Total Sales],
FILTER( ALL('Product'),
('Product'[Color], Product[Product Category Name]) IN
{ ( "Red", "Accessories" ), ( "Blue", "Bikes" ), ( "Black", "Clothing" ) }
)
)
Melhorias adicionais
Além de todos os novos recursos, o Analysis Services, o SSDT e o SSMS também incluem as seguintes melhorias:
- A hierarquia e a reutilização de colunas surgiram em locais mais úteis na lista de campos do Power BI.
- Relações de data para facilmente criar relações com dimensões de data a partir de campos de data.
- A opção de instalação padrão do Analysis Services agora é para o modo tabular.
- Novas fontes de dados do Get Data (Power Query).
- Editor DAX para SSDT.
- As fontes de dados DirectQuery existentes suportam consultas M.
- Melhorias do SSMS, como visualização, edição e suporte a scripts para fontes de dados estruturadas.
Funcionalidades obsoletas no SSAS 2017
Os seguintes recursos foram preteridos nesta versão:
Modo/Categoria | Característica |
---|---|
Multidimensional | Mineração de dados |
Multidimensional | Grupos de medidas ligados remotamente |
Tabela | Modelos com nível de compatibilidade 1100 e 1103 |
Tabela | Propriedades do modelo de objeto tabular - Column.TableDetailPosition, Column.IsDefaultLabel, Column.IsDefaultImage |
Ferramentas | SQL Server Profiler para captura de rastreio A substituição é usar o Extended Events Profiler incorporado no SQL Server Management Studio. Consulte Monitorizar o Analysis Services com Eventos Estendidos do SQL Server. |
Ferramentas | Servidor Profiler para reprodução de rastreio Substituição. Não há substituição. |
Objetos de gerenciamento de rastreamento e APIs de rastreamento | Objetos Microsoft.AnalysisServices.Trace (contém as APIs para objetos Trace e Replay do Analysis Services). A substituição é feita por partes. - Configuração de rastreamento: Microsoft.SqlServer.Management.XEvent - Leitura de rastreamento: Microsoft.SqlServer.XEvent.Linq - Trace Replay: Nenhum |
Recursos descontinuados no SSAS 2017
Os seguintes recursos são descontinuados nesta versão:
Modo/Categoria | Característica |
---|---|
Tabela | Valor da propriedade de memória VertiPaqPagingPolicy (2), habilite a paginação em disco usando arquivos mapeados de memória. |
Multidimensional | Partições remotas |
Multidimensional | Grupos de medidas ligados remotamente |
Multidimensional | Reescrita dimensional |
Multidimensional | Dimensões ligadas |
Mudanças significativas no SSAS 2017
Não há alterações significativas nesta versão.
Mudanças de comportamento no SSAS 2017
Alterações no MDSCHEMA_MEASUREGROUP_DIMENSIONS e DISCOVER_CALC_DEPENDENCY, detalhadas no anúncio das Novidades do SQL Server 2017 CTP 2.1 para Analysis Services.
SQL Server 2016 Analysis Services
O SQL Server 2016 Analysis Services inclui muitos novos aprimoramentos que oferecem desempenho aprimorado, criação de soluções mais fácil, gerenciamento automatizado de banco de dados, relacionamentos aprimorados com filtragem cruzada bidirecional, processamento de partições paralelas e muito mais. No centro da maioria dos aprimoramentos desta versão está o novo nível de compatibilidade 1200 para bancos de dados de modelos tabulares.
SQL Server 2016 Service Pack 1 (SP1) Analysis Services
O SQL Server 2016 Service SP1 Analysis Services oferece desempenho e escalabilidade aprimorados por meio do reconhecimento de acesso não uniforme à memória (NUMA) e alocação otimizada de memória com base nos blocos de construção Intel Threading (Intel TBB). Essa nova funcionalidade ajuda a reduzir o Custo Total de Propriedade (TCO), oferecendo suporte a mais usuários em menos servidores corporativos mais poderosos.
Em particular, o SQL Server 2016 SP1 Analysis Services apresenta melhorias nestas áreas principais:
- Reconhecimento de NUMA - Para um melhor suporte a NUMA, o mecanismo na memória (VertiPaq) dentro do Analysis Services agora mantém uma fila de tarefas separada em cada nó NUMA. Isso garante que as tarefas de verificação de segmentos sejam executadas no mesmo nó onde a memória é alocada para os dados do segmento. Observe que o reconhecimento NUMA só é ativado por padrão em sistemas com pelo menos quatro nós NUMA. Em sistemas de dois nós, os custos de acesso à memória alocada remota geralmente não justificam a sobrecarga de gerenciar especificidades do NUMA.
- Alocação de memória - O Analysis Services foi acelerado com o Intel Threading Building Blocks, um alocador escalável que fornece pools de memória separados para cada núcleo. À medida que o número de núcleos aumenta, o sistema pode ser dimensionado quase linearmente.
- Fragmentação de heap - O alocador escalável baseado em TBB Intel também ajuda a mitigar problemas de desempenho devido à fragmentação de heap que demonstraram ocorrer com o heap do Windows.
Os testes de desempenho e escalabilidade mostraram ganhos significativos na taxa de transferência de consultas ao executar o SQL Server 2016 SP1 Analysis Services em grandes servidores corporativos de vários nós.
Embora a maioria dos aprimoramentos nesta versão sejam específicos para modelos tabulares, vários aprimoramentos foram feitos em modelos multidimensionais; por exemplo, otimização de ROLAP de contagem distinta para fontes de dados como DB2 e Oracle, suporte detalhado a várias seleções com o Excel 2016 e otimizações de consulta do Excel.
SQL Server 2016 General Availability (GA) Analysis Services
Modelação
Melhor desempenho de modelagem para modelos tabulares 1200
Para modelos tabulares 1200, as operações de metadados no SSDT são muito mais rápidas do que os modelos tabulares 1100 ou 1103. Em comparação, no mesmo hardware, a criação de uma relação em um modelo definido para o nível de compatibilidade do SQL Server 2014 (1103) com 23 tabelas leva 3 segundos, enquanto a mesma relação em um modelo criado definido para o nível de compatibilidade 1200 leva pouco menos de um segundo.
Modelos de projeto adicionados para modelos tabulares 1200 no SSDT
Com esta versão, você não precisa mais de duas versões do SSDT para criar projetos relacionais e de BI. O SQL Server Data Tools para Visual Studio 2015 adiciona modelos de projeto para soluções do Analysis Services, incluindo Projetos de Tabela do Analysis Services usados para criar modelos no nível de compatibilidade 1200. Outros modelos de projeto do Analysis Services para soluções multidimensionais e de mineração de dados também estão incluídos, mas no mesmo nível funcional (1100 ou 1103) das versões anteriores.
Mostrar pastas
As pastas de exibição agora estão disponíveis para modelos tabulares 1200. Definidas no SQL Server Data Tools e renderizadas em aplicativos cliente como Excel ou Power BI Desktop, as pastas de exibição ajudam a organizar um grande número de medidas em pastas individuais, adicionando uma hierarquia visual para facilitar a navegação em listas de campos.
Filtragem cruzada bidirecional
Uma novidade nesta versão é uma abordagem integrada para habilitar filtros cruzados bidirecionais em modelos tabulares, eliminando a necessidade de soluções alternativas DAX feitas à mão para propagar o contexto de filtro entre relações de tabela. Os filtros só são gerados automaticamente quando a direção pode ser estabelecida com um alto grau de certeza. Se houver ambiguidade na forma de vários caminhos de consulta nas relações de tabela, um filtro não será criado automaticamente. Consulte Filtros cruzados bidirecionais para modelos tabulares no SQL Server 2016 Analysis Services para obter detalhes.
Traduções
Agora você pode armazenar metadados traduzidos em um modelo tabular 1200. Os metadados no modelo incluem campos para Cultura, legendas traduzidas e descrições traduzidas. Para adicionar traduções, use o comandoTraduções de Modelo> no SQL Server Data Tools. Consulte Traduções em modelos tabulares (Analysis Services) para obter detalhes.
Tabelas inseridas
Agora você pode atualizar um modelo tabular 1100 ou 1103 para 1200 quando o modelo contém tabelas coladas. Recomendamos o uso do SQL Server Data Tools. No SSDT, defina CompatibilityLevel como 1200 e implante em uma instância do SQL Server 2017 do SQL Server Analysis Services. Consulte Nível de compatibilidade para modelos tabulares no Analysis Services para obter detalhes.
Tabelas calculadas em SSDT
Uma tabela calculada é uma construção exclusiva do modelo baseada numa expressão ou consulta DAX dentro do SSDT. Quando implantada em um banco de dados, uma tabela calculada é indistinguível das tabelas regulares.
Há vários usos para tabelas calculadas, incluindo a criação de novas tabelas para expor uma tabela existente em uma função específica. O exemplo clássico é uma tabela Date que opera em vários contextos (data do pedido, data do envio e assim por diante). Ao criar uma tabela calculada para uma determinada função, agora você pode ativar uma relação de tabela para facilitar consultas ou interação de dados usando a tabela calculada. Outro uso para tabelas calculadas é combinar partes de tabelas existentes em uma tabela totalmente nova que existe apenas no modelo. Consulte Criar uma tabela calculada para saber mais.
Correção de fórmulas
Com a correção de fórmulas em um modelo tabular 1200, o SSDT atualizará automaticamente todas as medidas que fazem referência a uma coluna ou tabela que foi renomeada.
Suporte para o gerenciador de configuração do Visual Studio
Para oferecer suporte a vários ambientes, como ambientes de teste e pré-produção, o Visual Studio permite que os desenvolvedores criem várias configurações de projeto usando o gerenciador de configuração. Os modelos multidimensionais já aproveitam isso, mas os modelos tabulares não. Com esta versão, agora você pode usar o Configuration Manager para implantar em servidores diferentes.
Gerenciamento de instâncias
Administrar modelos tabulares 1200 no SSMS
Nesta versão, uma instância do Analysis Services no modo de servidor tabular pode executar modelos tabulares em qualquer nível de compatibilidade (1100, 1103, 1200). O SQL Server Management Studio mais recente é atualizado para exibir propriedades e fornecer administração de modelo de banco de dados para modelos tabulares no nível de compatibilidade 1200.
Processamento paralelo para várias partições de tabela em modelos tabulares
Esta versão inclui uma nova funcionalidade de processamento paralelo para tabelas com duas ou mais partições, aumentando o desempenho do processamento. Não há definições de configuração para esse recurso. Para obter mais informações sobre como configurar partições e processar tabelas, consulte Partições de modelo tabular.
Adicionar contas de computador como Administradores no SSMS
Os administradores do SQL Server Analysis Services agora podem usar o SQL Server Management Studio para configurar contas de computador para serem membros do grupo de administradores do SQL Server Analysis Services. Na caixa de diálogo Selecionar Usuários ou Grupos , defina os Locais para o domínio computadores e adicione o tipo de objeto Computadores . Para obter mais informações, consulte Conceder direitos de administrador do servidor a uma instância do Analysis Services.
DBCC para Analysis Services
O Verificador de Consistência de Banco de Dados (DBCC) é executado internamente para detetar possíveis problemas de corrupção de dados na carga do banco de dados, mas também pode ser executado sob demanda se você suspeitar de problemas em seus dados ou modelo. DBCC executa verificações diferentes, dependendo se o modelo é tabular ou multidimensional. Consulte DBCC (Database Consistency Checker) para bancos de dados tabulares e multidimensionais do Analysis Services para obter detalhes.
Atualizações dos Extended Events
Esta versão adiciona uma interface gráfica do usuário ao SQL Server Management Studio para configurar e gerenciar eventos estendidos do SQL Server Analysis Services. Você pode configurar fluxos de dados ao vivo para monitorar a atividade do servidor em tempo real, manter os dados da sessão carregados na memória para uma análise mais rápida ou salvar fluxos de dados em um arquivo para análise offline. Para obter mais informações, consulte Monitorizar o Analysis Services com Eventos Avançados do SQL Server.
Criação de scripts
PowerShell para modelos tabulares
Esta versão inclui aprimoramentos do PowerShell para modelos tabulares no nível de compatibilidade 1200. Você pode usar todos os cmdlets aplicáveis, além de cmdlets específicos para o modo tabular: cmdlet Invoke-ProcessASDatabase e cmdlet Invoke-ProcessTable.
Operações de script de banco de dados do SSMS
No SQL Server Management Studio (SSMS) mais recente, o script agora está habilitado para comandos de banco de dados, incluindo Criar, Alterar, Excluir, Backup, Restaurar, Anexar, Desanexar. A saída é TMSL (Tabular Model Scripting Language) em JSON. Consulte Referência de TMSL (Tabular Model Scripting Language) para obter mais informações.
Tarefa de Execução de DDL do Analysis Services
A Tarefa Executar DDL do Analysis Services agora também aceita comandos TMSL (Tabular Model Scripting Language).
Cmdlet do SSAS PowerShell
O cmdlet Invoke-ASCmd do SSAS PowerShell agora aceita comandos TMSL (Tabular Model Scripting Language). Outros cmdlets do SSAS PowerShell podem ser atualizados em uma versão futura para usar os novos metadados tabulares (exceções serão destacadas nas notas de versão). Consulte Referência do PowerShell do Analysis Services para obter detalhes.
TMSL (Tabular Model Scripting Language) com suporte no SSMS
Usando a versão mais recente do SSMS, agora você pode criar scripts para automatizar a maioria das tarefas administrativas para modelos tabulares 1200. Atualmente, as seguintes tarefas podem ser roteirizadas: Processo em qualquer nível, além de CRIAR, ALTERAR, EXCLUIR no nível do banco de dados.
Funcionalmente, TMSL é equivalente à extensão XMLA ASSL que fornece definições de objeto multidimensionais, exceto que TMSL usa descritores nativos como modelo, tabela e relacionamento para descrever metadados tabulares. Consulte Referência TMSL (Tabular Model Scripting Language) para obter detalhes sobre o esquema.
Um script baseado em JSON gerado para um modelo tabular pode ter a seguinte aparência:
{
"create": {
"database": {
"name": "AdventureWorksTabular1200",
"id": "AdventureWorksTabular1200",
"compatibilityLevel": 1200,
"readWriteMode": "readWrite",
"model": {}
}
}
}
A carga útil é um documento JSON que pode ser tão mínimo quanto o exemplo mostrado acima, ou altamente embelezado com o conjunto completo de definições de objeto. A referência TMSL (Tabular Model Scripting Language) descreve a sintaxe.
No nível do banco de dados, os comandos CREATE, ALTER e DELETE produzirão o script TMSL na janela XMLA familiar. Outros comandos, como Process, também podem ser scriptados nesta versão. O suporte a scripts para muitas outras ações pode ser adicionado em uma versão futura.
Comandos programáveis | Descrição |
---|---|
criar | Adiciona um banco de dados, conexão ou partição. O equivalente ASSL é CREATE. |
criarOuSubstituir | Atualiza uma definição de objeto existente (banco de dados, conexão ou partição) substituindo uma versão anterior. O equivalente ASSL é ALTER com AllowOverwrite definido como true e ObjectDefinition como ExpandFull. |
suprimir | Remove uma definição de objeto. O equivalente ASSL é DELETE. |
de dados | Processa o objeto. O equivalente ASSL é PROCESSO. |
DAX
Edição de fórmulas DAX melhorada
As atualizações da barra de fórmulas ajudam você a escrever fórmulas com mais facilidade, diferenciando funções, campos e medidas usando a coloração de sintaxe, fornece sugestões inteligentes de funções e campos e informa se partes da sua expressão DAX estão erradas usando rabiscos de erro. Também permite que utilizes várias linhas (teclas Alt + Enter) e indentação (tecla Tab). A barra de fórmulas agora também permite que você escreva comentários como parte de suas medidas, basta digitar "//" e tudo depois desses caracteres na mesma linha será considerado um comentário.
Variáveis DAX
Esta versão agora inclui suporte para variáveis no DAX. As variáveis agora podem armazenar o resultado de uma expressão como uma variável nomeada, que pode ser passada como um argumento para outras expressões de medida. Uma vez que os valores resultantes tenham sido calculados para uma expressão variável, esses valores não mudam, mesmo que a variável seja referenciada em outra expressão. Para obter mais informações, consulte Função VAR.
Novas funções DAX
Com esta versão, o DAX introduz mais de cinquenta novas funções para suportar cálculos mais rápidos e visualizações melhoradas no Power BI. Para saber mais, consulte Novas funções DAX.
Salvar medidas incompletas
Agora você pode salvar medidas DAX incompletas diretamente em um projeto de modelo tabular 1200 e retomá-lo quando estiver pronto para continuar.
Aprimoramentos adicionais do DAX
- Cálculo não vazio - Reduz o número de verificações necessárias para não vazio.
- Fusão de medidas - Várias medidas da mesma tabela serão combinadas em um único mecanismo de armazenamento - consulta.
- Conjuntos de agrupamento - Quando uma consulta solicita medidas em várias granularidades (Total/Ano/Mês), uma única consulta - é enviada no nível mais baixo e o restante das granularidades é derivado do nível mais baixo.
- Eliminação de junção redundante - Uma única consulta ao mecanismo de armazenamento retorna as colunas de dimensão e os valores de medida.
- Avaliação rigorosa de IF/SWITCH - Uma ramificação cuja condição é falsa não resultará mais em consultas do mecanismo de armazenamento. Anteriormente, os ramos eram criteriosamente avaliados, mas os resultados eram posteriormente descartados.
Programador
Namespace Microsoft.AnalysisServices.Tabular para exequibilidade em Tabular 1200 no AMO
O AMO (Objetos de Gerenciamento do Analysis Services) é atualizado para incluir um novo namespace tabular para gerenciar uma instância do Modo de Tabela do SQL Server 2016 Analysis Services, bem como fornecer a linguagem de definição de dados para criar ou modificar modelos tabulares 1200 programaticamente. Visite Microsoft.AnalysisServices.Tabular para ler a API.
Atualizações do AMO (Objetos de Gerenciamento de Serviços de Análise)
O AMO (Objetos de Gerenciamento do Analysis Services) foi refatorado para incluir um segundo assembly, Microsoft.AnalysisServices.Core.dll. O novo assembly separa classes comuns como Servidor, Banco de Dados e Função que têm ampla aplicação no Analysis Services, independentemente do modo de servidor. Anteriormente, essas classes faziam parte do assembly original do Microsoft.AnalysisServices. Movê-los para um novo assembly abre caminho para futuras extensões para AMO, com divisão clara entre APIs genéricas e específicas do contexto. Os aplicativos existentes não são afetados pelos novos assemblies. No entanto, se você optar por reconstruir aplicativos usando o novo assembly AMO por qualquer motivo, certifique-se de adicionar uma referência a Microsoft.AnalysisServices.Core. De forma semelhante, os scripts do PowerShell que carregam e chamam o AMO agora devem carregar o Microsoft.AnalysisServices.Core.dll. Certifique-se de atualizar todos os scripts.
Editor JSON para arquivos BIM
A Vista de Código no Visual Studio 2015 agora renderiza o ficheiro BIM no formato JSON para modelos tabulares de nível 1200. A versão do Visual Studio determina se o arquivo BIM é renderizado em JSON por meio do Editor JSON interno ou como texto simples.
Para usar o editor JSON, com a capacidade de expandir e recolher seções do modelo, você precisará da versão mais recente do SQL Server Data Tools e do Visual Studio 2015 (qualquer edição, incluindo a edição gratuita da Comunidade). Para todas as outras versões do SSDT ou Visual Studio, o arquivo BIM é processado em JSON como texto simples. No mínimo, um modelo vazio conterá o seguinte JSON:
{
"name": "SemanticModel",
"id": "SemanticModel",
"compatibilityLevel": 1200,
"readWriteMode": "readWrite",
"model": {}
}
Advertência
Evite editar o JSON diretamente. Fazer isso pode corromper o modelo.
Novos elementos no esquema MS-CSDLBI 2.0
Os seguintes elementos foram adicionados ao tipo complexo TProperty definido no esquema [MS-CSDLBI] 2.0:
Elemento | Definição |
---|---|
Valor Padrão | Uma propriedade que especifica o valor usado ao avaliar a consulta. A propriedade DefaultValue é opcional, mas é selecionada automaticamente se os valores do membro não puderem ser agregados. |
Estatísticas | Um conjunto de estatísticas derivadas dos dados subjacentes associados à coluna. Essas estatísticas são definidas pelo tipo complexo TPropertyStatistics e são fornecidas somente se não forem computacionalmente caras de gerar, conforme descrito na seção 2.1.13.5 do documento Conceptual Schema Definition File Format with Business Intelligence Annotations. |
Consulta Direta
Nova implementação do DirectQuery
Esta versão apresenta melhoramentos importantes no DirectQuery para modelos tabulares 1200. Aqui está um resumo:
- O DirectQuery agora gera consultas mais simples que fornecem melhor desempenho.
- Controle extra sobre a definição de conjuntos de dados de amostra usados para design e teste de modelos.
- A segurança em nível de linha (RLS) agora é suportada para modelos tabulares 1200 no modo DirectQuery. Anteriormente, a presença de RLS impedia a implantação de um modelo tabular no modo DirectQuery.
- As colunas calculadas são agora suportadas para modelos tabulares 1200 em modo DirectQuery. Anteriormente, a presença de colunas calculadas impedia a implantação de um modelo tabular no modo DirectQuery.
- As otimizações de desempenho incluem eliminação de junção redundante para VertiPaq e DirectQuery.
Novas fontes de dados para o modo DirectQuery
As fontes de dados suportadas para modelos tabulares 1200 no modo DirectQuery agora incluem Oracle, Teradata e Microsoft Analytics Platform (anteriormente conhecido como Parallel Data Warehouse). Para saber mais, consulte Modo DirectQuery.
Recursos preteridos no SSAS 2016
Os seguintes recursos foram preteridos nesta versão:
Modo/Categoria | Característica |
---|---|
Multidimensional | Partições remotas |
Multidimensional | Grupos de medidas ligados remotamente |
Multidimensional | Reescrita dimensional |
Multidimensional | Dimensões ligadas |
Multidimensional | Notificações de tabela do SQL Server para cache proativo. A substituição consiste em usar sondagem para um cache proativo. Consulte Cache proativo (dimensões) e Cache proativo (partições). |
Multidimensional | Cubos de sessão. Não há substituição. |
Multidimensional | Cubos locais. Não há substituição. |
Tabela | Os níveis de compatibilidade dos modelos tabulares 1100 e 1103 não serão suportados numa versão futura. A substituição é definir modelos no nível de compatibilidade 1200 ou superior, convertendo definições de modelo em metadados tabulares. Consulte Nível de compatibilidade para modelos tabulares no Analysis Services. |
Ferramentas | SQL Server Profiler para captura de rastreio A substituição é usar o Extended Events Profiler incorporado no SQL Server Management Studio. Consulte Monitorizar o Analysis Services com Eventos Estendidos do SQL Server. |
Ferramentas | Servidor Profiler para reprodução de rastreio Substituição. Não há substituição. |
Objetos de gerenciamento de rastreamento e APIs de rastreamento | Objetos Microsoft.AnalysisServices.Trace (contém as APIs para objetos Trace e Replay do Analysis Services). A substituição é feita por partes. - Configuração de rastreamento: Microsoft.SqlServer.Management.XEvent - Leitura de rastreamento: Microsoft.SqlServer.XEvent.Linq - Trace Replay: Nenhum |
Recursos descontinuados no SSAS 2016
Os seguintes recursos são descontinuados nesta versão:
Característica | Substituição ou solução alternativa |
---|---|
CalculationPassValue (MDX) | Nenhum. Esse recurso foi preterido no SQL Server 2005. |
CalculationCurrentPass (MDX) | Nenhum. Esse recurso foi preterido no SQL Server 2005. |
NON_EMPTY_BEHAVIOR dica do otimizador de consulta | Nenhum. Esse recurso foi preterido no SQL Server 2008. |
Montagens COM | Nenhum. Esse recurso foi preterido no SQL Server 2008. |
CELL_EVALUATION_LIST propriedade intrínseca da célula | Nenhum. Esse recurso foi preterido no SQL Server 2005. |
Mudanças significativas no SSAS 2016
Atualização da versão do .NET 4.0
As bibliotecas de cliente AMO (Objetos de Gerenciamento do Analysis Services), ADOMD.NET e Modelo de Objeto de Tabela (TOM) agora visam o tempo de execução do .NET 4.0. Isso pode ser uma alteração significativa para aplicativos destinados ao .NET 3.5. Os aplicativos que usam versões mais recentes desses assemblies agora devem ter como destino o .NET 4.0 ou posterior.
Atualização da versão AMO
Esta versão é uma atualização de versão para o Analysis Services Management Objects (AMO) e representa uma alteração disruptiva em determinadas circunstâncias. O código e os scripts existentes que chamam o AMO continuarão a ser executados como antes se você atualizar de uma versão anterior. No entanto, se você precisar recompilar seu aplicativo e estiver direcionando uma instância do SQL Server 2016 Analysis Services, deverá adicionar o seguinte namespace para tornar seu código ou script operacional:
using Microsoft.AnalysisServices;
using Microsoft.AnalysisServices.Core;
O namespace Microsoft.AnalysisServices.Core agora é necessário sempre que você faz referência ao assembly Microsoft.AnalysisServices em seu código. Os objetos que antes estavam apenas no namespace Microsoft.AnalysisServices são movidos para o namespace Core nesta versão se o objeto for usado da mesma maneira em cenários tabulares e multidimensionais. Por exemplo, as APIs relacionadas ao servidor são realocadas para o namespace Core.
Embora agora existam vários namespaces, ambos existem no mesmo assembly (Microsoft.AnalysisServices.dll).
Alterações do XEvent DISCOVER
Para oferecer melhor suporte ao streaming XEvent DISCOVER no SSMS para SQL Server 2016 Analysis Services, DISCOVER_XEVENT_TRACE_DEFINITION
é substituído pelos seguintes rastreamentos XEvent:
DESCUBRIR_PACOTES_DE_XEVENTOS
DESCUBRIR_XEVENT_OBJECT
DISCOVER_XEVENT_OBJECT_COLUMNS
DISCOVER_XEVENT_SESSION_TARGETS
Mudanças de comportamento no SSAS 2016
Analysis Services em modo SharePoint
A execução do assistente de Configuração do Power Pivot não é mais necessária como uma tarefa pós-instalação. Isso é verdadeiro para todas as versões com suporte do SharePoint que carregam modelos do SQL Server 2016 Analysis Services atual.
Modo DirectQuery para modelos tabulares
DirectQuery é um modo de acesso a dados para modelos tabulares, onde a execução da consulta é executada em um banco de dados relacional de back-end, recuperando um conjunto de resultados em tempo real. Geralmente é usado para conjuntos de dados muito grandes que não cabem na memória ou quando os dados são voláteis e você deseja que os dados mais recentes sejam retornados em consultas em um modelo tabular.
O DirectQuery existiu como um modo de acesso a dados nas últimas versões. No SQL Server 2016 Analysis Services, a implementação foi ligeiramente revisada, supondo que o modelo tabular esteja no nível de compatibilidade 1200 ou superior. O DirectQuery tem menos restrições do que antes. Ele também tem diferentes propriedades de banco de dados.
Se você estiver usando o DirectQuery em um modelo tabular existente, poderá manter o modelo em seu nível de compatibilidade atual de 1100 ou 1103 e continuar a usar o DirectQuery como implementado para esses níveis. Como alternativa, você pode atualizar para 1200 ou superior para se beneficiar dos aprimoramentos feitos no DirectQuery.
Não há nenhuma atualização no local de um modelo DirectQuery porque as configurações dos níveis de compatibilidade mais antigos não têm contrapartidas exatas nos níveis de compatibilidade 1200 e superiores. Se você tiver um modelo tabular existente executado no modo DirectQuery, deverá abri-lo no SQL Server Data Tools, desativar o DirectQuery, definir a propriedade Nível de Compatibilidade como 1200 ou superior e reconfigurar as propriedades do DirectQuery. Consulte Modo DirectQuery para obter detalhes.
Definições
Um recurso preterido será descontinuado do produto numa versão futura, mas ainda é suportado e incluído na versão atual para manter a retrocompatibilidade. É recomendável interromper o uso de recursos preteridos em projetos novos e existentes para manter a compatibilidade com versões futuras. A documentação não é atualizada para recursos preteridos.
Um recurso descontinuado foi preterido em uma versão anterior. Ele pode continuar a ser incluído na versão atual, mas não é mais suportado. Os recursos descontinuados podem ser removidos totalmente na versão declarada ou futura.
Uma alteração de compatibilidade faz com que um recurso, modelo de dados, código da aplicação ou script deixe de funcionar após a atualização para a versão mais recente.
Uma alteração de comportamento afeta como o mesmo recurso funciona na versão atual em comparação com a versão anterior. Apenas mudanças significativas de comportamento são descritas. Alterações na interface do usuário não estão incluídas. Alterações nos valores padrão, configuração manual necessária para concluir uma funcionalidade de atualização ou restauração ou uma nova implementação de um recurso existente são exemplos de uma alteração de comportamento.