Skip to main content

Tabellen

Diese Funktion des Asset Managers ist nur verfügbar, wenn der angemeldete Benutzer die Rolle Administrator besitzt.

Tabellen innerhalb des Asset Managers dienen dazu, Daten zu erfassen, zu bearbeiten und zu löschen. Nach der Erstellung einer Tabelle hat zunächst jeder Benutzer Vollzugriff auf die Datensätze, bis andere Berechtigungen erteilt wurden.

Regeln

Bei der Arbeit mit Tabellen sind einige Regeln zu beachten:

  • Tabellen- und Spaltennamen dürfen nicht mit einem Unterstrich beginnen.
  • Eine einmal angelegte Tabelle kann nachträglich nicht umbenannt werden.
  • Der Name und der Datentyp einer Spalte können nachträglich nicht geändert werden.
  • Die Maximallänge, Gesamtzahl der Dezimalziffern sowie die Anzahl der Nachkommastellen von Spalten können nachträglich nicht geändert werden.

Grundsätzlich sollte bei nachträglichen Änderungen an Tabellendefinitionen immer berücksichtigt werden, dass Benutzer ggf. mit der bestehenden Definition bereits Daten eingegeben haben, die mit einer geänderten Definition ungültig werden könnten. Das betrifft z. B. Minimum- und Maximumwerte, reguläre Ausdrücke, Auswahllisten, Standardwerte und Datumsformate. Hier obliegt es der Verantwortung des Administrators vorab mögliche Auswirkungen zu überdenken. Der Asset Manager selbst akzeptiert Eingaben, die vor der Änderung der Tabellendefinition vorgenommen wurden. Diese sind aber nur im Rahmen der neuen Definition änderbar.

Datentypen

Eine Tabelle besteht aus einer oder mehreren Spalten. Spalten können unterschiedliche Datentypen beinhalten:

Für die Detailansicht eines Datentyps bitte auf den jeweiligen Spaltenkopf klicken.

Textfeld
Bedeutung

Dient zur Erfassung von einzeiligem Text, z. B. Name, Straße, PLZ oder Ort.

SQL-Datentyp

NVARCHAR [(n)]

Wertebereich

Die Maximallänge kann mit 1 - 4000 angegeben werden.

Ein weit verbreiteter Irrtum ist die Annahme, dass bei NVARCHAR(n) das n die Anzahl der Zeichen definiert. In NVARCHAR(n) definiert n jedoch die Länge der Zeichenfolge in Byte-Paaren (0-4.000). n definiert niemals die Anzahl der Zeichen, die gespeichert werden können.

Das Missverständnis kommt zustande, weil bei der Verwendung von Zeichen, die im Unicode-Bereich 0-65.535 definiert sind, ein Zeichen pro Byte-Paar gespeichert werden kann. In höheren Unicode-Bereichen (65.536-1.114.111) kann ein Zeichen jedoch zwei Bytepaare verwenden.

Eingabemaske

am-table-text.png

  • Spaltenname: Der Name der Spalte (erforderlich).
  • Spalten-Postfix: Kann immer leer gelassen werden. Ist nur aus Kompatibilitätsgründen zur Vorversion enthalten.
  • Maximallänge: 1 - 4000, Standard: 50
  • Regulärer Ausdruck: Muss bei der Eingabe erfüllt sein, wenn angegeben, intern ein Regex.
  • Vorgabe: Der Standardwert für dieses Feld.
  • Erforderlich: Wenn erforderlich, muss ein Wert angegeben werden. Das Feld wird rot gekennzeichnet.
  • Schreibgeschützt: Definiert, ob das Feld schreibgeschützt ist.
  • Sichtbar: Gibt an, ob das Feld für den Benutzer sichtbar ist.
Textfeld (mehrzeilig)
Bedeutung

Dient zur Erfassung mehrzeiliger Textfelder, Z. B einer Beschreibung für etwas. Dieses Feld kann auch URIs enthalten, deren Links nach einem Klick an einen Browser übergeben und in diesem dargestellt werden.

SQL-Datentyp

NVARCHAR [(MAX)]

Wertebereich

Bis zu 2 GB Daten (eher theoretisch).

Eingabemaske

am-table-multiline-text.png

  • Spaltenname: Der Name der Spalte (erforderlich).
  • Spalten-Postfix: Kann immer leergelassen werden. Ist nur aus Kompatibilitätsgründen zur Vorversion enthalten.
  • Vorgabe: Der Standardwert für dieses Feld.
  • Erforderlich: Wenn erforderlich, muss ein Wert angegeben werden. Das Feld wird rot gekennzeichnet.
  • Schreibgeschützt: Definiert, ob das Feld schreibgeschützt ist.
  • Sichtbar: Gibt an, ob das Feld für den Benutzer sichtbar ist.
