[German] Frage zu {File.Categories}

Started by walle, April 20, 2025, 02:00:55 AM

Previous topic - Next topic

walle

Hallo,

ich bitte um Hilfe bei folgendem Problem:

Ich habe die hierarchischen Kategorien Europa|Deutschland|Hamburg.

Eine Datei ist Deutschland und Hamburg direkt zugewiesen.

{File.Categories|filter:Europa} liefert mir "Europa|Deutschland;Europa|Deutschland|Hamburg".
{File.Categories|filter:Europa;level:1} liefert mir "Deutschland;Deutschland".

Wie komme ich zu dem von mir gewünschten Ergebnissen "Europa|Deutschland|Hamburg" bzw. "Deutschland"?

Warum ich da brauche: Ich möchte in der Stapelverarbeitung damit Ausgabepfade generieren, soetwas wie "Deutschland;Deutschland" ist dabei hinderlich.

Ich hoffe, ich habs verständlich erklärt, sonst fragt bitte nach.

Walle

Mario

Wähle die Datei in einem Dateifenster aus und aktiviere im Kategorien-Panel den "Aktuell"-Reiter aus. Bildschirmfoto mit anhängen.

Generell:

Wenn Du eine Hierarchie wie

Europe
 |- Deutschland
    |- Hamburg

hast, weist Du die Dateien nur der Kategorie "Hamburg" zu. Immer auf der untersten Ebene. Die Variable liefert dann:

Europa|Deutschland|Hamburg

Wenn Du Dateien auf mehreren Ebenen zuweist, hast Du natürlich Wiederholungen in der Variablen, weil die Datei mehreren Kategorien zugewiesen wurde.

walle

Hi Mario,

ich danke dir für deine Unterstützung!

Quote from: Mario on April 20, 2025, 09:28:02 AMWähle die Datei in einem Dateifenster aus und aktiviere im Kategorien-Panel den "Aktuell"-Reiter aus. Bildschirmfoto mit anhängen.

Hier zwei Screenshoots:


Quote from: Mario on April 20, 2025, 09:28:02 AMWenn Du Dateien auf mehreren Ebenen zuweist, hast Du natürlich Wiederholungen in der Variablen, weil die Datei mehreren Kategorien zugewiesen wurde.
Es hat lange gedauert, bis ich verstanden habe, dass "Deutschland;Deutschland" an den Zuweisungen auf den verschiedenen Ebene liegt. Erst als ich die Reduktion auf eine Ebene endlich mal rausgenommen habe, hats Klick gemacht.

Das Problem: In meiner über die Jahre gewachsenen Datenbank hatte ich bisher noch nie ein Problem mit den Mehrfachzuweisungen und es wird inzsichen hunderte bis tausende solcher Direktzuweisungen auf verschiedenen Ebenen geben. Daher wünsche ich mir einen Weg, wie ich "Europa|Deutschland;Europa|Deutschland|Hamburg" oder "Deutschland;Deutschland" in den Griff bekomme, also indem z.B. nur die längste Hierarchie bzw. ausgegeben wird (im Beispiel also "Europa|Deutschland|Hamburg" oder im Falle der Reduktion auf eine Ebene nur "Deutschland"). Ist das möglich?

Walle

Mario

#3
{File.Categories} liefert einfach alle Kategorien zurück, die zugewiesen wurden. Mit Attributen wie "längste" kann die Variable nichts anfangen.

Das nur mit einer Variablen zu lösen, ohne die Kategorien aufzuräumen, ist wohl schwierig bis unmöglich.
Experimentiere mal mit splitlist:Split char,Index oder foreach:expression.

Die generelle Regel für Kategorien ist immer die Zuweisung auf der untersten Ebene Die Ebenen "Hamburg" und "Europa" sind dann implizit.

Tipp: Wenn Du im Dateifenster die Option "Nur direkt zugewiesene anzeigen" aktivierst:

Image1.jpg

und Du klickst bspw. auf "Deutschland", siehst Du alle Dateien, denen Du Deutschland direkt zugewiesen hast. Wenn Du nun mit <STRG>+<A>, <U> diese Zuweisungen aufhebst, dann bleibt einer Datei von

Europa|Deutschland
Europa|Deutschland|Hambung

nur noch

Europa|Deutschland|Hambung

und das ist, was Du willst. Nur die unterste Ebene. Dito mit der Europa-Ebene.

walle

Quote from: Mario on April 20, 2025, 12:44:16 PMDas nur mit einer Variablen zu lösen, ohne die Kategorien aufzuräumen, ist wohl schwierig bis unmöglich.
Experimentiere mal mit splitlist:Split char,Index oder foreach:expression.
[...]
 Tipp: [...]
Bevor ich jetzt lange rumbastele und meine Fehler damit nur weiter zementiere, werde ich wohl mal doch lieber ein wenig in den Zuweisungen aufräumen.

Nochmals Danke für deine Hilfe!

Quote from: Mario on April 20, 2025, 12:44:16 PMDie generelle Regel für Kategorien ist immer die Zuweisung auf der untersten Ebene
Gibt es einen Grund dafür, dass es eine Zuweisungsaktion wie "aus Elternkategorien entfernen" nicht gibt?

Mario

QuoteGibt es einen Grund dafür, dass es eine Zuweisungsaktion wie "aus Elternkategorien entfernen" nicht gibt?
Wird normalerweise nicht gebraucht. Kategorien sollten immer auf der untersten Ebene zugewiesen werden, also

VEHICLES|Cars|Porsche

und nicht

VEHICLES
VEHICLES|Cars
VEHICLES|Cars|Porsche

walle

Quote from: Mario on April 20, 2025, 02:38:13 PM
QuoteGibt es einen Grund dafür, dass es eine Zuweisungsaktion wie "aus Elternkategorien entfernen" nicht gibt?
Wird normalerweise nicht gebraucht. Kategorien sollten immer auf der untersten Ebene zugewiesen werden
Das habe ich verstanden und gerade deswegen habe ich mich gewundert, dass ich eine solche (vielleicht sogar standardmäßig aktivierte) Aktion nicht gibt.

Mario

Wird eben nicht gebraucht. Oder nicht so oft, dass ich so etwas einbauen muss. Mein Tipp funktioniert prima.