Objektverwaltung:Tabellen

Aus CoPlanner 11
Zur Navigation springenZur Suche springen

Um eine neue Tabelle zu erstellen, wechseln Sie zunächst in den Entwicklermodus und wählen den Menüpunkt Objektverwaltung.

In Tabellen werden die von User eingegebenen Daten gespeichert. Der Enduser kann über Eingabemasken Daten in Tabellen eingeben. Um eine Tabelle zu bearbeiten, markiert man diese und betätigt das Icon „Entwurf“ oder wählt „Entwurf“ über das Kontextmenü (mit rechter Maustaste aufrufbar) aus.

Framework, Tabellen

Es öffnet sich der Tabellendesigner:


Tabellendesigner

Framework, Tabellendesigner

Dieser setzt sich aus drei Bereichen zusammen:

  • Registerblätter
  • Register-Bereich
  • Allgemeiner Bereich


Allgemeiner Bereich

Diese 5 Buttons haben unterschiedliche Funktionen:

Schaltfläche Beschreibung
OK Übernimmt die vorgenommen Änderungen und schließt den Tabellendesigner
Tabelle aktualisieren Falls Tabelle nicht vorhanden wird diese erstellt. Neue Felder werden in der Datenbank angelegt und sind danach verfügbar. Bei Dimensionen werden Defaultelemente (Root-Element und „Keine Zuordnung“-Element) werden angelegt.

„Tabelle aktualisieren“ macht folgendes:

  • Definition der Tabelle wird gespeichert
  • Alle Felder, welche freigegeben sind(-> rotes Dreieck, diese Felder sind noch nicht in der Daten-Tabelle, und können bis dahin beliebig bearbeitet werden!), werden jetzt in die Daten-Tabelle(auch in Datenbank!) übernommen, und können ab jetzt nicht mehr umbenannt werden!(-> deshalb weil entspr. DB-Befehle nicht über versch. Datenbanken konsistent sind!)
  • Andere Einstellungen von Feldern, welche keine Veränderung in der DB bewirken, können nach wie vor bearbeitet werden, diese werden ja im „Laden“ der Tabelle vorgenommen!
  • Tabelle wird am Server neu geladen(siehe „Übernehmen“)
  • Die Daten der Daten-Tabelle bleiben unberührt!
  • wenn Spalten gelöscht wurden, werden sie erst mit aktualisieren aus der Datenbank entfernt!
Übernehmen Speichert die aktuelle Definition – Tabellen werden in der Datenbank nicht neu erstellt. Neue berechnete Felder sind sofort verfügbar.

Detail:
Speichert die Definition der Tabelle am CoPlanner-Server; übernimmt diese Veränderungen aber nicht in die wirkliche Daten-Tabelle am DB-Server! Felder die mit dem grünen Häkchen versehen sind wurden bereits in die Daten-Tabelle übernommen(mit „Tabelle aktualisieren“!), Felder mit dem roten Dreieck wurden nicht in die Daten-Tabelle übernommen! Ausgenommen sind berechnete Felder, diese werden auch bei „Übernehmen“ in die Daten-Tabelle übernommen. Das ist deshalb so, weil berechnete Felder nicht in der Datenbank gespeichert werden, sondern vom CoPlanner-Server hinzugefügt werden, und nur im Speicher (im Server-Cache) vorhanden sind! Das heißt also dass mit „Übernehmen“ folgendes passiert:

  • Definition der Tabelle wird gespeichert
  • Tabelle wird neu von der relationalen DB in den CoPlanner-Server geladen geladen (wie sie ist!)
  • Tabelle wird überarbeitet mit Informationen aus der Tabellen-Definition (z.B.: berechnete Felder werden hinzugefügt!)
  • Veränderungen in der Definition welche ein neues erstellen der Daten-Tabelle in der DB erfordern, werden nicht gemacht!(-> rotes Dreieck!)
  • Die Daten der Daten-Tabelle bleiben unberührt!
Tabelle neu erstellen Tabelle wird in der Datenbank neu erstellt – ACHTUNG: dabei werden alle bestehenden Daten gelöscht.

Mit „Tabelle neu erstellen“ passiert folgendes:

  • Die bestehende Daten-Tabelle wird gelöscht!
  • Die Datentabelle wird neu angelegt, gleich wie wenn man manuell eine neue Tabelle anlegt!
  • Das heißt, Die neue Tabelle besteht jetzt nur aus den Systemspalten!
  • Die Tabelle wird am Server neu geladen(siehe oben!)
  • Die in der Definition gespeicherten Felder sind jetzt wieder freigegeben, da sie sich nicht in der Daten-Tabelle befinden! Man kann sie jetzt bearbeiten und die Tabelle dann mit diesen Feldern neu aufbauen->“Tabelle aktualisieren“
  • Die Daten der Daten-Tabelle sind verloren!