Datumsauswahl
Bedeutung

Dient zur Erfassung von Datumswerten, z. B. Geburtstag.

SQL-Datentyp

DATETIME

Wertebereich

01.01.1753 - 31.12.9999

Eingabemaske

am-table-datetime.png

  • Spaltenname: Der Name der Spalte (erforderlich).
  • Spalten-Postfix: Kann immer leergelassen werden. Ist nur aus Kompatibilitätsgründen zur Vorversion enthalten.
  • Minimalwert: Der kleinste Wert, der eingegeben werden darf.
  • Maximalwert: Der größte Wert, der eingegeben werden darf.
  • Vorgabe: Der Standardwert für dieses Feld.
  • Benutzerdefiniertes Format: Definiert die Formatierung für die Anzeige im Grid.
  • Erforderlich: Wenn erforderlich, muss ein Wert angegeben werden. Das Feld wird rot gekennzeichnet.
  • Schreibgeschützt: Definiert, ob das Feld schreibgeschützt ist.
  • Sichtbar: Gibt an, ob das Feld für den Benutzer sichtbar ist.
Numerisches Feld (integer)
Bedeutung

Dient zur Erfassung von negativen und positiven ganzen Zahlen im angegebenen Wertebereich.

SQL-Datentyp

INT

Wertebereich

-231 (-2.147.483.648) - 231-1 (2.147.483.647)

Eingabemaske

am-table-int.png

  • Spaltenname: Der Name der Spalte (erforderlich).
  • Spalten-Postfix: Kann immer leergelassen werden. Ist nur aus Kompatibilitätsgründen zur Vorversion enthalten.
  • Minimalwert: Der kleinste Wert, der eingegeben werden darf.
  • Maximalwert: Der größte Wert, der eingegeben werden darf.
  • Vorgabe: Der Standardwert für dieses Feld.
  • Erforderlich: Wenn erforderlich, muss ein Wert angegeben werden. Das Feld wird rot gekennzeichnet.
  • Schreibgeschützt: Definiert, ob das Feld schreibgeschützt ist.
  • Sichtbar: Gibt an, ob das Feld für den Benutzer sichtbar ist.
Numerisches Feld (big integer)
Bedeutung

Dient zur Erfassung von negativen und positiven ganzen Zahlen im angegebenen Wertebereich. Dieser Datentyp ist für die Verwendung vorgesehen, wenn Ganzzahlwerte den vom Datentyp int unterstützten Bereich überschreiten könnten.

SQL-Datentyp

BIGINT

Wertebereich

-263 (-9.223.372.036.854.775.808) - 263-1 (9.223.372.036.854.775.807)

Eingabemaske

am-table-bigint.png

  • Spaltenname: Der Name der Spalte (erforderlich).
  • Spalten-Postfix: Kann immer leergelassen werden. Ist nur aus Kompatibilitätsgründen zur Vorversion enthalten.
  • Minimalwert: Der kleinste Wert, der eingegeben werden darf.
  • Maximalwert: Der größte Wert, der eingegeben werden darf.
  • Vorgabe: Der Standardwert für dieses Feld.
  • Erforderlich: Wenn erforderlich, muss ein Wert angegeben werden. Das Feld wird rot gekennzeichnet.
  • Schreibgeschützt: Definiert, ob das Feld schreibgeschützt ist.
  • Sichtbar: Gibt an, ob das Feld für den Benutzer sichtbar ist.
Numerisches Feld (dezimal)
Bedeutung

Dient zur Erfassung von Dezimalzahlen, z. B. Preise, Entfernungs-, Größen- oder Gewichtsangaben.

SQL-Datentyp

DECIMAL[ (p[ ,s] )]

Wertebereich

Bei maximaler Gesamtzahl von Dezimalziffern (38) und keiner Nachkommastelle (0) sind Werte von -1038 +1 - 1038 - 1 gültig.

Die Gesamtzahl von Dezimalziffern (precision) ist die Anzahl aller Ziffern einer Zahl. Die Nachkommastelle gibt die Anzahl der Ziffern rechts vom Komma in einer Zahl an. Zum Beispiel hat die Zahl 123,45 eine Gesamtzahl an Dezimalziffern von 5 und  2 Nachkommastellen. Weitere Informationen.

Eingabemaske

