Dez 07

Talend: Automatische Anpassungen bei SQL-Abfragen und Testen in DBeaver

Problem:
Bei einer hohen Anzahl von Datenbankabfragen kann die manuelle Anpassung an ein neues Schema zu einem großen Zeitaufwand führen. Ebenso die Anpassung der Abfragen für DBeaver.

Ursache:
Bei Datenbankabfragen muss bei vielen Datenbanken immer ein Schema angegeben werden. Dies ist jedoch nicht für alle Umgebungen nötig und muss somit manchmal angepasst werden. Eine 1:1 Übernahme der Talend-Abfragen funktioniert aufgrund des Aufbaus nicht in DBeaver.

Lösung:
Eine automatische Anpassung des Schemas kann mit folgender Prüfung geschehen, die vor dem Tabellennamen eingefügt wird (Kontextparameter des Schemas ist hier „KUNDE_DB_Schema“):

(Relational.ISNULL(context.KUNDE_DB_Schema) || context.KUNDE_DB_Schema.equals(„“) ? „“ : context.KUNDE_DB_Schema + „.“)

Das Schema kann somit durch die Änderung des Kontextes in allen Jobs gleichzeitg angepasst werden. Dies kann neben dem Schema natürlich auch für weitere variable Werte angewendet werden.

Falls man die Anfrage bei Fehlerfall in DBeaver testen möchte, müsste man die Kontextverweise jedoch jedes Mal manuell mit passenden Werten austauschen. Dieses Problem kann umgangen werden, indem man, ausgehend von der Komponente, die die Datenbankabfrage ausführt, eine „OnComponentError“-Verbindung zu einer tWarn-Komponente herstellt.

Talend_OnComponentError-Verbindung

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Aus der GlobalMap kann für die Datenbank-Komponente die jeweilige SQL-Abfrage, mit der Talend auf die Datenbank zugreift, geholt und der tWarn als Warnnachricht mitgegeben werden. Für die Komponente „tJDBCInput_1“ würde das bspw. so aussehen:

(String)globalMap.get(„tJDBCInput_1_QUERY“)

Diese Abfrage kann dann einfach aus dem Log kopiert und in DBeaver geprüft werden.

Nov 30

Talend: Datenübertragung zwischen Sub- und Hauptjob ermöglichen

Problem: 
Es werden keine oder nur wenige Daten zwischen den Jobs übergeben 

Ursache:
Nutzung falscher Komponenten / Falsche Einstellung der Komponenten 

Lösung: Eine effektive Vorgehensweise, um Daten zwischen Jobs zu übertragen, wäre die Erstellung eines spezialisierten Postjobs. Dieser kann wie folgt aussehen und arbeitet im Zusammenhang mit einer „tSetGlobalVar“-Komponenten:

Talend_Jobs_DatenübertragungDie „tSetGlobalVar“-Komponente legt hierfür die Ergebnisse als globale Variable ab, welche durch die erste Komponente des Postjobs „tFixedFlowInput“ eingelesen wird. Hier ist jedoch zu beachten, dass die Bezeichnungen der globalen Variablen verschieden sein sollten, da sich diese ansonsten gegenseitig überschreiben. Eine einheitliche Bezeichnung ist nur zu empfehlen, wenn es sich um verschiedene Datenströme handelt, die niemals gleichzeitig ablaufen können. Danach wird die Komponente „tConvertType“ eingesetzt, um die Objekte aus der GlobalMap in die richtigen Datentypen umzuwandeln.

Mithilfe der „tBufferOutput“-Komponente können die Daten dann letztendlich in den übergeordneten Job übertragen werden. Bei der „tRunJob“-Komponente muss noch ein Haken unter „Advanced Settings“ bei „Propagate the child result to the output schema“ gesetzt werden, damit die Daten aus dem Subjob übertragen werden können. Das ausgehende Schema sollte dem Schema der „tBufferOutput“-Komponente entsprechen, ansonsten können die Daten falsch oder gar nicht übertragen werden. Dies kann leicht über den Button „Copy Child Job Schema“ in den „Basic Settings“ erreicht werden.

Nov 30

alphaQuest intensiviert Kooperationen mit führenden Sportinstitutionen

Der Analytics-Dienstleister alphaQuest aus Ulm verstärkt Zusammenarbeit mit dem Liebherr Masters College (LMC) und ratiopharm ulm

