Dynamische Berichte in Salesforce Lightning durch URL-Hacking

Dynamische Berichte in Salesforce Lightning durch URL-Hacking

Dynamische Berichte in Salesforce Lightning durch URL-Hacking 1140 708 H+W CONSULT

Salesforce bietet eine leistungsstarke Palette von intereinandergreifenden Berichts- und Analysetools zur Auswertung von Daten.

Statt Berichte in zig Variationen zu erstellen, besteht häufig die Anforderung, Berichte in Salesforce dynamisch zu gestalten und sie für bestimmte Szenarien allgemeingültig zu erstellen.

Die Notwendigkeit besteht z.B., wenn Informationen für einen bestimmten Salesforce Benutzer ausgewertet werden müssen oder wenn unterschiedliche Zeiträume betrachtet werden sollen. Ist das der Fall, besteht die Möglichkeit für jeden Benutzer einen Bericht zu erstellen, den Filter für den jeweils zu betrachtenden Benutzer manuell anzupassen, oder notwendige Filterkriterien zur Laufzeit zu übergeben.

Wir beschreiben, wie die dynamische Übergabe von Filterkriterien in Salesforce funktioniert:

Erstellung eines Berichts

Im ersten Schritt wird ein Bericht in Salesforce mit der gewünschten Struktur erstellt. In diesem Bericht werden alle notwendigen Filter vorgesehen.

Hier dargestellt am Beispiel eines Berichts für Opportunities in Salesforce:

Die Filter 1 + 2 sind Standardfilter und sollten nur gefüllt werden, wenn diese für jedes mögliche Einsatzszenario gültig sind. Andernfalls sollten diese so gewählt werden, dass keine Datensätze ausgeschlossen werden und die dynamischen Filter durch individuelle Filter abgebildet werden (siehe Filter 2 und 5). Dieses ist notwendig, da für Standardfilter keine Werte dynamisch gesetzt werden können.

Die Filter 3 bis 5 sind individuelle Filter. Für alle Filter, die dynamisch gefüllt werden sollen, müssen in der Vorlage die Filter leer gesetzt werden (vergleiche Filter 4 und 5). Da es im Falle von Booleschen Werten (True, False oder Wahr, Falsch) nicht möglich ist, den Wert leer zu lassen, kann in diesem Fall ein beliebiger Wert ausgewählt und später dynamisch überschrieben werden.

Ist der Bericht soweit vorbereitet, muss dieser gespeichert werden. Dabei ist darauf zu achten, dass der Bericht in einem Ordner gespeichert wird, der allen Benutzern in Salesforce zugänglich ist, die mit diesem Bericht arbeiten sollen. Bzw. denjenigen Personen zugänglich ist, die mit den Datensätzen arbeiten von denen aus der Bericht aufgerufen werden soll.

Erstellung einer URL für einen Datensatz von dem aus der Bericht genutzt werden soll

Um den oben erstellen Bericht nun dynamisch nutzen zu können, muss auf dem Datensatz von dem ausgehend der Bericht genutzt werden soll, noch eine entsprechende URL erstellt und auf dem Seitenlayout eingeblendet werden.

Zur Vorbereitung ruft man den Bericht einmal auf und speichert die ID des Berichtes aus der URL:

Für die Erstellung der URL sind folgende Schritte notwendig:

  • Setup
  • Objekt Manager
  • Auswahl des entsprechenden Objektes
  • Auswahl des Menüpunktes „Buttons, Links und Aktionen“
  • Auswahl „Neuer Button oder Link“

Das erscheinende Formular wird wie beispielhaft dargestellt ausgefüllt:

URL als Text zum Kopieren:

/lightning/r/Report/00O0O00000AU5taUAD/view?fv0={!Filter_Bedingung_1}&fv1={!Filter_Bedingung_2}&fv2={!Filter_Bedingung_3}

