Tabulação de dados

Cria arquivo (tabela) com os campos v67 (País) e v71 (Tipo de Ato)

mxtb base create=paistipoato "100:v67,'|'v71"

Se der erro “fatal: mxtb/maxhash overflow” incluir o comando

tell=500)

^* após campo para ignorar subcampos

mxtb base create=pais "100:v1717^*" tell=500

Exemplos: Tabela com os campos 12, 68, 65 e 75

mxtb base1 create=actname12+actnumber68+date65e75 "100:v12,'|'v68,'|'v65,'|'v75" tell=500

Criar tabela txt
Apartir do arquivo paistipoato cria tabela (pft) com os campos 1, 2 e 999 (v1’|’v2’|’v999/) com quebra somente depois do miléssimo caracter (lw=999)

mx paistipoato "pft=v1'|'v2'|'v999/" lw=999 -all now > paistipoato12.txt

Sort no campo v1 e depois no v2 do arquivo tabela

msrt paistipoato 999 v1v2

Sort no arquivo texto

mx seq=sem87com76ndecs.txt create=lu -all now
mx lu "pft=v2/" now|/bireme/ordena -u > arquivosaida.txt
notepad arquivosaida.txt

Gerar listas únicas
base REGIONAL

mx base "pft=if v67:'texto' then if p(v30) or p(v71) or p(v11) then mfn,'|',v30,'|',v71,'|',v11/ fi,fi" lw=999 now > listas_pais.lst
mx seq=listas_pais.lst create=pais -all now
mx pais "pft=v2/" lw=999 now|/bireme/ordena -u > pais_lista_unica_v30.txt (fonte)
mx pais "pft=v3/" lw=999 now|/bireme/ordena -u > pais_lista_unica_v71.txt (tipo)
mx pais "pft=v4/" lw=999 now|/bireme/ordena -u > pais_lista_unica_v11.txt (org)
notepad pais_lista_unica_v30.txt

PAÍS

mx base "pft=if p(v30) or p(v71) or p(v11) then mfn,'|',v30,'|',v71,'|',v11/ fi" lw=999 now > listas_pais.lst
mx seq=listas_pais.lst create=pais -all now
mx pais "pft=v2/" lw=999 now|/bireme/ordena -u > pais-sourceId-v30.txt (fonte)
mx pais "pft=v3/" lw=999 now|/bireme/ordena -u > pais-actType-v71.txt (tipo)
mx pais "pft=v4/" lw=999 now|/bireme/ordena -u > pais-org-v11.txt (org)
notepad pais_lista_unica_v30.txt

Cria arquivo txt com separação dos campos apartir do arquivo tabela

mx paistipoato "pft=v1'|'v2v999/" -all now > paistipoato.txt

Para gerar o txt da base inteira delimitar o 1º e último mfn ou somente o último

mx base1 from=1 to=13000 now > baseall.txt

Cria tabela de dois campos

mxtb base1 create=paisdata 100:v67 100:v75 tell=500