Für das LMC mit Sitz in Ochsenhausen übernimmt alphaQuest zukünftig die Funktion als neuer Software-Partner. Hintergrund der Kooperation ist hierbei die Umsetzung innovativer Ideen für die Tischtennissaison 2017/18. Gerade in den Bereichen Software und Videoanalyse existiert ein beträchtliches Optimierungspotenzial. LMC und alphaQuest planen in diesem Zusammenhang bereits die Entwicklung neuer sinnvoller Tools für das College. Dabei werden auch Verfahren realisiert, die es den Top-Partnern des LMC ermöglichen, den aktuellen Stand der von ihnen geförderten Spieler auf audiovisuellem Weg zu verfolgen. LMC-Geschäftsführer Kristijan Pejinovic freut sich auf die Zusammenarbeit mit dem neuen Analytics- und Software-Partner der Ochsenhausener Talentschmiede.

Zudem ist alphaQuest seit dem 1. September 2017 neues Mitglied im Partnernetzwerk des Basketball-Bundesligisten ratiopharm ulm. Das sportliche Aushängeschild der gesamten Region feierte jüngst zahlreiche Erfolge, die Ausdruck einer rasanten sportlichen und strukturellen Entwicklung sind. Im Rahmen der Kooperation fördert alphaQuest den modernen und dynamischen Club mit vielfältigem Engagement. Als Supporter freut sich der IT-Dienstleister aus Ulm ganz besonders darauf, jetzt auch in Süddeutschland den Leistungssport voranzutreiben und seinen Teil zum sportlichen Erfolg beizutragen.

cropped-alphaQuest_logo_transparent-1.png

Okt 12

SAP HANA Studio: Troubleshoot Calculation View

Jede Aktivierung und jeder Redeploy legen einen Job an, der je nachdem gut oder schlecht läuft.

 

1. Fehlersuche bei fehlgeschlagenem Job
Q: Der Job ist fehlgeschlagen und die Fehlermeldung zeigt nur eine Exception an, aber nicht die genaue Ursache.
A: Dazu klickt man im Job Log auf den fehlgeschlagenen Job, um den Dialog Job Details zu öffnen. Ihr müsst die Exception / Fehler im Dialog doppelt anklicken, dann erscheint ein Error Dialog. Klickt dann auf Details für eine sinnvollere Ursachenforschung.

2. Fehlende Daten im Cube
Q: Die Data Preview zeigt im Calculation View mit Star-Join weniger Quell-Daten als in meiner Quelltabelle / Calculation View an.
A: Das liegt daran, dass eure Quelltabelle nicht hochaggregiert wurde. Der CV mit Star-Join aggregiert automatisch alles von Anfang an.
Der Default-Aggregation-Node im Calculation View Cube ohne Star-Join aggregiert nur Aggregated Columns. Aber man kann keine Measure zu einer Aggregated Column konvertieren in diesem Node. Dazu muss unsinnigerweise unter diesem Node ein zusätzlicher Aggregation Node angelegt werden und in diesem kann eine Measure konvertiert werden. Dann sind die Daten wie im Star-Join hochaggregiert. Stand 28.09.2017

3. Nodes austauschen
Q: Ich möchte einen Node in einem Join, Union, Projection … austauschen gegen einen anderen Node.
A: Leider hat SAP dieses Feature noch nicht stark genug ausgebaut. Man kann zwar Nodes austauschen, aber damit ist bei SAP gemeint, dass ein unterer Node „hochgezogen wird“ und der Zwischenknoten eliminiert wird. Man kann also den Zwischenknoten nicht gegen einen unverlinkten Knoten austauschen. Die aktuelle Lösung geht über das Editieren per Texteditor. Dazu im „Project Explorer“ rechtsklick auf den Calculation View und „Open With“ auswählen. https://blogs.sap.com/2016/01/18/some-ways-to-replace-nodes-in-sap-hana-graphical-calculation-view-without-losing-metadata/. Stand 28.09.2017

4. Der Calculation View lässt sich nicht aktivieren.

Q: Ich finde keinen Grund, warum der CV sich nicht aktivieren lässt.

A: Siehe Punkt 1. Typische Probleme sind:

  • Nodes: Es dürfen keine losen Nodes, also ohne Verbindung, enthalten sein. Außerdem müssen alle Nodes zu einem höheren Node verweisen, also ein kopfloser Node darf nur der Semantics Node sein.
  • Cube: Überprüfen, ob ihr eine Kennzahl habt. Sonst wählt ihr in Semantics in View Attribute den Typ Dimension aus.
  • Join: Überprüfen, ob eine Verbindung der Spalten enthalten ist. Bei den Outer-Joins aufpassen, dass ihr die Spalten auf der linken/rechten/beiden Seite/n nicht ausblenden dürft.
  • Aggregation: Überprüfen, ob ihr eine Kennzahl habt.
  • Union: Überprüfen, ob die Verbindungen richtig sind, vollständig sind. Die Ziel-Tabelle darf keine Spalte ohne Verlinkung einer der Quell-Tabellen haben.
  • Semantics: Überprüfen, ob Kennzahlen und Stammdaten enthalten sind. Überprüfen, ob die Kennzahl auch als Measure eingestellt wurde. Analog die Stammdaten als Attribute. Überprüfe, ob der Semantics Knoten Kennzahlen/Stammdaten enthält, die der untere Knoten nicht enthält.

