Jump to content

PowerQuery mit einen Link zum Bericht erstellen


Ina Roth
Go to solution Solved by Moritz,

Recommended Posts

Hallo zusammen,

ich weiß das ich in einer Query einen Link zu Bildern oder Unterschriften integrieren kann.
Das habe ich auch schon ein paar mal gemacht.

Für meinen neuen Fall ist das aber nicht ausreichend, bzw. zu Aufwendig, da sehr viele Bilder im Bericht sind.
Ist es möglich in einer Query auch einen Link zu integrieren der einen nicht registrierten Nutzer die Möglichkeit gibt den Bericht zur Eingabe aufzurufen?
So das ich im Bericht noch die Freigabe hinterlegen kann, das er auf die Fotos extern zugreifen kann.
Das wiederum, weiß ich auch wie es funktioniert.

Es hapert aktuell nur daran, das im Excel Sheet zur besserern Übersicht eine Möglichkeit fehlt den entsprechenden Bericht direkt zu öffnen.
Geht das?
Wenn ja wie?

Viele Grüße
Ina
 

Edited by Ina Roth
  • Like 1
Link to comment
Share on other sites

  • Ina Roth changed the title to PowerQuery mit einen Link zum Bericht erstellen

Ja das geht. Hierzu muss man die Externe Datenfreigabe für die smap aktivieren und kann sich den Link dann zusammenbauen. Ich schreibe morgen mal eine ausführliche Anleitung, wie das geht.

  • Like 1
Link to comment
Share on other sites

  • Solution

So, dann mal ran an die Buletten bzw. auf in's kalte Wasser! 😉

Cold Water Reaction GIF by The Wiggles

 

Zunächst einmal müssen wir hier zwei Vorgänge voneinander trennen:

  1. Externer Zugriff auf den Datensatz/den PDF-Bericht
  2. Externer Zugriff auf die Attachments

 

Wichtig Hinweis vorab: Die folgende Anleitung zeigt auf, wie externen Personen Zugriff auf eure smapOne-Daten – auch ohne Login – gewährt werden kann. Das bedeutet aber auch, dass eure Daten von Externen (sofern diese irgendwie an die erforderlichen IDs kommen*) entsprechend eingesehen werden können. Diese Einstellung ist also mit Bedacht zu wählen.

 

1. Externer Zugriff auf den Datensatz/den PDF-Bericht

Hierfür muss erst einmal der "Externe Datenzugriff" für die betroffene smap aktiviert werden:

image.thumb.png.7986f97b41eed25ae89b972ff7931604.png

 

Wenn wir uns jetzt die URL für den "Link zum externen Zugriff auf die Detailansicht des neuesten Datensatz"es ansehen, dann stellen wir folgende Struktur fest:

https://platform.smapone.com/portal/Creator/DataLink/DetailView/<ACCESS_KEY>?subscriptionId=<SUBSCRIPTION_ID>&versionId=<VERSION_ID>&recordId=<RECORD_ID>

Zu beachten sind dabei die Platzhalter ACCESS_KEY, SUBSCRIPTION_ID, VERSION_ID und RECORD_ID. Der Access Key wird so lange gleich bleiben, bis du in dem Dialog für den Externen Datenzugriff auf "Link neu ausstellen" klickst. Dieser Access Key ist damit eine Art Passwort light mit dem auf die Datensätze zugegriffen werden kann, sofern die anderen drei Parameter bekannt sind.

 

Diese URL zeigt aber erstmal nur die Web-Ansicht für den Datensatz. Das PDF direkt erhalten wir über folgende Link-Struktur:

https://platform.smapone.com/portal/Creator/DataLink/ExportRecord/<ACCESS_KEY>?subscriptionId=<SUBSCRIPTION_ID>&versionId=<VERSION_ID>&RecordId=<RECORD_ID>

(Dies ist einfach nur eine andere Route, hier ist .../ExportRecord/... statt .../DetailView/...)

 

Diesen Link müssen wir uns nun irgendwie in der Excel zusammenbauen (das kann auch im Rahmen der Power Query erfüllt werden, das ist aber nicht erforderlich). Dazu betrachten wir unsere Excel-Tabelle, deren Daten wir via Power Query bereits erfolgreich abgerufen haben (ich hatte dich so verstanden, dass das bereits für euch funktioniert, deshalb gehe ich nicht weiter darauf ein).

In dieser Tabelle benötigen wir beim Power Query-Abruf auf jeden Fall die SubsciptionID, die VersionID und die RecordID. Alle drei Merkmale werden aber bei jedem Datensatz mitgeliefert, die müssen wir lediglich auswählen für den Datenabruf:

image.png.11d6ffe43eb2831f354817d70fb5f50f.png

 

Im nächsten Schritt erstellen wir uns einfach eine weitere Spalte (hier "PDF-Link"), legen dort unsere URL für den externen Datenabruf ein und tauschen die jeweiligen IDs gegen die Platzhalter aus den anderen Spalten aus. Die Excel-Formel lautet bei mir also:

="https://platform.smapone.com/portal/Creator/DataLink/ExportRecord/<ACCESS_KEY>?subscriptionId="&[@[Column1.subscriptionId]]&"&versionId="&[@[Column1.smapVersionId]]&"&RecordId="&[@[Column1.id]]

(<ACCESS_KEY> ist in eurem Beispiel entsprechend durch euren Access Key zu ersetzen.)

 

