Pular para o conteúdo principal

Função Diferença em Anos para Postgresql

A seguinte função para o banco de dados Postgresql permite calcular a Diferença em Anos entre duas datas:


-- Function: public."func_Data_Diferenca_Anos"(date)

-- DROP FUNCTION public."func_Data_Diferenca_Anos"(date);

CREATE OR REPLACE FUNCTION public."func_Data_Diferenca_Anos"("in_Data" date)
  RETURNS integer AS
$BODY$
DECLARE 
   iAnoAtual integer;
   iAnoData integer;
   iMesAtual integer;
   iMesData integer;
   iDiaAtual integer;
   iDiaData integer;
   iDifAnos integer;
   iDifMeses integer;
  BEGIN
iAnoAtual=EXTRACT(year from CURRENT_DATE);
iAnoData=EXTRACT(year from $1);
iMesAtual=EXTRACT(month from CURRENT_DATE);
iMesData=EXTRACT(month from $1);
iDiaAtual=EXTRACT(day from CURRENT_DATE);
iDiaData=EXTRACT(day from $1);

iDifAnos=iAnoAtual-iAnoData;

IF (iMesAtual < iMesData) THEN 
   iDifAnos=iDifAnos-1;
END IF;    

RETURN iDifAnos;
  END; 
  $BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION public."func_Data_Diferenca_Anos"(date)
  OWNER TO postgres;

Comentários

Postagens mais visitadas deste blog

Conectando o Excel ao Pentaho usando XMLA

Muitas pessoas reclamam do Saiku como Cliente XMLA para acesso aos cubos do Pentaho. Uma opção é habilitar o pentaho para que outros clientes possam conectar e navegar nos dados. Neste tutorial mostrarei como configurar o Excel para conexão aos cubos do Pentaho. Usarei como Cubo de exemplo o SteelWheels presente por padrão no Pentaho. É necessário fazer duas configurações, no Pentaho e no Excel. Primeiro no Pentaho: Deve-se ir na tela "Manage Data Sources" No exemplo clicamos em SteelWheels Analytics, em seguida na Engrenagem e no Botão Edit: Na tela de edição: Muda para Manually enter data sources parameter values; Clica-se  em EnableXMLA; Clica-se no botão Edição e altera a propriedade para true;  Após a alteração a tela deve estar assim: Confirma em Save. Segundo no Excel: Devemos instalar um pacote que permite ao Excel conectar a fonts XMLA: Usaremos o pacote: XMLA connect https://sourceforge.net/projects/xmlaconne...

Inserindo um Gráfico em um Tooltip de outro Gráfico no Pentaho

Eu trabalho com Pentaho mas sou admirador de outras Ferramentas de BI. Compreendo que as empresas e instituições adotam esta ou aquela ferramenta por motivos de facilidade, cultura, equipe, financeiro ou outros.  Gosto de examinar em especial o Tableau. Recentemente vi um tutorial onde era demonstrado como inserir um gráfico dentro de um Tooltip de um outro gráfico. Achei a idéia muito interessante e me propus a tentar fazer o mesmo usando o Pentaho. Bem vamos lá... Para construção desse efeito usaremos: O Pentaho Server Community; Ctools  CDE - Editor de dashboards; Ctools CCC  - Biblioteca  de gráficos; Ctools CGG - Exportador dos gráficos que permite o aceso ao gráfico em formato PNG ou SVG; Quando pronto o efeito fica dessa forma: Para Fonte de dados utilizei o conjunto de dados SteelWheels que vem com o Pentaho. Defini duas consultas MDX, uma para o primeiro gráfico e outra para o Gráfico do Tooltip: SalesForLine (Gráfico 1): WITH...

Pentaho, CDE, bootstrap, Uso de 100% da largura da tela

Um dúvida comum ao usar dashboards em Pentaho, CDE e o estilo Bootstrap é como deixar deixar o dashboards com uso de 100% da tela. Esse problema é devido ao estilo "container" esta definido em uma largura máxima: .container { width: 1170px; } Buscando resposta como resolver encontrei duas soluções: Solução 1 Sobrescrever o estilo CSS adicionando um Resouce CSS, Code Snippet com o seguinte estilo: .container {     width: auto; } Solução 2 Sobrescrever o estilo CSS adicionando um Resouce JavaScript, Code Snippet com o seguinte código: $('body > .container').removeClass('container'); A primeira solução modifica o CSS a segunda remove o estilo do componente body. Fonte: https://stackoverflow.com/questions/29345094/creating-pentaho-cde-dashboard-with-100-width http://forums.pentaho.com/showthread.php?185040-Changing-Bootstrap-container-element-in-a-CDE-dashboard