Dabei wird die ID (im Beispiel gelb hervorgehoben) durch die ID des zuvor gespeicherten Berichts ersetzt.Nach dem Fragezeichen in der URL folgt der dynamische Teil für die definieten Filter. In diesem Beispiel steht fv0 für den ersten Filter (Nr. 3 im Bild oben) , fv1 für den zweiten Filter (Nr. 4 im Bild oben) usw.Beispiele:

  • Filter Nr. 3 im Bild soll False werden: fv0=False
  • Filter Nr. 4 im Bild soll eine Opportunity ID übergeben werden: fv1=0063Y0000101KLF
  • Filter Nr. 5 im Bild soll „Letzter Monat“ werden: fv2=Letzter Monat

Die einzelnen Kriterien werden immer mit einem „&-Zeichen“ verbunden. Sollen Werte aus dem Datensatz selbst übergeben werden, so können hierfür auch sogenannte „Merge Felder“ genutzt werden. Diese repräsentieren Werte einzelner Felder des jeweiligen Datensatzes und werden bei Aufruf der URL durch den jeweiligen Wert ersetzt.Z.B. soll im Filter fv1 der Name der Opportunity übergeben werden: fv1={!Opportunity.Name}. Die „Merge Felder“ können in den Auswahllisten des Formulars ausgewählt werden.Nachdem die neue URL gespeichert wurde, muss diese noch auf allen Seitenlayouts, auf denen diese URL genutzt werden soll, eingeblendet werden.

Tipps und weitere Tricks

Neben der beschriebenen Basisfunktion gibt es noch weiterführende Möglichkeiten.

Internationalisierung

Werden für eine relative Datumsangabe Floskeln benutzt (Z.B. „Letzte Woche“ oder „Letzten Monat“) und die Benutzer der jeweiligen Salesforce Instanz arbeiten in unterschiedlichen Sprachen auf der Oberfläche, so muss die jeweilige Floskel ebenfalls in der vom Benutzer eingestellten Sprache übergeben werden.

Hierzu wird ein „Custom Label“ angelegt, der die Floskel als Wert enthält und in jede benutzte Sprache übersetzt. Anschließend wird auf dem Datensatz, von dem aus die URL aufgerufen werden soll, ein Formelfeld angelegt, das das Custom Label als Wert wiedergibt. Das Formelfeld wird dann wiederum als „Merge Feld“ in dem jeweiligen Filter verwendet.

Beispiel:
Custom Label, das den Standardwert „LAST MONTH“ trägt und für Benutzer, deren Oberfläche auf Deutsch eingestellt ist, den Wert in „LETZTEN MONAT“ übersetzt.

Beispiel:
Formelfeld, das das Custom Label als Wert wiedergibt.

Nutzung von Datensatz IDs

Sollen die IDs von Datensätzen als Filterkriterium benutzt werden, so müssen diese zunächst vorbereitet werden. Hintergrund ist, dass als Filter nur IDs mit 15 Stellen akzeptiert werden, im Standard die IDs jedoch mit 18 Stellen übergeben werden. Es ist also notwendig, lediglich die ersten 15 Stellen der übergebenen ID zu verwenden. Dieses kann mit Hilfe einer Standardfunktion bewerkstelligt werden. Die Funktion nutzt von links gesehen die ersten 15 Zeichen als Wert.

Beispiel: LEFT(Opportunity.Id, 15)

Für die Nutzung dieser ID als Filterkriterium wäre damit der Syntax: fv1={!LEFT(Opportunity.Id, 15)}

Haben Sie Fragen zu dynamischen Berichten in Salesforce oder allgemein rundum Berichte und Dashboards? Wir beraten Sie gerne! Jetzt Kontakt aufnehmen

Sie haben Fragen? Gern!



Mit dem Fortsetzen des Besuchs dieser Website akzeptieren Sie die Verwendung von Cookies. Für mehr Informationen und zur Änderungen der Cookie-Einstellungen auf Ihrem Computer, lesen Sie bitte die Datenschutzerklärung.
Informationen ⟶