Abbrechen nichts wird gespeichert, das Fenster geschlossen!


Felder

Hier befindet man sich im Registerblatt „Felder“. Ein neues Feld kann man durch Anklicken des Buttons „Feld hinzufügen“ anlegen.

Framework, Tabellendesigner - Felder

Spaltenname

In dieses Feld kann individuell der Name der Spalte eingetragen werden.

Datentyp

Als Datentyp stehen folgende Möglichkeiten zur Auswahl:

  • Dezimalzahl
  • Ganzzahl
  • Prozentwert
  • Text(50)
  • Datum
  • Währung
  • Bool
  • Link

Bei dem Datentyp Text kann man die maximale Größe des Textes (angegeben durch die Zahl innerhalb der Klammern) auch ändern, indem man ganz einfach die Zahl innerhalb der Klammern erhöht oder erniedrigt.

Standardwert

Man kann einen beliebigen Standardwert definieren, der dem User als Wert in diesem Feld vorgeschlagen wird. Wird ein neuer Datensatz angelegt, dann wird dieser Standardwert in das Feld des neuen Datensatzes geschrieben. Dieser kann natürlich jeder Zeit vom User selbst geändert werden.

Framework, Tabellendesigner - Standardwert

Standardcode

Im Gegensatz zum statischen Standardwert ist der Standard Code ein variabler Wert, welcher von der Session abhängig ist, mit der der Benutzer gerade am CoPlanner-Server angeloggt ist.

Framework, Tabellendesigner - Standardcode

Beschreibung

Hier kann man eine kurze Beschreibung zum Inhalt der Spalte eingeben.

Aggregationstyp

Folgende Aggregationstypen hat man zur Auswahl:

  • Keine: keine Berechnung ist erwünscht
  • Sum: die Summe aller Felder in einer Spalte wird berechnet
  • Avg: der Durchschnitt aller Felder in einer Spalte wird berechnet, wobei die Berechnung mittels Summe der Werte der Datensätze / Anzahl der Datensätze gemacht wird.

Format-String

Hier kann ein Standard-Format-String angegeben werden, der dann in Masken, für die keine eigene Formatierung angegeben wird, übernommen wird. Standardmäßig wird ohne Eingabe eines Format-Strings bei Dezimalzahlen N2 sowie bei Prozentwerten P2 verwendet.

Mehrsprachig

Gibt an, ob ein Feld mehrsprachig gespeichert werden kann. Diese Einstellung kann nur bei Textfeldern verwendet werden und bewirkt, dass bei Überschreiben eines Textfeldes in einer anderen als der Standardsprache der neue Wert nur für die angemeldete Sprache, d. h. als Übersetzung, gespeichert wird. Der ursprünglich eingegebene Wert ist weiterhin bei Anmeldung in der Standardsprache ersichtlich.

IsAttribute

Wird diese Option gesetzt, ist der Wert des Attributes im CoPlanner Reporting verfügbar. Z.B. kann hier eine Hintergrundfarbe in einer Dimension für das jeweilige Element definiert werden und diese dann im Reporting ausgelesen und entsprechend verarbeitet werden. Wird nur bei der Verwendung im Zusammenhang mit einer Dimension interpretiert.

IsOK

Zeigt an, ob Änderungen aktualisiert, gespeichert und korrekt durchgeführt wurden. Ist ein rotes Dreieck mit Rufzeichen, wie hier, zu sehen, dann muss der Button „Tabelle aktualisieren“ gedrückt und somit die vorgenommenen Auswahlen gespeichert werden.

Framework, Tabellendesigner - IsOK
Hinweis  Eine Spalte kann durch Kli¬cken von X oder durch selektieren der Zeile und drücken der „Entf“ – Taste gelöscht werden. Bitte beachten Sie, dass für den Fall, dass die Spalte bereits übernommen (durch grünes Häkchen dargestellt) wurde, auch darauf eingegebene Daten gelöscht werden.
Hinweis  Die Eigenschaften „Spaltenname“ und „Datentyp“ einer einmal übernommenen Spalte können nicht mehr geändert werden. Befinden sich bereits Daten auf dieser Spalte, empfiehlt sich die Neuanlage einer weiteren Spalte, das manuelle Kopieren der Werte und das anschließende Löschen der alten Spalte.


LookUp-Tabellen