SAP HANA

Sep 25

Notepad++: Speichern verweigert unter Windows 7

Problem:

Beim Speichern von Änderungen in einer Konfigurationsdatei erklärt Notepad++, dass die Datei durch ein anderes Programm genutzt wird und deshalb die Änderungen nicht gespeichert werden können. Ich finde aber kein Programm, was aktuell zugreift.

Ursache:

Die Datei ist nirgends geöffnet, sondern Windows` User Account Control verhindert das Öffnen.

Lösung:

Option 1: Notepad++ mit Adminrechten öffnen.

Option 2: Die Datei an einem anderen Ort speichern und durch Drag & Drop das Original überschreiben.

Notepad++

Sep 19

aQ eröffnet Hauptstadt-Büro

alphaQuest baut seinen Standort Berlin kräftig aus.

Seit kurzem hat die Beratung für Analytics und Digital Experience mit Stammsitz Ulm ihre neuen Büros an der Spree bezogen.

Von dort aus kann alphaQuest noch enger mit ihren Kunden in Hauptstadt und ostdeutschem Raum zusammenarbeiten und die gemeinsamen BI- und Data Science-Projekte zu den nächsten Erfolgen führen.

Zusätzlich entwickelt am Berliner Standort das alphaQuest R&D gemeinsam mit der HTW innovative Lösungen für Augmented und Mixed Reality. <Digital Experience @ alphaQuest>

Deshalb haben wir unsere Büros im Technologie- und Gründerzentrum Spreeknie <TGS Berlin> eröffnet.

Wir freuen uns auf Ihren Besuch.

IMG_6125

Sep 11

Umfragen flexibel in Excel auswerten

Ausgangssituation:

Für ein Projekt wurde ein Fragebogen erstellt, um die Bedürfnisse des Kunden zu ermitteln. Die ausgefüllten Fragebögen liegen in Form von x Excel-Dateien vor und die Ergebnisse sollen ausgewertet werden.

Die Auswertung der Daten soll über Pivot-Tabellen/Diagramme erfolgen.
Die Antworten sollen auf allen möglichen Ebenen untersucht werden, insbesondere für eine Frage über alle Bögen und alle Fragen eines Bogens.

Dazu ist es notwendig, die Antworten zunächst in eine konsolidierte Tabelle zu übertragen, ohne dabei die Information zu verlieren, zu welchem ausgefüllten Bogen jede Antwort gehört.

Diese konsolidierte Tabelle enthält daher folgende Spalten:
Zeilen-Nummer, Fragen-Nummer, Fragen-Kategorie, Frage, Antwort und Bogen.

Der Inhalt der Spalten im Detail:
Zeilen-Nummer: Eine fortlaufende Nummer, um nach Sortierungen in Excel wieder die ursprüngliche Reihenfolge herzustellen. Beispielsweise um einen Teil der Bögen erneut in den Reiter zu kopieren.

Fragen-Nummer: Die eindeutige Nummer der Frage auf dem Bogen, z.B. 1.1, 1.2, 2.1… Notwendig für eine einfache Filterung bei der Auswertung.

Fragen-Kategorie: Die der einzelnen Frage übergeordnete Kategorie, sofern vorhanden, z.B. „Bewertung von OpenOffice“.

Frage: Der voll ausgeschriebene Fragetext, z.B. „Wie bewerten sie die Software bezüglich ihrer Bedienbarkeit?“

Antwort: Die Antworten, so wie sie vom Nutzer gegeben wurden.

Bogen: Bei personalisierten Umfragen kann hier der Name desjenigen verwendet werden, der den Bogen ausgefüllt hat. Ggf. können noch weitere Spalten hinzugefügt werden, wie etwa die Abteilung etc. Bei anonymen Umfragen sollte jeder Bogen eine fortlaufende Nummer zugeordnet bekommen.

Im Sinne der Auswertbarkeit werden alle Informationen denormalisiert abgespeichert.

Nachdem die Daten aller Bögen in das zentrale Dokument konsolidiert wurden, beginnt die Aufbereitung der Daten. Dazu werden zunächst alle Fragen betrachtet, bei denen mehrere Antworten gegeben werden konnten. Sind diese Antworten in nur einer einzelnen Zeile gespeichert, so müssen sie zunächst separiert werden. Für jede Ausprägung wird die Zeile einmal kopiert und jeweils eine Antwort pro Zeile übernommen.

Der nächste Schritt ist die Gruppierung von Freitextantworten. Hierbei werden die Eingaben der Befragten zu einer Frage betrachtet und ähnliche Antworten identifiziert. Diese werden dann auf einen gemeinsamen Wert geändert, z.B. Auto und PKW auf PKW.

Nach diesen Vorarbeiten kann ein Pivot der Daten erstellt werden und die Ergebnisse schnell und flexibel ausgewertet und aufbereitet werden.

Excel

Aug 28

Talend: Downgrade eines Jobs auf ältere Versionen

Problem:

Ein Talend-Job wurde in einer neuen Programmversion (z.B. 6.3.1) erstellt, aber der Kunde nutzt eine ältere Version (z.B 6.2.0). Talend an sich unterstützt nicht den Downgrade zwischen unterschiedlichen Versionen und schlägt als Lösung nur das Upgrade des Kundensystems vor, was jedoch oftmals nicht möglich ist.

Lösung:

Ein inoffizieller Lösungsansatz wäre, einen einfachen Job in der alten Version zu erstellen und dann in die neue Talend-Version zu importieren. Danach kann man die Datei „talend.project“ im Workspace der beiden Projekte vergleichen und die Unterschiede in die Datei übertragen, welche man downgraden möchte. Insbesondere ist hierbei auf die Produktversion und die Migrationsangaben zu achten. Die Produktversion muss die gesamte Versionsnummer beinhalten, also z.B. „6.2.1.20160704_1411“.

Dieser Lösungsansatz ist jedoch nur bei geringen Versionsunterschieden zu empfehlen.

Talend

Aug 14

JasperSoft Studio: Excel-Export soll Formeln enthalten

Problem:

Ein Bericht aus JasperSoft soll im Excel-Export die Formeln beinhalten und nicht nur die fertig berechneten Werte anzeigen.

Lösung:

Ich wähle von den Basic Elements das Static Text aus und füge die Formel ohne Anführungszeichen oder andere Zusatzzeichen ein (=1+1).

J_E_1

 

 

 

 

 

 

 

 

 

 

 

 

J_E_2

J_E_3

Nachdem ich den Bericht in Excel geöffnet habe, presse ich entweder „Enter“ in jeder einzelnen Zelle, die eine Formel enthält, oder klicke auf „Daten“ -> „Text in Spalten“.

Dies funktioniert nicht nur mit den Standardoperatoren +,-,* etc. , sondern mit allen Formeln, die Excel kennt. Hier muss ich allerdings auf die Sprache, die die jeweilige Excel Version verwendet, achten (Bspw. „Sum“ vs. „Summe“).

J_E_4

J_E_5

J_E_6

J_E_7

J_E_8

J_E_9

Jul 31

Remote Desktop: Zentrales Management von Computern und Servern

Problem:
Viele Remote Desktops sind umständlich und man muss immer eine Liste führen.
Ursache:
Der Remote Desktop Client verbindet sich nur mit einem Computer und mehrere Instanzen vom Remote Desktop Client sind umständlich zu bedienen.
Lösung:
Remote Desktop Connection Manager
https://www.microsoft.com/en-us/download/confirmation.aspx?id=44989
 RDCM.png
  1. Neue Gruppe anlegen: File -> New
  2. Neuen Computer anlegen: Gruppe -> Add Server

          a. Reiter Server Settings

               i. Server name: IP-Adresse bzw. Computername in einer Domäne

               ii. Display name: XYZ Computer

          b. Reiter Logon Credentials

               i. Inherit From Parent abwählen, wenn ein anderer Account genutzt wird

               ii. Alles leer lassen, wenn immer die Anmeldedaten abgefragt werden sollen

  1. Bildschirmgröße ändern:

          a. Nur für einen Computer: Computer -> Properties -> Inherit From Parent abwählen -> Größe wählen

          b. Für Gruppen: Gruppe -> Properties -> Remote Desktop Settings

               i. Nur für diese Gruppe: Inherit From Parent abwählen -> Größe wählen

               ii. Für alle Gruppen: Source: Default Group Setting -> Custom: 1716×973 beim 1920×1080 Monitor

  1. Speichern nicht vergessen: File -> Save All
  2. Diese Gruppe wird als Datei gespeichert und kann ausgetauscht werden, aber die Login Daten der jeweiligen Computer werden mitgespeichert!
  3. Verbinden:

          a. Einen jeweiligen Computer auswählen -> Rechtsklick -> Verbinden

          b. Alle Computer der Gruppe -> Gruppe -> Rechtsklick -> Verbinden

    7. Tastenkombinationen weiterreichen: Computer auswählen -> Rechtsklick -> Send Keys

Ältere Beiträge «