Et voilà: Wir haben in der Excel einen anklickbaren Link zum PDF-Bericht, der ohne jegliche Login-Erfordernis abgerufen werden kann.

 

2. Externer Zugriff auf die Attachments

Auch hier ist unser Ausgangspunkt zunächst einmal das Freischalten des Externen Zugriffs auf Attachments, die ein User in einer smap hochläd.

image.png.898712e292038ad91a96204f025efc40.png

 

Diese Einstellung ermöglicht ganz grundsätzlich, dass auch Attachments nun ohne Login angesehen werden können. Die dahinterliegende Funktion ist eigentlich, dass User das Attachment aus dem PDF-Bericht anklicken und dann auch ohne Login einsehen können. Technisch gesehen bedeutet das konsequenterweise, dass diese Attachments dann auch über ihre spezielle URL öffentlich, ohne Login einsehbar sind.

Die Struktur für die URL beinhaltet auch wieder Parameter (SMAP_ID, RECORD_ID und FILE_ID), allerdings gibt es hier keinen Access Key:

https://platform.smapone.com/Portal/Creator/Data/File?smapId=<SMAP_ID>&recordId=<RECORD_ID>&fileId=<FILE_ID>

 

Und auch hier gehen wir analog zum obigen Verfahren vor: Wir beschaffen uns in der Power Query die drei obigen Werte. smapID und recordID kriegen wir direkt aus dem Datensatz herausgekitzelt, die fileID hängt am entsprechenden Baustein (bei mir eine Skizze) mit dran. Die Formel für die URL eines Attachments kann dann in Excel wie folgt aufgebaut werden:

="https://platform.smapone.com/Portal/Creator/Data/File?smapId="&[@[Column1.smapId]]&"&recordId="&[@[Column1.id]]&"&fileId="&[@[Column1.data.Sketch.fileId]]

 

Diese Formel kann noch ein wenig erweitert werden: Bei mir ist die Skizze kein Pflichtfeld. Somit kann das Feld "fileID" auch leer bleiben. In dem Fall möchte ich keine URL aufbauen, nur wenn die fileID entsprechend gefüllt ist:

=WENN([@[Column1.data.Sketch.fileId]]<>"";"https://platform.smapone.com/Portal/Creator/Data/File?smapId="&[@[Column1.smapId]]&"&recordId="&[@[Column1.id]]&"&fileId="&[@[Column1.data.Sketch.fileId]];"")

 

Nun ist eine öffentlich abrufbare URL für das Attachment aufgebaut, das grundsätzlich von jedem/jeder aufgerufen werden kann:

image.thumb.png.6c97e2dc9e8d4fd2df5b19a9d20de109.png

 

Wenn ich diese URL in einem Inkognito-Fenster öffne (ich also definitiv nicht eingeloggt bin), erhalte ich folgendes Bild...

image.png.c4e0a309d867572132c2d995315324ff.png

... und das war auch genau die von mir erstellte Skizze 🙂

 

Schau mal, ob du das hinkriegst. Wenn es klemmt, melde dich gerne einfach hier wieder.

  • Thanks 1
Link to comment
Share on other sites

Hallo Moritz,

Danke für den Input. Ich habe den Link jetzt direkt in die Query gebaut. Da funktioniert es soweit.
Jedoch muss ich im Excel den Link erst 2 oder 3 Mal anklicken, damit er es auch als Link erkennt und die PDF herunterläd und öffnet.
Hast du da eventuell noch eine Idee, wie ich das hin bekomme, das hier der Link gleich als Link erkannt wird?

VG
Ina

Link to comment
Share on other sites

Am 6.3.2023 um 10:28 schrieb Ina Roth:

Hast du da eventuell noch eine Idee, wie ich das hin bekomme, das hier der Link gleich als Link erkannt wird?

Leider nein 😞 Ich konnte das Problem bei mir nicht beobachten; verwendest du Excel als Desktop-Applikation oder über den Browser?

Link to comment
Share on other sites

Am 10.3.2023 um 11:16 schrieb Ina Roth:

Das habe ich schon versucht, da bringt er mir leider immer einen Fehler. mit #Wert

Das kann ich nachstellen, wenn ich versuche, den Link per HYPERLINK zu wandeln, kriege ich auch #Wert. Leider kann ich hierzu keine Tipps geben, da es die Grenzen meines Excel-Wissens überschreitet 😞

Link to comment
Share on other sites

Die Fehlermeldung liegt daran, dass Excel in der Hyperlink-Funktion lediglich 255 Zeichen verarbeiten kann, der zusammengebaute Link auf die oben genannte Art allerdings ca. 300 Zeichen hat. 

Ich kann hier leider nur den Grund für die Fehlermeldung mitteilen, habe hier selbst auch noch keine Lösung dafür gefunden. 😞

  • Thanks 2
Link to comment
Share on other sites

Das ist ja ärgerlich! Und auch nicht besonders weitsichtig von Excel/Microsoft, wie ich finde. Der Standard für Hyperlinks (RFC7239) besagt:

Zitat

Various ad hoc limitations on request-line length are found in practice. It is RECOMMENDED that all HTTP senders and recipients support, at a minimum, request-line lengths of 8000 octets.

Die alltagsrealitische Grenze, die auch Browser handeln können, liegt wohl so um die 2000 Zeichen... 😕

  • Agree 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...