Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
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]))
)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.