Analysis Services – Error “does not hold any data because it needs to be recalculated or refreshed”

Olá pessoal, tudo bem?

Retomando a documentação de problemas e a resolução em artigo, vamos a seguir demonstrar como recalcular um banco OLAP do SQL Server Analysis Services modelo Tabular.

Sintoma

Estava fazendo a implantação de um projeto de SQL Server Analysis Services no modelo tabular, quando tive o seguinte erro ao utilizar o campo de uma determinada tabela calculada dentro do PowerBI:

The expression referenced column ‘Calendario'[Ano] which does not hold any data because it needs to be recalculated or refreshed.

Ao pesquisar no site da Microsoft o sintoma é conhecido e pode existir uma resolução, inclusive um FIX disponível para versões do SQL Server 2012 e ou 2014.

FIX: Error messages when you perform a ProcessRecalc operation after a ProcessData operation on an SSAS 2012 or SSAS 2014 tabular model

Resolução

No meu caso o SQL Server era 2017, então, realizei o procedimento de recalcular o banco de dados que foi através do seguinte comando:

{
  "refresh": {
    "type": "calculate",
    "objects": [
      {
        "database": "NOME_BANCO_DE_DADOS"
      }
    ]
  }
}

Espero que ajude!

Vithor da Silva e Silva | Consultor e Instrutor | SQL Server e Power BI
vithor@vssti.com.br