am-table-decimal2.png

  • Spaltenname: Der Name der Spalte (erforderlich).
  • Spalten-Postfix: Kann immer leergelassen werden. Ist nur aus Kompatibilitätsgründen zur Vorversion enthalten.
  • Gesamtzahl Dezimalziffern: Die Anzahl aller Ziffern einer Zahl.
  • Nachkommastellen: Die Anzahl der Ziffern rechts vom Komma in einer Zahl.
  • Minimalwert: Der kleinste Wert, der eingegeben werden darf.
  • Maximalwert: Der größte Wert, der eingegeben werden darf.
  • Vorgabe: Der Standardwert für dieses Feld.
  • Erforderlich: Wenn erforderlich, muss ein Wert angegeben werden. Das Feld wird rot gekennzeichnet.
  • Schreibgeschützt: Definiert, ob das Feld schreibgeschützt ist.
  • Sichtbar: Gibt an, ob das Feld für den Benutzer sichtbar ist.
Auswahlliste (Werte)
Bedeutung

Definiert eine Liste statischer Werte, von denen einer ausgewählt werden kann, z. B.:  ja/nein, Kauf/Leasing/Finanzierung oder alle Bundesländer Baden-Württemberg/[...]/Thüringen.

SQL-Datentyp

NVARCHAR [(MAX)]

Wertebereich

Bis zu 2 GB Daten (eher theoretisch).

Eingabemaske

am-table-values.png

  • Spaltenname: Der Name der Spalte (erforderlich).
  • Spalten-Postfix: Kann immer leergelassen werden. Ist nur aus Kompatibilitätsgründen zur Vorversion enthalten.
  • Vorgabe: Der Standardwert für dieses Feld.
  • Erforderlich: Wenn erforderlich, muss ein Wert angegeben werden. Das Feld wird rot gekennzeichnet.
  • Schreibgeschützt: Definiert, ob das Feld schreibgeschützt ist.
  • Sichtbar: Gibt an, ob das Feld für den Benutzer sichtbar ist.
Auswahlliste (SQL)
Bedeutung

Definiert eine Liste von Werten, die mittels SQL-Abfrage bereitgestellt werden, von denen einer ausgewählt werden kann, z. B. alle inventarisierten Computer oder alle Hersteller.

SQL-Datentyp

NVARCHAR [(MAX)]

Wertebereich

Bis zu 2 GB Daten (eher theoretisch).

Eingabemaske

am-table-query.png

  • Spaltenname: Der Name der Spalte (erforderlich).
  • Spalten-Postfix: Kann immer leergelassen werden. Ist nur aus Kompatibilitätsgründen zur Vorversion enthalten.
  • Abfrage: Ein SQL-Skript, das eine Spalte zurückliefert, aus der ein Wert ausgewählt werden kann.
  • Vorgabe: Der Standardwert für dieses Feld.
  • Erforderlich: Wenn erforderlich, muss ein Wert angegeben werden. Das Feld wird rot gekennzeichnet.
  • Schreibgeschützt: Definiert, ob das Feld schreibgeschützt ist.
  • Sichtbar: Gibt an, ob das Feld für den Benutzer sichtbar ist.
Auswahlliste (SQL Multiple Choice)
Bedeutung

Definiert eine Liste von Werten, die mittels SQL-Abfrage bereitgestellt werden, von denen mehrere ausgewählt werden können, z. B. alle Städte Deutschlands oder die Benutzer einer Lizenz.

SQL-Datentyp

NVARCHAR [(MAX)]

Wertebereich

Bis zu 2 GB Daten (eher theoretisch).

Eingabemaske

am-table-query-mc.png

  • Spaltenname: Der Name der Spalte (erforderlich).
  • Spalten-Postfix: Kann immer leergelassen werden. Ist nur aus Kompatibilitätsgründen zur Vorversion enthalten.
  • Abfrage: Ein SQL-Skript, das eine Spalte zurückliefert, aus der mehrere Werte ausgewählt werden können.
  • Vorgabe: Die Standardwerte für dieses Feld.
  • Erforderlich: Wenn erforderlich, muss ein Wert angegeben werden. Das Feld wird rot gekennzeichnet.
  • Schreibgeschützt: Definiert, ob das Feld schreibgeschützt ist.
  • Sichtbar: Gibt an, ob das Feld für den Benutzer sichtbar ist.

Tabellen anlegen

Für die Erstellung und Bearbeitung von Tabellen steht ein entsprechender Editor zur Verfügung:

am-table-manager.png

Das nachfolgende Video zeigt, wie eine Tabelle mit Spalten angelegt wird:

Tabellen mit Historien

Wenn die Anforderung besteht, den Lebenszyklus eines Datensatzes zu dokumentieren, kann eine Tabelle mit einer Historienfunktion versehen werden.