Hier kann man Tabellen miteinander verknüpfen. Bei einer Tabelle handelt es sich erst dann um eine „verknüpfbare“ LookUp-Tabelle, wenn zumindest ein Feld mit „Sichtbar in LookUps“ angehakt ist. Erst dann können die entsprechenden Felder in der verknüpften Tabelle angezeigt werden, wobei mit Klick in das entsprechende Feld eine Combo-Box mit den in LookUp-Daten geöffnet wird.

Framework, LookUp-Tabellen
Datei:Fw LookUp Tabellen1.jpg
Framework, LookUp-Tabellen

Dimensionen

Ähnlich wie bei den LookUp-Tabellen öffnet sich für den User mit Klick in das entsprechende Feld ebenfalls eine Combo-Box mit dem einzigen Unterschied, dass hier eine Strukturebene zur Auswahl vorliegt.

Framework, LookUp-Tabellen Dimensionen
Framework, LookUp-Tabellen Dimensionen


Berechnete Felder

Berechnete Felder setzten sich aus anderen Feldern zusammen. In diesem Beispiel:

Berechnetes Feld: [Gesamtgehalt] = [Gehalt] + [Weihnachtsgeld] + [Urlaubsgeld] + [Prämie]

Framework, Berechnete Felder

Um eine optimale Auflösung der Ausdrücke zu ermöglichen, ist eine Klammersetzung bei jedem Ausdruck notwendig. z.B.: ([a] * [b]) + [c]

Syntax von Ausdrücken

Beim Erstellen eines Ausdrucks verweist man mit der ColumnName-Eigenschaft auf Spalten. Wenn z. B. der ColumnName einer Spalte "UnitPrice" und der einer anderen "Quantity" lautet, ergibt sich folgender Ausdruck:

"[UnitPrice] * [Quantity]"

Beim Erstellen eines Ausdrucks für einen Filter schließt man Zeichenfolgen in einfache Anführungszeichen ein:

"LastName = 'Jones'"

Die folgenden Zeichen sind Sonderzeichen und müssen, wie nachstehend beschrieben, mit Escapezeichen versehen werden, wenn sie in einem Spaltennamen verwendet werden sollen:

~
(
)
#
\
/
=
>
<
+
-
*
%
&
|
^
'
"
[
]

Wenn ein Spaltenname eines der oben aufgeführten Zeichen enthält, muss der Name in Klammern eingeschlossen werden. Wenn Sie z. B. eine Spalte mit dem Namen "Column#" in einem Ausdruck verwenden, schreiben Sie "[Column#]":

