Eine der hilfreichsten von vielen nützlichen Funktionen im Design Studio ist "In Modell speichern". Sie ist jeweils unter "Virtuelle Tabelle" in den Eigenschaften der Ein- und Ausgabeports verfügbar. So kann ganz einfach eine durch einen Operator erstellte Ausgabe sofort im Modell als Tabelle widerspiegelt werden. Diese Tabelle kann ich dann z.B. als Tabellenziel am Ende des Flusses verwenden.
Auch der Scorer-Operator hat einen Ausgabeport und die dazugehörige virtuelle Tabelle. Diese Tabelle enthält zwei vom Operator kreierte Spalten: CLUSTER_ID und CLUSTER_QUALITY. Klar, dass ich diese Spalten auch in einer realen Tabelle irgendwann mal sehen will. Also nichts einfacher als das mit "In Modell speichern". Eine Übung, die bisher immer funktioniert hat.
Um das alles ein wenig abzukürzen: Im Falle des Scorer geht das schief.
Die virtuelle Tabelle sieht unter Eigenschaften des Scorers noch ganz normal aus, alles da, alles nah. Aber will man die im Modell gespeicherte Tabelle weiterverwenden oder ansehen, verhält sich das Design Studio sehr zurückhaltend.
Ein Blick auf die Darstellung der angelegten Tabelle (hier CL2) im Projektexplorer/Datenbanken offenbart Ungewöhnliches: Die beiden CLUSTER-Spalten zeigen keinen Datentyp. Auch unter Eigenschaften/Spalten für CL2 werden - nach einigem Wegklicken von Fehlermeldungen - keine Datentypen angezeigt, obwohl sie doch in der virtuellen Tabelle der Scorer-Ausgabe noch zu sehen waren.
Ein genauerer Blick in die dbm-Datei zeigt, dass in der Beschreibung der Datentypen der beiden Spalten im Element <containedType> jeweils das Attribut "name" fehlt.
Und dies ist auch schon der Workaround: Trage einfache die fehlenden Attribute "name="INTEGER"" und "name="DOUBLE"" ein und schon klappt's mit der Tabelle. Natürlich sollte man das Design Studio dazu bewegen, die geänderte dbm-Datei neu zu lesen.