TIS:FAQ
Aus XIMES
| Startseite | Grundbegriffe | Operationen | Vorlage | F.A.Q. |
TIS: Frequently asked questions
Diese Seite ist erst im Aufbau. Hier werden alle häufig gestellten Fragen und Antworten zur Anwendung von TIS und deren Operatoren beschrieben.
Wie füge ich in einem Knoten eine neue Spalte hinzu?
Es gibt folgende Möglichkeiten:
- Ergebnisspalte des Formeloperators,
- Berechnung
- Tabelle händisch erzeugen und mit Daten zusammenfassen (kartesisches Produkt) verknüpfen
- Import
Wie kann in den Inhalt eines Feldes ändern?
Der Formeloperator mit dem Aufruf cc.CSharp.DataHelper.SetValue (#wert#, dataRow, "Daten", rowNumber, (int) #offset#) ermöglicht das Ändern eines Feldinhaltes.
Wie kann ich bei einem Datum die Uhrzeit entfernen bzw. ignorieren?
Mit dem Formeloperator kann ich das Datum mit der Uhrzeit in einen String umwandeln, dabei lasse ich die Uhrzeit bei der Formatierung weg und wandle den String wieder in ein Datum um.
System.DateTime.Parse( #Datum_mit_Uhrzeit#.ToString("dd-MM-yyyy") )
Wie kann ich mir den Feldinhalt von einem Feld holen?
Der Formeloperator ermöglich mit
- #Feldname# den Zugriff auf den Feldinhalt des aktuellen Datensatzes
- cc.CSharp.DataHelper.GetValue (dataRow, "Daten", rowNumber, (int) #offset#) erlaubt mir den Zugriff auf beliebige Datensätze
Wie kann ich mir den Feldinhalt von einem Feld aus dem vorherigen/nachfolgenden Datensatz holen?
- Der Formeloperator ermöglich mit cc.CSharp.DataHelper.GetValue (dataRow, "Daten", rowNumber, (int) #offset#) erlaubt mir den Zugriff auf beliebige Datensätze.
- Der Berechnen Operator ermöglicht es mit den Berechnungsmethoden:
- Wert von der nachfolgenden Zeile holen
- Wert von der vorherigen Zeile holen
auf die Werte anderer Zeilen zuzugreifen.
Wie kann ich einen Schalter programmieren, dessen Wert ich bequem ändern kann und die Logik/Abfrage sich ändert?
Unter Schalter ist hier ein Parameter gemeint, den ich selbst definieren kann und dessen Wert einen Einfluss auf eine Formel hat.
- Formeloperator hinzufügen
- im Formeloperator unter Einstellungen auf Bearbeiten... drücken
- im erscheinenden Fenster Funktionsdefinitionen bei den Parametern einen neuen Parameter hinzufügen (mit dem Symbol neben der Tabelle)
- einen sprechenden kurzen Namen vergeben, dieser wird in der Formeloperatormaske zur Anzeige verwendet und im Formeloperator zum Abfragen
- als Typ wählt man den entsprechenden Datentyp aus
- im Feld Wert trägt man einen Default-Wert ein, der standardmässig vorgeschlagen wird
- in der Beschreibung empfielt es sich eine kurze Erklärung zu hinterlegen
- im Code-Feld formuliert man die Abfrage des Parameters
Hier ist ein Bespiel einer Abfrage eines Parameters mit Uhrzeit ignorieren:
#Uhrzeit ignorieren#.Substring(0, 1).ToUpper() == "J" ?
/* JA: Uhrzeit ignorieren */
System.DateTime.Parse( #Von#.ToString("dd-MM-YYYY") )
: /* NEIN: Uhrzeit bleibt */
#Von#
Wie kann ich Spalten entfernen?
Eine oder mehrere Spalten können mit
- dem Operator Spalten löschen oder
- dem Operator Spalten umbenennen, umsortieren und löschen
gelöscht werden.
Womit kann ich einen Datenknoten sortieren?
Mit dem Operator Zeilen sortieren kann zeilenweise den Datenknoten (Tabelle) sortiert werden. Beim Sortieren kann man die Felder und deren Sortierreihenfolge (aufsteigend/absteigend) individuell aussuchen.
Wie kann ich doppelte Datensätze entfernen?
- Die Daten müssen zuerst so sortiert werden, dass die doppelt oder mehrfach vorkommenden Datensätze hintereinander vorkommen.
- Mit dem Operator Doppelte Datensätze löschen kann man bei mehrfachen Vorkommen der gleichen Daten die doppelten Datensätze löschen. Beim Löschen wähle ich die Spalten aus, welche für den Doppel-Vergleich verwendet werden sollen. Weiters hat man die Möglichkeit zu wählen, welcher Datensatz übrig bleiben soll.
Wie kann ich zwei Datenknoten (Tabellen) zusammenfassen (joinen)?
Mit dem Operator Daten zusammenfassen kann man zwei Datenknoten zusammenfassen.
Wie kann ich die Datensätze eines Datenknotens (Tabelle) vom anderen Datenknoten (Tabelle) entfernen?
Im SQL gibt es die Möglichkeit einen MINUS Operator der es ermöglicht eine Tabelle von der anderen Tabelle abzuziehen. D.h. die Datensätze aus Tabelle-1 mit den gleichen Werten aus Tabelle-2 werden aus dem Ergebnis gelöscht. (noch offen)
Es gibt zwei Ansätze um Datensätze eines Datenknotens (Tabelle) von einem anderne Datenknoten (Tabelle) zu entfernen. erster Ansatz:
- Daten beider Knoten aneinanderhängen
- doppelte Datensätze löschen und dabei eintragen, wie oft die Datensätze vorgekomen sind
- wenn etwas öfter als 1mal vorkam, dann herausfiltern
zweiter Ansatz:
- Daten zusammenfassen, welche Schlüssel kommen nur in Knoten 1 vor
- Daten nochmals zusammenfassen mit Schnittmenge mit Knoten 1
ToDO: beide Ansätze müssen noch exakter beschrieben und getestet werden.
Wie kann ich einen nicht befüllten Wert einer Spalte abfragen?
Im Formeloperator vergleicht man mit System.DBNull.Value. Siehe Extras.
Wie kann ich Werte zählen oder berechnen?
Im Formeloperator verwendet man additionalParameters. Siehe Zeilennr..
additionalParameters["VAR"] = (double) additionalParameters["VAR"] + 1