Conteúdo somente se estiver presente no campo -lê a base base1 (mx base1) sequencialmente até o fim e mostra o mfn, 3 espaços (x3) e o campo 4 (v4) se (if) este estiver presente (if p(v4) then …. fi:

mx base1 "pft=if p(v4) then mfn,' - ',v4/ fi" lw=999 -all now
p(v4), onde p=presente
a(v4), onde a=ausente

e grava em txt

mx base1 "pft=if p(v11) then mfn,'|',v11/ fi" lw=999 -all now > somav11.txt

Vários campos usar operador boleano

mx base "pft=if p(v1) and p(v11) then mfn,x3,v1,' -',v11/ fi" now

subcampo presente

mx base "pft=(if v999^c='61' then mfn,' -',v999/ fi)" now , ( ) parênteses representa campo repetivo
mx base "pft=if p(v1) and p(v8) and p(v76) and p(v82) and p(v87) and p(v89) and p(v91) and p(v68) and p(v75) then mfn,'
-',v1,v8,v76,v82,v87,v89,v91/ fi" now

Campos obrigatórios de Leisref

mx base "pft=if p(v11) and p(v30) and p(v65) and p(v67) and p(v71) and p(v75) then mfn,' -',v11,' - ',v30,' - ',v65,' - ',v67,' - ', v71,' - ',v75, fi/" lw=9999 -all now|wc -l

por país

mx base "pft=if v67:'Pais' then if p(v11) and p(v30) and p(v65) and p(v67) and p(v71) and p(v75) then mfn,' -', fi,fi/" now

Campos da chave

mx base "pft=if p(v71) and p(v75) and p(v67) then mfn,' - ',v71,' - ',v75,' - ',v67,fi/" lw=9999 -all now|wc -l

por país

mx base "pft=if v67:'Pais' then if p(v71) and p(v68) and p(v75) then mfn,' -',v67,' - ',v71,' - ',v68,' - ',v75/ fi,fi"   now|/bireme/wc -l
mx base "pft=if v67:'Pais' then if a(v71) or a(v68 ) or a(v75) then mfn,' -',v67,' - ',v71,' - ',v68,' - ',v75/ fi,fi" now|/bireme/wc -l

Retirar arquivos sem dados válidos

mx base "pft=if a(v11) and a(v12) and a(v30) and a(v67) and a(v71) then mfn/ fi" now

Visualizar um determinado texto em um campo específico

mx base "pft=if v67:'texto' then mfn,' - ',v67/ fi" now
mx base "pft=if v67:'texto' then if p(v30) or p(v71) or p(v11) then mfn,' - ',v30,' - ',v71,' - ',v11/ fi,fi" now

Visualizar um determinado texto em todo o registro

mx base "text=texto"

Relatório de campo sem repetição

mx ley lw=9999 "pft=(v11/)" now|z:\utl\wlinux\ordena -u (visualização)
mx ley lw=9999 "pft=(v11/)" now|z:\utl\wlinux\ordena -u > v11_lista.txt (grava txt)

Comparação de dois campos com dados:

mx base1 "pft=if p(v11) or p(v14) then mfn,x3,'|',v11,'|',v14/ fi" lw=999 -all now > org_pagination.txt

Comparação de dois campos com ou sem dados:

mx base1 "pft=mfn,x3,'|',v12,'|'v71/" lw=999 -all now > acttype1e2.txt

Exemplos: Arquivo com os campos 12, 68, 64 e 74 com separação de campos Pipe “|”

mx base1 "pft=mfn,x3,'|',v12,'|'v68,'|'v65,'|'v75/" lw=999 -all now > actname12+actnumber68+date65e75.txt

Comparação de dois campos com ou sem dados independente se dado numérico ou não

mx base1 "pft=mfn,x3,v2/" now to=14000

Para separar conteúdo de campos repetitivos

"/", ex.: v1/

Para colocar separador entre os campos repetitivos (v76+| – |)/, onde ( ) = repetitividade do campo; | – | = símbolo usado para separar (hífen), colocado entre sinais de “pipe”
Contagem do total de linhas de um arquivo (acrescentar ao comando principal)

|z:\utl\wlinux\wc -l
z: = \\Alpha1\spd\utl\wlinux\

Tamanho do campo

mx base"pft=f(size(v83),1,0), '|',mfn/" now|sort

Duplicar campo

mx <base> "proc='a90~',v90,'~'" , onde a90 = adiciona campo 90; ~ = subcampos; v90 = com conteúdo de um v90 existente. Para adicinar vazio retirar o v90.

Para gravar acrescentar copy=sarh now -all ao final.

ex.: mx base "proc='a90~',v90,'~'" copy=base now -all

Substituir conteúdo do campo

mx base "proc='dcampo/repetição>','<campo 0>conteúdo</campo>'" from=mfn count=1 copy=checklinks_novo

exemplo:

~/mx checklinks “proc=’d2/1’,'<2 0>^uhttp://www.wpro.who.int/themes_focuses/theme1/focus1/t1f1.asp^d20050522 (01:30:21)^s404</2>'” from=2189 count=1 copy=checklinks

Passando campo de uma base a outra

"proc='<61 0>',ref(['base2']mfn,v61),'</61>'" - campo não repetitivo
"proc='<61 0>',ref(['base2']mfn,v61+|%|),'</61>'" - campo repetitivo
para criar acrescentar copy=base1 now -all

Separar os campos repetitivos

mxcp base1 create=nova_base repeat=%

 

Deixe um comentário