Diese Funktion kann einmalig bei der Erstellung einer Tabelle aktiviert und anschließend nicht mehr geändert werden. Das gilt auch für bestehende Tabellen, die ohne Historien angelegt wurden.

Damit die Funktion Historientabellen zur Verfügung steht, muss in den Einstellungen der Wert Enable Table History aktiviert werden.

Bei Tabellen mit eingeschalteter Historienfunktion wird im Hintergrund zur Originaltabelle eine zweite Tabelle geführt, die nicht nur alle Spalten der ursprünglichen Tabelle enthält, sondern auch zwei zusätzliche Spalten, die das Datum der letzten Änderung sowie die Art der letzten Aktion (INSERT, UPDATE, DELETE) enthalten.

Namenskonvention: Wird eine Tabelle mit dem Namen myTable angelegt, so lautet der Name der Historientabelle myTable_History.

Tabellen mit Historien können - wie gewöhnliche Tabellen auch - nachträglich geändert werden, wenn die o.g. Regeln eingehalten werden.

Vor der Verwendung der Historienfunktion sollte ernsthaft überlegt werden, ob diese Funktion wirklich notwendig ist. Geht man vom Lebenszyklus eines Datensatzes aus, wird dieser 1 x angelegt, n x verändert und 1 x gelöscht. Wenn man bei 100.000 Datensätzen nur von einer Veränderung pro Datensatz ausgeht ausgeht, entstehen so in der Historientabelle 300.000 Datensätze. Für das Löschen der Datensätze in den Historientabellen ist der jeweilige Administrator selbst verantwortlich.

Das nachfolgende Video zeigt, wie eine Tabelle mit Historienfunktion angelegt wird:

Tabellen mit Variablen und filtern

Variablen haben wir schon im Kapitel Abfragen kennengelernt. Sie dienen dazu, die angeforderten Daten vorab durch eine Bedingung zu filtern, damit nicht immer alle Daten zurückgeliefert werden. Das funktioniert auch mit Tabellen, indem eine Variable angelegt und innerhalb der WHERE-Bedingung darauf verwiesen wird:

am-table-variable-and-filter.png

Variablen innerhalb von Tabellen werden aber auch dann gebraucht, wenn auf die Tabelle mittels Drilldown referenziert wird. Diese Referenz kann nur eingerichtet werden, wenn die Tabelle eine Variable besitzt.

Nach Auswahl einer Spalte kann über das Kontextmenü mittels Variable erstellen automatisch eine Variable erzeugt werden.

Das nachfolgende Video zeigt, wie Variablen und Filter im Zusammenhang mit einer Tabelle verwendet werden:

Import von Daten

Statt einzelne Datensätze von Hand anzulegen, können mit dem Asset Manager auch Daten z. B. aus Excel-Tabellen importiert werden. Die einzelnen Spalten eines Datensatzes müssen hierbei durch einen horizontalen Tab (➜ = 0x09) voneinander getrennt sein, und am Ende jeder Zeile mus ein CR/LF (= 0x0D, 0x0A) stehen, z. B.:

Value1 ➜ Value2 ➜ Value3 ↲

Für den Datenimport stehen zwei Varianten zur Verfügrung:

Daten mit Kopfzeile

Daten können eine Kopfzeile enthalten, in der die Namen jener Spalten angegeben sind, die importiert werden sollen. In diesem Fall müssen die Spalten nicht in der Reihenfolge angegeben werden, wie in der Tabelle vorgesehen. Außerdem dürfen auch die Spalten Last Update (Letztes Bearbeitungsdatum) und Last User (Letzte Bearbeitung durch) enthalten sein, da sie erkannt und herausgefiltert werden.

Column3 ➜ Column2 ➜ Column1 ➜ Last Update ➜ Last User ↲
Value3 ➜ Value2 ➜ Value1➜ 05.12.2022 09:37 ➜ Domain\User ↲

Der Import von Daten mit Kopfzeile ist die preferierte Vorgehensweise, weil dadurch z. B. eine Verwechslung von Vor- und Nachnamen oder PLZ und Ort usw. ausgeschlossen ist.

Daten ohne Kopfzeile

Die Spalten von Daten ohne Kopfzeile müssen in der Reihenfolge angegeben werden, wie sie auch in der Tabelle angegeben wurden, da sonst ggf. keine gültige Zuweisung erfolgen kann. Außerdem dürfen die Felder für Last Update (Letztes Bearbeitungsdatum) und Last User (Letzte Bearbeitung durch) nicht enthalten sein.

Value1 ➜ Value2 ➜ Value3 ↲

Das nachfolgende Video zeigt den Import von Daten mit und ohne Kopfzeile.