Total * [Column#]

Da Klammern Sonderzeichen sind, müssen Sie einen umgekehrten Schrägstrich ("\") als Escapezeichen für die Klammer verwenden, wenn diese Teil des Spaltennamens ist. Eine Spalte mit dem Namen "Column[]" wird z. B. wie folgt geschrieben:

Total * [Column[\]]

(Nur die zweite Klammer muss mit einem Escapezeichen versehen werden.)

Benutzerdefinierte Werte

Benutzerdefinierte Werte können in Ausdrücken verwendet und mit Spaltenwerten verglichen werden. Zeichenfolgenwerte müssen in einfache Anführungszeichen eingeschlossen werden. Datumswerte müssen in Nummernzeichen (#) eingeschlossen werden. Dezimalwerte und wissenschaftliche Schreibweise sind für numerische Werte zulässig.

Beispiel:

"FirstName = 'John'" "Price <= 50.00" "Birthdate < #1/31/82#" Wandeln Sie bei Spalten mit Enumerationswerten den Wert in einen Ganzzahldatentyp um. Beispiel: "EnumColumn = 5"

Operatoren

Die Verkettung mit den booleschen Operatoren AND, OR und NOT ist zulässig. Sie können mit Hilfe von Klammern Klauseln gruppieren und den Vorrang erzwingen. Der AND-Operator hat Vorrang gegenüber anderen Operatoren. Beispiel: (LastName = 'Smith' OR LastName = 'Jones') AND FirstName = 'John'

Beim Erstellen von Vergleichsausdrücken sind die folgenden Operatoren zulässig:

<
>
<=
>=
<>
=
IN
LIKE

Die folgenden arithmetischen Operatoren werden ebenfalls in Ausdrücken unterstützt:

+ (Addition)
- (Subtraktion)
* (Multiplikation)
/ (Division)
% (Modulo)

Zeichenfolgenoperatoren

Verwenden Sie zum Verketten einer Zeichenfolge das Pluszeichen (+). Ob die Groß- und Kleinschreibung bei Zeichenfolgenvergleichen berücksichtigt wird, wird durch den Wert der CaseSensitive-Eigenschaft der DataSet-Klasse bestimmt. Sie können diesen Wert jedoch mit der CaseSensitive-Eigenschaft der DataTable-Klasse überschreiben.

Platzhalterzeichen

Sowohl * als auch % können in einem LIKE-Vergleich synonym als Platzhalter verwendet werden. Wenn die Zeichenfolge in einer LIKE-Klausel * oder % enthält, müssen diese Zeichen in Klammern ([]) als Escapezeichen eingeschlossen werden. Wenn eine Klammer in der Klausel enthalten ist, müssen die Klammerzeichen mit Klammern als Escapezeichen versehen werden (z. B. [[] oder []]). Ein Platzhalter ist sowohl an Anfang und Ende eines Musters als auch nur am Ende oder nur am Anfang eines Musters zulässig.

Beispiel:

"ItemName LIKE '*product*'" "ItemName LIKE '*product'" "ItemName LIKE 'product*'"

Platzhalter innerhalb einer Zeichenfolge sind unzulässig. 'te*xt' ist z.B. nicht zulässig.

Functions

Die folgenden Funktionen werden ebenfalls unterstützt

CONVERT

Beschreibung Konvertiert einen bestimmten Ausdruck in einen angegebenen .NET Framework-Typ
Syntax Convert(expression, type)
Argumente expression – Der zu konvertierende Ausdruck
Type – der .NET Framework-Typ, in den der Wert konvertiert wird.
Beispiel myDataColumn.Expression="Convert(total, 'System.Int32')"


LEN

Beschreibung Ruft die Länge einer Zeichenkette ab.
Syntax LEN(expression)
Argumente expression – Die auszuwertende Zeichenkette
Beispiel myDataColumn.Expression="Len(ItemName)"


ISNULL

Beschreibung Überprüft einen Ausdruck und gibt entweder den überprüften Ausdruck oder einen Ersatzwert zurück.
Syntax ISNULL(expression, replacementvalue)
Argumente

expression – Der zu überprüfende Ausdruck.
replacementvalue – Wenn der Ausdruck NULL ist, wird replacementvalue zurückgegeben.

Beispiel myDataColumn.Expression="IsNull(price, -1)"

Alle Konvertierungen sind gültig, mit folgenden Ausnahmen: Boolean kann nur in und aus Byte, SByte, Int16, Int32, Int64, UInt16, UInt32, UInt64, String und in sich selbst umgewandelt werden. Char kann in und aus Int32, UInt32, String und in sich selbst umgewandelt werden. DateTime kann nur in und aus String und in sich selbst umgewandelt werden. TimeSpan kann nur in und aus String und in sich selbst umgewandelt werden.


IIF

Beschreibung Ruft je nach dem Ergebnis eines logischen Ausdrucks einen von zwei Werten ab.
Syntax IIF(expr, truepart, falsepart)
Argumente expr – Der auszuwertende Ausdruck
truepart – Der Wert, der zurückgegeben wird, wenn der Ausdruck True ist
falsepart - Der Wert, der zurückgegeben wird, wenn der Ausdruck False ist
Beispiel myDataColumn.Expression = "IIF(total>1000, 'expensive', 'dear')


TRIM

Beschreibung Entfernt alle vorangestellten oder nachgestellten Leerraumzeichen, z.B. \r, \n, \t und ' '.
Syntax TRIM(expression)
Argumente expression – der zu kürzende Ausdruck.


SUBSTRING

Beschreibung Ruft eine Teilzeichenfolge einer angegebenen Länge ab, beginnend an einem angegebenen Punkt in einer Zeichenfolge.
Syntax SUBSTRING(expression, start, length)
Argumente

expression – Die Quellzeichenfolge für die Teilzeichenfolge.
start – Eine ganze Zahl, die den Beginn der Teilzeichenfolge angibt.
lenght – Eine ganze Zahl, die die Länge der Teilzeichenfolge angibt.

Beispiel myDataColumn.Expression = "SUBSTRING(phone, 7, 8)"


Hinweis  Sie können die Expression-Eigenschaft zurücksetzen, indem Sie ihr einen NULL-Wert oder eine leere Zeichenfolge zuordnen. Wenn ein Standardwert für die Ausdrucksspalte festgelegt ist, wird allen bereits ausgefüllten Zeilen nach dem Zurücksetzen der Expression-Eigenschaft der Standardwert zugeordnet.


Optionen

Option „Planungstabelle“: Bei Dimensionen – kennzeichnet, ob diese Dimension im Dimensionsbaum angezeigt werden soll.

Option „planabhängig“: Daten werden pro Plan gespeichert. Ist diese Option nicht aktiviert, stehen die Daten der Tabelle in allen Plänen zur Verfügung

Framework, Optionen