[PBI] Pegando a atualização mais recente do relatório do Power BI

Existem diversas maneiras de pegar a última data de atualização dos dados, aqui vou descrever uma que acho ser mais simples e fácil de usar:

Abrindo a opção de transformação de dados no Power BI Desktop, onde são apresentadas as tabelas, clicando com o botão da direita é possível criar uma consulta nula, quando a consulta for criada, você pode colar o código abaixo para pegar o horário de atualização do seu relatório, lembrando que o -3 é referente ao GMT da sua localização, sendo no Brasil [GMT-3]

= DateTimeZone.SwitchZone(DateTimeZone.LocalNow(),-3,0)

Tenho colocado sempre nos meus relatórios essa informação, assim é possível que o próprio usuário faça a verificação do horário da última atualização sem ter que clicar em nenhum local adicional.

[PBI] Número mês com 2 dígitos

Vários dashboards necessitam de análise temporal, e para essas apresentações existem diversas maneiras de organização dos gráficos, porém, o mais comum é ordenar as colunas pelo nome abreviado dos meses [JAN/FEV/MAR…], para que os meses sejam ordenados da forma correta é necessário que o número dos meses tenham 2 dígitos, iniciando em 01, 02, 03…, deixando essa coluna disponível na tabela, é possível clicar na coluna “mês abreviado” e mandar ordenar pela coluna “número do mês”, fazendo isso os meses estarão na sequencia correta.

No exemplo abaixo de calendário, o processo seria o seguinte:

Estrutura da tabela calendário criada em M

1 – Clicar na coluna ShortMonthName

2 – Clicar na opção abaixo:

Opção do menu para ordenar por outra coluna

3 – Selecionar a coluna MonthNo

Executando esse processo, os meses serão ordenados no gráfico pelo número e não pelo nome abreviado do mês.

Nas pesquisas encontrei um site que explica muito bem a utilização da função FORMAT

Para criar um calendário completo em M, não deixe de visualizar o POST aqui do site:

[PBI] – Usando APIs

Se você já precisou usar dados de uma API no Power BI e teve dúvidas como fazer esse processo, assista esse vídeo no Youtube, a explicação está excelente, tudo muito bem apresentado, de forma clara e objetiva.

Recomendo seguir tanto o Leonardo Karpinski quanto o Paulo Sawaya, o conteúdo é de ótima qualidade e o aprendizado é certo.

Parabéns aos dois pelo vídeo.

[DAX] – Pegando os dados mais recentes de cada item em uma tabela com vários registros

Precisei atualizar um painel e para isso tinha que trazer a data mais recente e o valor dessa data para uma tabela com diversos registros para cada item, tentei algumas formas de fazer isso e a mais simples que encontrei foi a expressão abaixo:

Essa função pega a primeira linha de cada item (contexto) pelo campo de classificação, então caso tenha um campo de data e queira pegar o mais recente em função da data, basta colocar o campo dentro de <Campo de classificação>

Data PC mais recente = MAXX(<Tabela>;<Campo de classificação>)

Feito isso, para pegar outras colunas da mesma linha, é possível usar a expressão abaixo:

Valor PC mais recente = 
VAR MaxDataPC = MAX(<Campo de classificação>) // Exemplo: Pode ser colocado o campo de data

RETURN
CALCULATE(MAX(<Campo a ser retornado>);<Campo data da tabela que vai retornar>=MaxDataPC) // essa linha compara a data mais recente da tabela de retorno e retorna o campo solicitado pela formula CALCULATE

Espero que ajude

Deletando registros da tabela Sysdatabaselog – Dynamics AX

A tabela de log do banco de dados é extremamente grande, com isso, de tempos em tempos é importante fazer uma manutenção para que o desempenho do sistema seja mantido e que o espaço em disco e tamanho do backup fiquem limpos, para isso é possível executar o procedimento abaixo deletando os registros entre datas específicas:

select  count(recid) from SYSDATABASELOG
where CREATEDDATETIME between '01/05/2017' and '30/09/2021'



delete  from SYSDATABASELOG
where CREATEDDATETIME between '01/05/2017' and '30/09/2021'

Essas consultas do SQL estão contando a quantidade de registros entre 01/05/2017 e 30/09/2021, a segunda parte está excluindo os registros desse intervalo.

A redução do tamanho do log vai variar de acordo com a quantidade de registros e também o período, mas é sempre bom deixar ela com um tempo para consulta em caso de necessidade.

Criando uma View no SQL renomeando o número do status

Outro dia precisei criar uma View no SQL para usar no Power BI, porém os campos de status estavam armazenados no banco como 0,1,2,3…, se o retorno mantivesse o número, seria necessário criar uma tabela de controle com o número do status e a descrição dele, dessa forma seria possível relacionar os números do status para retornar o nome, porém isso gera mais processamento e deixa o projeto maior, então busquei uma solução para retornar direto o nome do status, abaixo deixo o script para ajudar quem mais estiver com a mesma necessidade:

SELECT ITEMID,
ITEMNAME,
DELIVERYDATE,
QTYORDERED,
RFQCASEID,
PURCHUNIT,
CASE PRCL.STATUSHIGH
WHEN '0' THEN 'CRIADO'
WHEN
‘1’ THEN ‘ENVIADO’
WHEN ‘2’ THEN ‘RECEBIDO’
WHEN ‘3’ THEN ‘REJEITADO’
WHEN ‘4’ THEN ‘ACEITO’
WHEN ‘5’ THEN ‘CANCELADO’
WHEN ‘6’ THEN ‘RECUSADO’
ELSE ‘NENHUM’ END AS STATUSHIGH
FROM dbo.PURCHRFQCASELINE AS PRCL

No meu caso o campo que armazena o status é o campo: STATUSHIGH

LGPD – Esse assunto diz respeito a você

Todo cidadão do planeta tem interesse em manter seguro seus dados e, a internet como é de conhecimento geral não oferece uma segurança a prova de falhas, associado a essa dificuldade de segurança, ainda existem as empresas que deliberadamente fornecem dados para outras organizações, mesmo que sem autorização prévia ou qualquer mensagem de aviso, então, com a entrada da LGPD pelo menos alguns pontos devem ser melhorados, mas é importante que a fiscalização seja feita corretamente e que todos tomem as devidas precauções para que a proposta seja realmente bem vinda e que traga todos os benefícios esperados.

No vídeo abaixo, alguns assuntos foram abordados e alguns temas importantes foram explicados em detalhe, recomendo assistir para ter um entendimento sobre o cenário atual e o que podemos esperar de um futuro bem próximo.

Notebook Dell não reconhece fone de ouvido

Alguns notebooks da Dell vem com o MaxxAudioPro, quando o fone é plugado aparece uma opção para informar se é um fone apenas ou se é um fone com microfone, então caso o programa de controle de áudio não esteja habilitado para iniciar com o Windows, quando plugar o fone não apresentará essa opção, fazendo com que as vezes o fone não seja reconhecido, abaixo está descrito o procedimento para resolver esse problema.

https://www.dell.com/community/Inspiron-Notebooks/Notebook-Inspiron-n%C3%A3o-reconhece-fone-de-ouvido/td-p/6070560