The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Bom dia, estou enfrentando um problema ao atualizar um conjunto de dados no serviço do PowerBI.
O problema é especifico em uma tabela calculada. Localmente, está atualizando e funciona, porém após publicá-la e atualizá-la pelo paínel do PowerBI, os números mudam. Isto começou a ocorrer hoje.
Isto indica algum problema no tratamento das datas. O fato é que anteriomente funcionava, e que localmente funciona. Eu devo checar todas os códigos que usam datas variáveis?
Esta tabela calculada gera um intervalo de dados com base em uma data inicio e data fim. consultando outras tabelas e retorna valores dimensionados. A data inicio é fixa, e a data fim é tratada no PowerQuery: se o valor fixo estiver vazio, então data de hoje.
Local:
Publicado:
Vemos que os numeros da primeira coluna, gerados através da tabela calculada, é divergente.
Solved! Go to Solution.
Bom dia! Isso que você descreveu é um comportamento comum quando trabalhamos com **datas dinâmicas** em tabelas calculadas no Power BI — principalmente quando usamos funções como `TODAY()`, `NOW()`, ou datas tratadas no Power Query com base no "tempo atual".
O motivo mais provável para a divergência entre o **ambiente local (Power BI Desktop)** e o **serviço (Power BI Service)** é que eles avaliam a data e hora **em fusos horários diferentes**:
---
### ✅ **Causas Prováveis**
1. **Diferença de Fuso Horário**
* O Power BI Desktop usa o fuso horário do seu computador (ex: Brasília/UTC-3).
* O Power BI Service sempre opera em **UTC**, o que pode fazer com que `DateTime.LocalNow()` ou `DateTimeZone.FixedUtcNow()` retornem dias diferentes.
2. **Tabelas Calculadas são Avaliadas Durante o *Refresh***
* Se você usa `DateTime.LocalNow()` no Power Query ou `TODAY()` em DAX, a **data atual no momento do *refresh*** vai influenciar diretamente o resultado.
* E no serviço, isso pode ocorrer em um dia ou horário que gera resultados diferentes dos locais.
3. **Coluna calculada com lógica condicional (`if vazio, usa hoje`)**
* Essa condição vai mudar dependendo de onde e quando ela é avaliada.
---
### 🛠️ O Que Você Pode Fazer
#### ✔️ 1. **Evite `TODAY()` ou `NOW()` diretamente em tabelas calculadas**
Se você precisa de uma data dinâmica, mova a lógica para **medidas DAX** ou parâmetros no Power Query, e prefira capturar a "data de hoje" explicitamente, por exemplo, com um parâmetro fixado manualmente ou usando funções com controle de fuso horário.
#### ✔️ 2. **Adicione uma Tabela de Data de Referência**
No Power Query, crie uma tabela com uma única linha contendo a data atual, capturada com UTC ajustado para o seu fuso horário:
```powerquery
let
UTCNow = DateTimeZone.UtcNow(),
Adjusted = DateTimeZone.SwitchZone(UTCNow, -3), // UTC-3 por exemplo
Result = #table({"Hoje"}, {{DateTime.Date(Adjusted)}})
in
Result
```
Você pode usar essa tabela como base para `data_fim` ao invés de usar `DateTime.LocalNow()` diretamente.
#### ✔️ 3. **Fixe a Data de Fim como Parâmetro**
Se possível, torne a data de fim um **parâmetro** no Power Query (parametrizado ou manual) — isso elimina qualquer variação com o tempo e melhora a reprodutibilidade no serviço.
#### ✔️ 4. **Verifique se a publicação não está sobrescrevendo valores fixos**
Às vezes ao publicar, um valor padrão de parâmetro ou configuração local é substituído por outro no serviço. Certifique-se que nenhum parâmetro está com valor diferente após o publish.
---
Did I answer your question? Mark my post as a solution! Appreciate your Kudos !!
Bom dia! Isso que você descreveu é um comportamento comum quando trabalhamos com **datas dinâmicas** em tabelas calculadas no Power BI — principalmente quando usamos funções como `TODAY()`, `NOW()`, ou datas tratadas no Power Query com base no "tempo atual".
O motivo mais provável para a divergência entre o **ambiente local (Power BI Desktop)** e o **serviço (Power BI Service)** é que eles avaliam a data e hora **em fusos horários diferentes**:
---
### ✅ **Causas Prováveis**
1. **Diferença de Fuso Horário**
* O Power BI Desktop usa o fuso horário do seu computador (ex: Brasília/UTC-3).
* O Power BI Service sempre opera em **UTC**, o que pode fazer com que `DateTime.LocalNow()` ou `DateTimeZone.FixedUtcNow()` retornem dias diferentes.
2. **Tabelas Calculadas são Avaliadas Durante o *Refresh***
* Se você usa `DateTime.LocalNow()` no Power Query ou `TODAY()` em DAX, a **data atual no momento do *refresh*** vai influenciar diretamente o resultado.
* E no serviço, isso pode ocorrer em um dia ou horário que gera resultados diferentes dos locais.
3. **Coluna calculada com lógica condicional (`if vazio, usa hoje`)**
* Essa condição vai mudar dependendo de onde e quando ela é avaliada.
---
### 🛠️ O Que Você Pode Fazer
#### ✔️ 1. **Evite `TODAY()` ou `NOW()` diretamente em tabelas calculadas**
Se você precisa de uma data dinâmica, mova a lógica para **medidas DAX** ou parâmetros no Power Query, e prefira capturar a "data de hoje" explicitamente, por exemplo, com um parâmetro fixado manualmente ou usando funções com controle de fuso horário.
#### ✔️ 2. **Adicione uma Tabela de Data de Referência**
No Power Query, crie uma tabela com uma única linha contendo a data atual, capturada com UTC ajustado para o seu fuso horário:
```powerquery
let
UTCNow = DateTimeZone.UtcNow(),
Adjusted = DateTimeZone.SwitchZone(UTCNow, -3), // UTC-3 por exemplo
Result = #table({"Hoje"}, {{DateTime.Date(Adjusted)}})
in
Result
```
Você pode usar essa tabela como base para `data_fim` ao invés de usar `DateTime.LocalNow()` diretamente.
#### ✔️ 3. **Fixe a Data de Fim como Parâmetro**
Se possível, torne a data de fim um **parâmetro** no Power Query (parametrizado ou manual) — isso elimina qualquer variação com o tempo e melhora a reprodutibilidade no serviço.
#### ✔️ 4. **Verifique se a publicação não está sobrescrevendo valores fixos**
Às vezes ao publicar, um valor padrão de parâmetro ou configuração local é substituído por outro no serviço. Certifique-se que nenhum parâmetro está com valor diferente após o publish.
---
Did I answer your question? Mark my post as a solution! Appreciate your Kudos !!
Olá, @adryanhoffmann .
Pelo que você descreve, o problema pode estar relacionado à forma como o Power BI Service lida com a atualização das tabelas calculadas. Como localmente os números estão corretos, mas após a publicação no serviço os valores mudam, algumas possibilidades a serem verificadas incluem:
Se sua tabela calculada depende de datas dinâmicas (como TODAY() ou NOW()), pode haver um comportamento diferente no Power BI Service, pois ele pode estar considerando um fuso horário diferente ou um momento diferente da atualização.
Como você mencionou que a data fim é tratada no Power Query, vale verificar se essa lógica está funcionando corretamente no ambiente publicado. Teste aplicando um DateTime.LocalNow() para ver se há mudanças.
Se sua tabela depende de valores dinâmicos, garanta que as configurações de atualização no serviço do Power BI não estejam impactando a recarga dos dados. Algumas atualizações podem ser feitas de forma assíncrona, causando diferenças nos cálculos.
Antes de ajustar a fórmula, faça uma comparação entre os valores brutos das tabelas locais e no serviço, para garantir que não há perda ou alteração inesperada nos dados importados.
Veja se esse guia te ajuda em algo! Se não, retorne aqui!
User | Count |
---|---|
35 | |
14 | |
11 | |
11 | |
8 |
User | Count |
---|---|
44 | |
43 | |
19 | |
18 | |
17 |