Estamos migrando o SSAS 2014 para o SSAS 2016, a consulta descrita abaixo quando executada no SSAS 2014 através do Power BI é concluída em poucos segundos, porém ao tentar executar a mesma consulta no SSAS 2016 toda a memoria do servidor do Analysis é consumida e a consulta não é concluída, o que esta inviabilizando a atualização do SSAS 2014 para o SSAS 2016. Abrimos o chamado: 117032215494513 na Microsoft e fomos informados que há algumas RFCs (request for comments) que envolvem ambos os times de produtos (SSAS e PBI) e a explicação é a seguinte: O SQL Server Analysis Services 2014 tinha um comportamento otimista sobre a habilidade para aplicar alguns filtros em construções “multi-level nested” no DAXMD, como neste caso, que são geradas operações aninhadas. Mesmo mais rápido, esse comportamento pode levar a potenciais problemas (alguns casos fora da curva) em que o resultado retornado pode ser incorreto. Esse comportamento foi trabalhado no SQL Server 2016 e como resultado é necessário materializar resultados intermediários dos cálculos, o que pode gerar dataset muito grandes, elevando o consumo de memória e em alguns casos, gerando exceções out-of-memory. A RFC referente a este problema é a 9229662 Fomos aconselhados pelo engenheiro Luciano Moreira a tentar obter ajuda para reescrever a consulta para que este problema seja contornado, vocês poderiam nos ajudar? Consulta: EVALUATE CALCULATETABLE( CALCULATETABLE( ROW( "Bruto_Fomento", 'Medidas'[Bruto Fomento] ), KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS( GENERATE( KEEPFILTERS(VALUES('Carteira'[Carteira.Key0])), CALCULATETABLE(VALUES('Cedente'[CNPJ CPF Cedente])) ) ), CALCULATETABLE(VALUES('Cedente'[Grupo Economico])) ) ), CALCULATETABLE(VALUES('Cedente'[Nome Cedente.Key0])) ) ), CALCULATETABLE(VALUES('Cedente'[Status RJ])) ) ), CALCULATETABLE(VALUES('Comercial'[Assistente])) ) ), CALCULATETABLE(VALUES('Comercial'[Corretor])) ) ), CALCULATETABLE(VALUES('Comercial'[Plataforma])) ) ), CALCULATETABLE(VALUES('Data'[Data.Key0])) ) ), CALCULATETABLE(VALUES('Modalidade'[Modalidade.Key0])) ) ), CALCULATETABLE(VALUES('Modalidade'[Produto.UniqueName])) ) ), CALCULATETABLE(VALUES('Operação'[Operação.Key0])) ) ), CALCULATETABLE(VALUES('Tipo Documento'[Tipo Documento.Key0])) ) ), CALCULATETABLE(VALUES('Tipo Operação'[Tipo Operação.Key0])) ) ), CALCULATETABLE(VALUES('Veiculo'[Veiculo.Key0])) ) ), CALCULATETABLE(VALUES('Veiculo'[Sigla Veiculo.UniqueName])) ) ), CALCULATETABLE(VALUES('Conta Grafica'[Codigo Conta Grafica.Key0])) ) ), CALCULATETABLE(VALUES('Tipo Documento'[Sigla Tipo Documento])) ) ), CALCULATETABLE(VALUES('Operação'[Spot])) )
... View more