Como: |
Linguagens Disponíveis: Reporting
A função FMLINFO exibe o valor FOR associado com cada linha em um relatório FML. Com FMLINFO, você pode utilizar o valor FOR adequado em um comando COMPUTE para fazer buscas detalhadas e assinar alterações para cada linha do relatório, mesmo quando a linha é uma linha resumo criada utilizando uma lista OR ou um comando ADD da hierarquia do Financial Modeling Language (FML).
Observação: É possível utilizar o parâmetro SET FORMULTIPLE=ON para habilitar um registro de entrada a ser utilizado em mais de uma linha em um relatório FML.
FMLINFO('FORVALUE', output)
onde:
Alfanumérico
Exibe o valor FOR associado com cada linha em um relatório FML. Se a linha FML tiver sido gerada como uma soma de registros de dados utilizando a frase OR, FMLINFO exibirá o primeiro valor FOR especificado na lista de valores. Se a frase OR tiver sido gerada por um comando ADD da Hierarquia FML, FMLINFO exibe o valor FOR associado ao pai especificado no comando ADD.
Alfanumérico
É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples.
A solicitação a seguir cria um campo chamado PRINT_AMT que é o negativo do campo NAT_AMOUNT para números de conta menores que 2500 na fonte de dados CENTSYSF. A fonte de dados CENTGL contém as informações de hierarquia para CENTSYSF. Portanto, CENTGL é unido a CENTSYSF para a solicitação:
SET FORMULTIPLE = ON JOIN SYS_ACCOUNT IN CENTGL TO ALL SYS_ACCOUNT IN CENTSYSF TABLE FILE CENTGL SUM NAT_AMOUNT/D10 IN 30 COMPUTE PRINT_AMT/D10 = IF FMLINFO('FORVALUE','A7') LT '2500' THEN 0-NAT_AMOUNT ELSE NAT_AMOUNT; COMPUTE FORV/A4 = FMLINFO('FORVALUE', 'A4'); COMPUTE ACTION/A9 = IF FORV LT '2500' THEN 'CHANGED' ELSE 'UNCHANGED'; FOR GL_ACCOUNT 2000 WITH CHILDREN 2 ADD AS CAPTION END
Observação: O valor pai especificado no comando WITH CHILDREN ADD (2000) é exibido para a primeira linha do relatório. Cada linha subsequente também é uma subseção consolidade da hierarquia com um valor pai que é exibido por FMLINFO:
Month Actual PRINT_AMT FORV ACTION ------ --------- ---- ------ Gross Margin -25,639,223 25,639,223 2000 CHANGED Sales Revenue -62,362,490 62,362,490 2100 CHANGED Retail Sales -49,355,184 49,355,184 2200 CHANGED Mail Order Sales -6,899,416 6,899,416 2300 CHANGED Internet Sales -6,107,890 6,107,890 2400 CHANGED Cost Of Goods Sold 36,723,267 36,723,267 2500 UNCHANGED Variable Material Costs 27,438,625 27,438,625 2600 UNCHANGED Direct Labor 6,176,900 6,176,900 2700 UNCHANGED Fixed Costs 3,107,742 3,107,742 2800 UNCHANGED
O valor FOR impresso para a linha de resumo é 1010, mas FMLINFO retorna o primeiro valor especificado na lista OR, 1030:
SET FORMULTIPLE = ON
TABLE FILE LEDGER
SUM AMOUNT
COMPUTE RETURNEDFOR/A8 = FMLINFO('FORVALUE','A8');
FOR ACCOUNT
1010 OVER
1020 OVER
1030 OVER
BAR OVER
1030 OR 1020 OR 1010
END
A saída é:
AMOUNT | RETURNEDFOR | |
1010 1020 1030 | 8,784 4,494 7,961 | 1010 1020 1030 |
------ | --------- | |
1010 | 21,239 | 1030 |
Information Builders |