Ir para conteúdo

Alex Pereira

Alunos
  • Total de itens

    558
  • Registro em

  • Última visita

Tudo que Alex Pereira postou

  1. Esse erro de referência cíclica acontece porque você está tentando calcular o valor máximo de dCalendario[Ano] e dCalendario[Trimestre] dentro de uma fórmula que está, ao mesmo tempo, sendo aplicada à própria tabela dCalendario. Você pode tentar colocando em uma variável separada: let AnoMax = List.Max(dCalendario[Ano]), TrimestreMax = List.Max(dCalendario[Trimestre]), AdicionarColuna = Table.AddColumn(dCalendario, "Período", each if [Ano] = AnoMax and [Trimestre] = TrimestreMax then "Trimestre Atual" else if [Ano] = AnoMax and [Trimestre] = TrimestreMax - 1 then "Trimestre Anterior" else if [Ano] = AnoMax - 1 and [Trimestre] = TrimestreMax then "T. Ano Passado" else "Outros" ) in AdicionarColuna Obs.: A ooutra solução que dei é mais recomendada!
  2. Experimente fazer dessa forma comparando com a data de hoje. let DataAtual = DateTime.LocalNow(), AnoAtual = Date.Year(DataAtual), MesAtual = Date.Month(DataAtual), TrimestreAtual = Number.RoundUp(MesAtual / 3), AdicionarColuna = Table.AddColumn(dCalendario, "Período", each if [Ano] = AnoAtual and [Trimestre] = TrimestreAtual then "Trimestre Atual" else if [Ano] = AnoAtual and [Trimestre] = TrimestreAtual - 1 then "Trimestre Anterior" else if [Ano] = AnoAtual - 1 and [Trimestre] = TrimestreAtual then "T. Ano Passado" else "Outros" ) in AdicionarColuna
  3. É Importante resaltar também que nem sempre a documentação vai estar certa, vire e meche tem algo que concertar rs!
  4. Com a quantidade real de dados, a medida pode não funcionar tão bem, mas como o exemplo fornecido é apenas uma amostra, o volume de dados é significativamente menor, o que permite que a medida funcione no nosso ambiente. Nesse caso, há vários procedimentos que ele pode seguir para otimizar o desempenho. O ideal seria revisar a lógica da medida DAX e buscar formas de minimizar os cálculos, a fim de reduzir o tempo de processamento.
  5. Boooom uma solução talvex seja você tentar usar o suport da microsoft eles talvez possam ajudar com você isso ai dado você seguiu todos os passos descritos pela documentação. https://support.fabric.microsoft.com/pt-BR/support/
  6. Você faz uma concatenação só que no caso deve transformar a data primeiro nesse formato xx/xx/xxxx como fiz exemplo te mostrei. Veja exemplo abaixo: let DataInicio = DateTime.ToText(RangeStart, "dd/MM/yyyy"), DataFim = DateTime.ToText(RangeEnd, "dd/MM/yyyy"), Body = Json.FromValue( [ page = pageNumber, limit = 25, filter = "[ { ""property"":""AnoMes"", ""operator"":""greaterOrEqual"", ""value"":""" & DataInicio & """, ""and"":true }, { ""property"":""AnoMes"", ""operator"":""lessOrEqual"", ""value"":""" & DataFim & """, ""and"":true } ]" ] ) in Body
  7. Dê uma olhada nesse post, parece ser um problema de autenticação na hora de conectar no serviço da azure em que sua url registrada deve estar conectada no aplicativo. https://thomasthornton.cloud/2023/08/04/aadsts500113-no-reply-address-is-registered-for-the-application/
  8. Para criar um bookmark que afete apenas dois visuais que estão no mesmo lugar no Power BI, o processo pode ser feito agrupando os dois visuais. Selecione os dois gráficos que deseja controlar e, no painel de seleção, agrupe-os. Em seguida, oculte esse grupo para controlar sua visibilidade diretamente pelo bookmark.
  9. Bom diaaa! Como o Rafael mencionou, o erro está relacionado à ausência de um gateway instalado. Nesse caso, será necessário instalar o gateway no servidor onde os dados estão hospedados, ou em um ambiente que tenha acesso de rede ao servidor, como na AWS, por exemplo. É possível configurar o acesso à rede através de IPs específicos, restringindo o acesso conforme necessário. Portanto, o gateway não precisa estar no mesmo local que o servidor, mas sim em um ambiente que possua conectividade com ele. Após obter esse acesso, será necessário configurar o seu gateway de dados, inserindo as conexões necessárias para que ele funcione corretamente. No seu caso específico, você precisará configurar as credenciais de acesso ao servidor. É importante lembrar: utilize o Gateway Enterprise para garantir um desempenho ideal. Nesta aula, o mestre ensina como fazer essa configuração: https://app.xperiun.com/aula/1704330688818x596973771367997700?v=1704838860504x652294912539400400
  10. @Edson Igari, esse erro geralmente ocorre devido ao consumo de memória do Power BI. Pode ser que a conta que você está utilizando tenha uma configuração ou quantidade de recursos diferente da dele, o que faz com que funcione corretamente no seu ambiente, mas não no dele. Por exemplo, ele pode estar utilizando uma conta Pro, enquanto a sua é PPU (Premium Per User), que tem limites de memória mais altos.
  11. Boooom diaaa Geralmente, as APIs possuem um parâmetro no corpo da requisição chamado query ou algo semelhante, que permite passar filtros como os de datas. Abaixo segue um exemplo de como esse filtro pode ser aplicado no body da requisição POST no Power Query utilizando atualização incremental. let ObterToken = () => let urlToken = "https://autenticador.secullum.com.br/Token", grantType = grant_type_secullum, username = username_secullum, password = password_secullum, clientId = client_id_secullum, body = "grant_type=" & Uri.EscapeDataString(grantType) & "&username=" & Uri.EscapeDataString(username) & "&password=" & Uri.EscapeDataString(password) & "&client_id=" & Uri.EscapeDataString(clientId), headers = [#"Content-Type" = "application/x-www-form-urlencoded"], options = [ Headers = headers, Content = Text.ToBinary(body) ], response = Json.Document(Web.Contents(urlToken, options)), accessToken = response[access_token] in accessToken, accessToken = ObterToken(), urlGet = "https://pontowebintegracaoexterna.secullum.com.br/IntegracaoExterna/Batidas", DataInicio = DateTime.ToText(RangeStart, "yyyy-MM-dd"), // Corrigido: use aspas duplas para definir o valor da data DataFim = DateTime.ToText(RangeEnd, "yyyy-MM-dd"), // Corrigido: use aspas duplas para definir o valor da data body2 = "DataInicio=" & Uri.EscapeDataString(DataInicio) & "&DataFim=" & Uri.EscapeDataString(DataFim), // Corrigido: removido espaço em branco headersGet = [#"Authorization" = "Bearer " & accessToken], optionsGet = [ Headers = headersGet, Query = [ DataInicio = DataInicio, DataFim = DataFim ] ], responseGet = Json.Document(Web.Contents(urlGet, optionsGet)) in responseGet É importante ressaltar que a forma como as datas precisam ser passadas pode variar dependendo da API. Isso significa que você deve adaptar o formato da data dos parâmetros de atualização incremental para atender às exigências específicas da API que está utilizando.
  12. Esse erro ocorre porque a medida DAX no Power BI está consumindo muitos recursos e excede os limites de capacidade do serviço. Para resolver o problema, você pode começar revisando a lógica da sua medida para garantir que não está realizando cálculos desnecessários ou repetitivos. Utilizar variáveis pode ajudar a melhorar o desempenho ao evitar cálculos repetidos. Além disso, verifique se você está aplicando filtros e agregações apropriados para reduzir o volume de dados processados. Também é importante considerar a simplificação do modelo de dados, reduzindo a complexidade das tabelas e dos relacionamentos. O particionamento de tabelas grandes ou o uso de filtros pode ajudar a reduzir a quantidade de dados processados de uma só vez. Se você estiver usando Power BI Premium, ajustar a configuração de recursos pode ser útil. Além disso, utilizar tabelas de agregação pode pré-calcular dados e melhorar o desempenho dessa consulta.
  13. Para comparar os registros que entraram e saíram do banco de dados após a atualização mensal, você pode criar uma tabela temporária para armazenar os dados do mês atual. Essa tabela temporária servirá como base para a comparação. Quando você carregar a nova planilha, insira os dados atualizados em uma tabela separada ou diretamente na tabela principal. Depois, compare as chaves primárias entre a tabela temporária e a nova tabela para identificar quais registros são novos, mantidos e quais foram removidos. Para identificar os novos registros, compare a tabela temporária com a nova tabela e veja quais registros estão na nova tabela, mas não na temporária. Para identificar os registros mantidos, compare a tabela temporária com a nova tabela e veja quais registros estão ambas tabelas. Para identificar os registros removidos, compare a tabela temporária com a nova tabela e veja quais registros estão na temporária, mas não na nova tabela. algo mais ou menos assim: DELIMITER $$ CREATE PROCEDURE comparar_registros() BEGIN -- Cria uma tabela temporária para os dados atuais CREATE TEMPORARY TABLE temp_dados_atuais AS SELECT * FROM tabela_principal; -- Cria uma tabela temporária para os novos dados (carregados da planilha) CREATE TEMPORARY TABLE temp_dados_novos AS SELECT * FROM novos_dados_planilha; -- Cria uma tabela temporária para armazenar os resultados da comparação CREATE TEMPORARY TABLE temp_dados_comparados ( chave_primaria INT, status VARCHAR(10) ); -- Inserir os registros mantidos (existem em ambas as tabelas) INSERT INTO temp_dados_comparados (chave_primaria, status) SELECT atual.chave_primaria, 'mantido' FROM temp_dados_atuais atual JOIN temp_dados_novos novo ON atual.chave_primaria = novo.chave_primaria; -- Inserir os registros novos (existem apenas na nova tabela) INSERT INTO temp_dados_comparados (chave_primaria, status) SELECT novo.chave_primaria, 'novo' FROM temp_dados_novos novo LEFT JOIN temp_dados_atuais atual ON novo.chave_primaria = atual.chave_primaria WHERE atual.chave_primaria IS NULL; -- Inserir os registros removidos (existem apenas na tabela atual) INSERT INTO temp_dados_comparados (chave_primaria, status) SELECT atual.chave_primaria, 'removido' FROM temp_dados_atuais atual LEFT JOIN temp_dados_novos novo ON atual.chave_primaria = novo.chave_primaria WHERE novo.chave_primaria IS NULL; -- Atualiza a tabela principal com base nos dados comparados -- Este passo depende do que você deseja fazer com os registros identificados como mantidos, novos e removidos. -- Por exemplo, você pode querer excluir os registros marcados como 'removido', ou atualizar os 'mantido', ou inserir os 'novo'. -- Isso pode ser feito com base nos resultados armazenados em 'temp_dados_comparados'. -- Exemplo de manipulação de registros: -- DELETE FROM tabela_principal WHERE chave_primaria IN (SELECT chave_primaria FROM temp_dados_comparados WHERE status = 'removido'); -- INSERT INTO tabela_principal (coluna1, coluna2, ...) SELECT * FROM temp_dados_novos WHERE chave_primaria IN (SELECT chave_primaria FROM temp_dados_comparados WHERE status = 'novo'); END$$ DELIMITER ;
  14. Uma forma de você gerenciar as atualizações mensais do seu banco de dados, uma boa prática seria adicionar uma coluna de data de criação de registro no banco de dados. Essa coluna vai permitir que você controle quando cada registro foi adicionado. Ex: ALTER TABLE sua_tabela ADD COLUMN data_criacao TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
  15. Esse aqui é o link metodo que falou do video: https://clubedobi.notion.site/Aula-077-Documenta-o-de-dashboards-571278cb370747c2a6fd61686d252e0d
  16. Alex Pereira

    Base TXT

    Poderia fornecer o cabeçalho do arquivo?
  17. Experimente ver esse video: https://youtu.be/UpTVfjSBk4U
  18. Da para implemnetar puxando a cotação do dolar para os dias que você quiser: https://docs.awesomeapi.com.br/api-de-moedas
  19. Você pode tentar adicionar o dia da semana como uma segunda linha no eixo X. Isso pode funcionar para melhorar a visualização.
  20. Experimente desinstalar e reinstalar o Power BI para resolver o problema. Sugiro usar o aplicativo Revo Uninstaller para garantir que a desinstalação seja completa. No Revo Uninstaller, selecione a opção de remover todos os arquivos residuais e cache relacionados ao Power BI, garantindo uma instalação limpa!
  21. Embora o fluxo de dados esteja em uma capacidade Premium, o usuário Pro poderá acessar e usar o fluxo de dados, mas não terá acesso a recursos exclusivos de capacidade Premium, como cálculos incrementais ou grandes volumes de dados, a menos que o workspace onde o fluxo de dados está localizado seja compartilhado como Premium. Desta forma, ele não terá acesso a menos que seja premium tbm!
  22. O ISINSCOPE deve ser utilizado de acordo com as linhas que você tem na sua matriz. Se você não possui a coluna ProductKey nas linhas da matriz, o ISINSCOPE sempre retornará false. Tente aplicá-lo nas colunas que realmente estão presentes, como Ano ou Mês, para obter o comportamento desejado.
  23. Boa tarde! Poderia, por favor, fornecer mais detalhes sobre como você deseja criar esse indicador? Notei que ele é composto por três medidas. O valor das outras duas medidas está correto? Pergunto isso porque, se algum valor estiver zerado, isso pode explicar o resultado final que você está vendo. Além disso, como exatamente é feito o cálculo da medida TotalBonus? Pelo que vejo, é a soma de [Bonus] + [NPS] + [HV]. Se possível, gostaria de confirmar se esses valores estão sendo calculados corretamente para garantir que o total esteja correto
  24. veja esse ajuste: VAR vG1 = CALCULATE( [OSVFaturada], ALLSELECTED(fServicos) ) VAR vG2 = CALCULATE( [OSVFaturada] - [Garantia], ALLSELECTED(fServicos) ) VAR vO = CALCULATE( [OSVFaturada] ) RETURN SWITCH( TRUE(), SELECTEDVALUE(dCargos[NivelH]) = "G", vG1, SELECTEDVALUE(dCargos[Cargo]) = "GARANTISTA", vG2, vO )
×
×
  • Criar Novo...