Re: [Allegro] im vorfeld den/das längster datensatz/längstes feld ermitteln?

Klaus Lehmann lehmann_klaus at t-online.de
Sa Mai 25 12:38:13 CEST 2013


 
Guten Tag Herr Eger,
danke für Ihre Nachricht.
Am Samstag, 25. Mai 2013 um 12:20 schrieben Sie mir.
Ihre Nachricht finden Sie am Ende dieser eMail.

> Hallo Herr Lehmann,
> wie wär's mit einem Hilfsindex?
> ak=0..+Æ
> ak=1..+Æ
> ak=2..+Æ
> ak=3..+Æ
> ak=4..+Æ
> ak=5..+Æ
> ak=6..+Æ
> ak=7..+Æ
> ak=8..+Æ
> ak=9..+Æ
> ...
> #-Æ
> #u1 lll e0 #zz 0
> #ull dll r8,0 p{ "~e2L" }
> #+#
> ...
> I LEN e2L "Laengen"

> Viele Grüße
> Anando Eger


das ich auch eine "verdammt" gute idee. das muss getestet werden: aber 
ob die datenbank das zulässt?! sie besteht ja bereits, mit den (zu) 
langen datensätzen... es hat jedenfalls noch nie bei einem index 
gekracht! MERCIVIELSMALS!

danke erstmal
mehr heute nachmittag auf diesem kanal.
viele grüße
ihr klaus lehmann






ps: hier mal der erweiterte code zu lk.flx:
  LK.FLX : Laengsten und kuerzesten Datensatz ermitteln
  20070628. ergänzt 20130525 k.lehmann

#ul1 0
#ul2 0
#ul3 0
#ul4 0
#ul5 0
#ul6 0
#ul7 0
#ul8 0
#ul9 0
#uk1 20000000
#uk2 20000000
#uk3 20000000
#uk4 20000000
#uk5 20000000
#uk6 20000000
#uk7 20000000
#uk8 20000000
#uk9 20000000


z=0

#uMX  3
ask Sätze mit maximal ... Feldern:=#uMX
ins #uMX
eval #uMX +1
ins #uMX

open x k1.lst
wri "Datensätze mit nur bis zu " #uMX " Feldern" n

var "Unterbrechung mit Esc ..."
sho iv

first #
:loop
keycheck
  Wurde [Esc] gedrückt?
  Wenn ja und Nachfrage mit ja beantwortet, dann -> :exit
if yes jump exit
if del jump nn
var jb
if >#ul1 ins #ul1;var i;ins #uI1;jump kl
if >#ul2 ins #ul2;var i;ins #uI2;jump kl
if >#ul3 ins #ul3;var i;ins #uI3;jump kl
if >#ul4 ins #ul4;var i;ins #uI4;jump kl
if >#ul5 ins #ul5;var i;ins #uI5;jump kl
if >#ul6 ins #ul6;var i;ins #uI6;jump kl
if >#ul7 ins #ul7;var i;ins #uI7;jump kl
if >#ul8 ins #ul8;var i;ins #uI8;jump kl
if >#ul9 ins #ul9;var i;ins #uI9;jump kl

:kl
var jb
if =0 jump nn
if <#uk1 ins #uk1;var i;ins #uJ1;jump nn
if <#uk2 ins #uk2;var i;ins #uJ2;jump nn
if <#uk3 ins #uk3;var i;ins #uJ3;jump nn
if <#uk4 ins #uk4;var i;ins #uJ4;jump nn
if <#uk5 ins #uk5;var i;ins #uJ5;jump nn
if <#uk6 ins #uk6;var i;ins #uJ6;jump nn
if <#uk7 ins #uk7;var i;ins #uJ7;jump nn
if <#uk8 ins #uk8;var i;ins #uJ8;jump nn
if <#uk9 ins #uk9;var i;ins #uJ9;jump nn

:nn
  Hat der Satz nur bis zu #uMX Felder? Dann interne Nummer in k1.lst
var k0
if <#uMX z+1;wri i n

next #
if cancel jump exit
if del jump nn
jump loop

:exit
close x

  Ende, jetzt den laengsten Satz noch zeigen:
var "#" #uI1
find
sho rec
disp
  Nun die 18 Saetze als Erg.Menge zusammenfassen
var "... ... or #" #uI1 "," #uI2 "," #uI3 "," #uI4 "," #uI5 "," #uI6 "," #uI7 "," #uI8 "," #uI9 "," #uJ1 "," #uJ2 "," #uJ3 "," #uJ4 "," #uJ5 "," #uJ6 "," #uJ7 "," #uJ8 "," #uJ9
find
  Erg.Menge benennen
set RKürzeste/längste Sätze
  Meldung aller Ergebnisse
var "Längster Satz       : " #uI1 ", Länge " #ul1 " Bytes"
var +n "Zweitlängster Satz  : " #uI2 ", Länge " #ul2
var +n "Drittlängster Satz  : " #uI3 ", Länge " #ul3
var +n "Viertlängster Satz  : " #uI4 ", Länge " #ul4
var +n "Fünftlängster Satz  : " #uI5 ", Länge " #ul5
var +n "Sechstlängster Satz  : " #uI6 ", Länge " #ul6
var +n "Siebentlängster Satz  : " #uI7 ", Länge " #ul7
var +n "Achtlängster Satz  : " #uI8 ", Länge " #ul8
var +n "Neuntlängster Satz  : " #uI9 ", Länge " #ul9
var +n "Kürzester Satz      : " #uJ1 ", Länge " #uk1
var +n "Zweitkürzester Satz : " #uJ2 ", Länge " #uk2
var +n "Drittkürzester Satz : " #uJ3 ", Länge " #uk3
var +n "Viertkürzester Satz : " #uJ4 ", Länge " #uk4
var +n "Fünftkürzester Satz : " #uJ5 ", Länge " #uk5
var +n "Sechstkürzester Satz : " #uJ6 ", Länge " #uk6
var +n "Siebentkürzester Satz : " #uJ7 ", Länge " #uk7
var +n "Achtkürzester Satz : " #uJ8 ", Länge " #uk8
var +n "Neuntkürzester Satz : " #uJ9 ", Länge " #uk9
if z>0 var +n "Sätze mit nur bis zu " #uMX " Feldern: " z
   falls auch Saetze mit 2 Feldern:
 if z>0 var +n "Sätze mit nur 1 oder 2 Feldern: " z

sho iv
mes
  und Erg.Liste zeigen
sho list
  Variablen loeschen
#ul1
#ul2
#ul3
#ul4
#ul5
#ul6
#ul7
#ul8
#ul9

#uk1
#uk2
#uk3
#uk4
#uk5
#uk6
#uk7
#uk8
#uk9

#uI1
#uI2
#uI3
#uI4
#uI5
#uI6
#uI7
#uI8
#uI9

#uJ1
#uJ2
#uJ3
#uJ4
#uJ5
#uJ6
#uJ7
#uJ8
#uJ9

if z=0 jump schluss
read set k1.lst

:schluss
show erg
del k1.lst

var "Links sehen Sie die Ergebnismenge(n)" n "Kürzeste/längste Sätze  und evtl. " n "Datensätze mit nur einem Feld"
ansi
mes






> On 25 May 2013 at 10:57, Klaus Lehmann wrote:

>> werte kollegen
>> 
>> 
>> ein kleines problem, kommt nicht oft vor....
>> 
>> ich habe eine datenbank in der a-konfig vorzuliegen. und weiss, es 
>> gibt überlange datenfelder. mit lk.flx kommt man teilweise an sie 
>> heran. teilweise! das editieren in a99/presto gelingt nicht: 
>> totalabsturz der beiden programme.
>> was bleibt einem noch? ein export der daten. ok. eine alg-datei 
>> entsteht. 
>> mit den hinweisen aus lk.flx kommt man teilweise an die betreffenden 
>> datensätzen. und trotzdem! es bleibt ein rest von unerkannten 
>> überlangen datenfeldern. "datenfeldern", NICHT datensätzen.
>> 
>> der welt da draussen ist die struktur der allegor-datensätze wurst. 
>> also überlege ich, wie ich an die längsten "datensätze" physikalisch herankomme.
>> kennt jemand ein instrument, wie man diese heraus bekommt?
>> 
>> 
>> was habe ich bisher ausprobiert?
>> ================================
>> -aus den gnutools ist mir bekannt: "wc"2 (mit xc -L sagt er mir schlicht 
>> die länge des längsten datensatzes, aber nicht WO ich ihn finde.
>> -bei asort (von allegro) gibts den schalter -c (für column). klappt 
>> nicht. das betriebssystgem meldet sich!
>> -auf den ersten blick scheinen mir sneezer und analyse.pl von 
>> th.berger nicht helfen zu können. auf den zweiten blick?
>> 
>> 
>> ein vorgang klappt! aber es ist zeitraubend.
>> ============================================
>> [es geht um ca 40.000 datensätze, kein spaziergang!]
>> update.exe (23.7.2012) aus dem allegro paket. damit kann was machen! ich spiele die datenbank wieder 
>> ein, und zwar so: update -fm01 usw usw.
>> "dankenswerterweise" bleibt der updatevorgang bei dem nächsten 
>> überlangen datensatz (oder datensatz mit überlangem datenfeld) stehen, 
>> und NENNT mir die datensatznummer! naja. es ist ein weg, aber mühsam. 
>> pro vorgang warte ich ca 1 1/2 stdunden, und bekomme den jeweils 
>> nächsten langen datzensatz genannt.... dann heisst es in den editor 
>> reingehen, die alg manipulieren. und den update-vorgang erneut 
>> starten. da ich nicht weiss, wieviele ich dieser kreuzvermaledeiten 
>> überlangen datenfelder habe, sitze ich bereits 1 1/2 tage dran. gibts 
>> nun einen anderen weg?
>> 
>> 
>> danke für helfen,
>> Ihr klaus lehmann
>> 
>> 
>> 
>> ps: leider weiss ich nicht, wie diese überlangen felder überhaupt 
>> entstanden. ein altes allegro muss sie irgendwann "zugelassen", also 
>> abgespeichert haben. die inhalte übrigens dieser felder: #4nz. 
>> sinnloses gekopiere aus der PND, mit 1-2 seiten länge in diesem feld.
>> 
>> 
>> -- 
>> Mit freundlichen Grüßen,
>> Ihr Klaus Lehmann
>> http://allegronet.de * eMail: allegronet at t-online.de * phone: 03528-452 807(fax 809) * mobil: 0171-953 7843
>> allegronet.de * Klaus Lehmann * D-01454 Radeberg * Kleinwolmsdorfer Str. 37
>> zuständiges Finanzamt: FA Hoyerswerda, zuständige Kammer: IHK Dresden
>> zuständige Aufsichtsbehörde: Gewerbeamt Radeberg, USt-IdNr: DE247550760
>> * Software für zufriedene Bibliothekare: 1000x bewaehrt und ergiebig
>> * Bereits 4x allegro-utf8. Buchen Sie die allegro-Roadshow
>> * Yes we can. Only with allegro. Yes we do. Always with allegro.
>> * Internetkataloge & WebHosting für Allegro-C & Web 2.0 with VuFind
>> * 2011: Sponsor der Peter-Sodann-Bibliothek (Staucha)
>> * 2012: mit allegro-utf8 V3 und allegro-vufind auf der IFLA in Helsinki
>> * 2013: allegronet ist ein eingetragenes Warenzeichen
>> 
>> 


> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sun250.biblio.etc.tu-bs.de/mailman/listinfo/allegro




-- 
Mit freundlichen Grüßen,
Ihr Klaus Lehmann
http://allegronet.de * eMail: allegronet at t-online.de * phone: 03528-452 807(fax 809) * mobil: 0171-953 7843
allegronet.de * Klaus Lehmann * D-01454 Radeberg * Kleinwolmsdorfer Str. 37
zuständiges Finanzamt: FA Hoyerswerda, zuständige Kammer: IHK Dresden
zuständige Aufsichtsbehörde: Gewerbeamt Radeberg, USt-IdNr: DE247550760
* Software für zufriedene Bibliothekare: 1000x bewaehrt und ergiebig
* Bereits 4x allegro-utf8. Buchen Sie die allegro-Roadshow
* Yes we can. Only with allegro. Yes we do. Always with allegro.
* Internetkataloge & WebHosting für Allegro-C & Web 2.0 with VuFind
* 2011: Sponsor der Peter-Sodann-Bibliothek (Staucha)
* 2012: mit allegro-utf8 V3 und allegro-vufind auf der IFLA in Helsinki
* 2013: allegronet ist ein eingetragenes Warenzeichen





Am Samstag, 25. Mai 2013 um 12:20 schrieben Sie:
> Hallo Herr Lehmann,

> wie wär's mit einem Hilfsindex?

> ak=0..+Æ
> ak=1..+Æ
> ak=2..+Æ
> ak=3..+Æ
> ak=4..+Æ
> ak=5..+Æ
> ak=6..+Æ
> ak=7..+Æ
> ak=8..+Æ
> ak=9..+Æ
> ...
> #-Æ
> #u1 lll e0 #zz 0
> #ull dll r8,0 p{ "~e2L" }
> #+#
> ...
> I LEN e2L "Laengen"

> Viele Grüße
> Anando Eger


> On 25 May 2013 at 10:57, Klaus Lehmann wrote:

>> werte kollegen
>> 
>> 
>> ein kleines problem, kommt nicht oft vor....
>> 
>> ich habe eine datenbank in der a-konfig vorzuliegen. und weiss, es 
>> gibt überlange datenfelder. mit lk.flx kommt man teilweise an sie 
>> heran. teilweise! das editieren in a99/presto gelingt nicht: 
>> totalabsturz der beiden programme.
>> was bleibt einem noch? ein export der daten. ok. eine alg-datei 
>> entsteht. 
>> mit den hinweisen aus lk.flx kommt man teilweise an die betreffenden 
>> datensätzen. und trotzdem! es bleibt ein rest von unerkannten 
>> überlangen datenfeldern. "datenfeldern", NICHT datensätzen.
>> 
>> der welt da draussen ist die struktur der allegor-datensätze wurst. 
>> also überlege ich, wie ich an die längsten "datensätze" physikalisch herankomme.
>> kennt jemand ein instrument, wie man diese heraus bekommt?
>> 
>> 
>> was habe ich bisher ausprobiert?
>> ================================
>> -aus den gnutools ist mir bekannt: "wc"2 (mit xc -L sagt er mir schlicht 
>> die länge des längsten datensatzes, aber nicht WO ich ihn finde.
>> -bei asort (von allegro) gibts den schalter -c (für column). klappt 
>> nicht. das betriebssystgem meldet sich!
>> -auf den ersten blick scheinen mir sneezer und analyse.pl von 
>> th.berger nicht helfen zu können. auf den zweiten blick?
>> 
>> 
>> ein vorgang klappt! aber es ist zeitraubend.
>> ============================================
>> [es geht um ca 40.000 datensätze, kein spaziergang!]
>> update.exe (23.7.2012) aus dem allegro paket. damit kann was machen! ich spiele die datenbank wieder 
>> ein, und zwar so: update -fm01 usw usw.
>> "dankenswerterweise" bleibt der updatevorgang bei dem nächsten 
>> überlangen datensatz (oder datensatz mit überlangem datenfeld) stehen, 
>> und NENNT mir die datensatznummer! naja. es ist ein weg, aber mühsam. 
>> pro vorgang warte ich ca 1 1/2 stdunden, und bekomme den jeweils 
>> nächsten langen datzensatz genannt.... dann heisst es in den editor 
>> reingehen, die alg manipulieren. und den update-vorgang erneut 
>> starten. da ich nicht weiss, wieviele ich dieser kreuzvermaledeiten 
>> überlangen datenfelder habe, sitze ich bereits 1 1/2 tage dran. gibts 
>> nun einen anderen weg?
>> 
>> 
>> danke für helfen,
>> Ihr klaus lehmann
>> 
>> 
>> 
>> ps: leider weiss ich nicht, wie diese überlangen felder überhaupt 
>> entstanden. ein altes allegro muss sie irgendwann "zugelassen", also 
>> abgespeichert haben. die inhalte übrigens dieser felder: #4nz. 
>> sinnloses gekopiere aus der PND, mit 1-2 seiten länge in diesem feld.
>> 
>> 
>> -- 
>> Mit freundlichen Grüßen,
>> Ihr Klaus Lehmann
>> http://allegronet.de * eMail: allegronet at t-online.de * phone: 03528-452 807(fax 809) * mobil: 0171-953 7843
>> allegronet.de * Klaus Lehmann * D-01454 Radeberg * Kleinwolmsdorfer Str. 37
>> zuständiges Finanzamt: FA Hoyerswerda, zuständige Kammer: IHK Dresden
>> zuständige Aufsichtsbehörde: Gewerbeamt Radeberg, USt-IdNr: DE247550760
>> * Software für zufriedene Bibliothekare: 1000x bewaehrt und ergiebig
>> * Bereits 4x allegro-utf8. Buchen Sie die allegro-Roadshow
>> * Yes we can. Only with allegro. Yes we do. Always with allegro.
>> * Internetkataloge & WebHosting für Allegro-C & Web 2.0 with VuFind
>> * 2011: Sponsor der Peter-Sodann-Bibliothek (Staucha)
>> * 2012: mit allegro-utf8 V3 und allegro-vufind auf der IFLA in Helsinki
>> * 2013: allegronet ist ein eingetragenes Warenzeichen
>> 
>> 


> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sun250.biblio.etc.tu-bs.de/mailman/listinfo/allegro




Mehr Informationen über die Mailingliste Allegro