Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
buc_christian
Partner - Contributor III
Partner - Contributor III

Laden einer gleichen Datei aus unterschiedlichen Verzeichnissen

Hallo Community,

in einer QV Datei greifen wir auf eine Exceltabelle zu, die auf einem SharePoint liegt. Je nachdem welcher Nutzer diese Datei laden möchte, stimmt der Pfad nicht. Folgendes Beispiel:

FROM

....... ;

Je nachdem, welcher User sich anmelder, ändert sich das XXXX, was natürlich im QlikView script nicht nachvollzogen wird.

Gibt es dafür eine Lösung? Ohne dass man jedes mal das Script anpassen muss (da es ja auch in vielen Reitern der Fall ist).

Danke für eine Antwort.

Chris

7 Replies
datanibbler
Champion
Champion

Hi BuC,

klar - aus dem OSUSER() (BS-Logon) kannst Du den Usernamen rausschneiden und umformen. Dann einfach in den Dateipfad für den LOAD einfügen.

HTH

Gruß,

DataNibbler

buc_christian
Partner - Contributor III
Partner - Contributor III
Author

Hi DataNibbler,

danke für Deine super schnelle Antwort. Freut mich, dass es wohl möglich ist.

Leider habe ich Deine Antwort nicht wirklich verstanden, bzw. weiß nicht recht wie ich es umsetzten soll.

Kannst Du mir vlt. ein Beispiel etwas erklären.

Besten Dank,

Chris

datanibbler
Champion
Champion

Hi Christian,

naja, mit der Funktion OSUSER() kriegst Du raus, wer aktuell angemeldet ist und kannst das abfragen. Aus diesem Logon (normal >> [Vorname].[Nachname] <<) kannst Du dann das rausschneiden, was im Dateipfad
>> <<

an der Stelle XXXX steht.

Evtl. musst Du mit einer Variable arbeiten, die Du erstellst: Verwende dafür dann
>> LET v_Dateipfad = 'C:\Users\' & [das, was Du rausschneidest] & '\SharePoint\Input\Datei.xlsx' <<
(die eckigen Klammern brauchst Du nicht, wenn kein Leerzeichen da ist, um alle fixen Teile dieses Konstrukts musst Du diese einfachen Hochkommata setzen)

=> Dann kannst Du den Dateipfad zusammenbauen

HTH

Gruß,

DataNibbler

buc_christian
Partner - Contributor III
Partner - Contributor III
Author

Hi DataNibbler,

danke für die erneut schnelle Antwort.

Das mit dem OSUser habe ich hinbekommen. Nun das nächste Problem, was du mich "rauschneiden" nennst.

Der spuckt mir etwas in der Form "Domäne\Vorname.Nachname" aus. Ich benötige für den Dateipfad nur Vorname.Nachname. Ausschneiden á la Excel =Rechts(...;...) klappt aber nicht, da die Namen ja immer unterschiedlich lang sind.

Hast Du da auch noch einen guten Tipp für mich?

Besten Dank,

Chris

simondachstr
Luminary Alumni
Luminary Alumni

In welchem Pfad befindet sich denn die QlikView Datei? Versuchs vielleicht mit relativen Pfaden...

datanibbler
Champion
Champion

Hi Christian,

probier's mal/ mit Gemütlichkeit - und mit der SUBFIELD()-Funktion 😉

>> SUBFIELD(OSUSER(), '\', 2) <<

=> Schneidet Dir aus der Ausgabe von OSUSER() den Teil nach dem '\' raus.

buc_christian
Partner - Contributor III
Partner - Contributor III
Author

Hi DataNibbler,

wir kommen der Sache näher lieben Dank schon mal für die tolle Hilfe.

Das funktioniert soweit super (wenn ich die subfield... Thematik mir ausgeben lasse), bis zu dem Moment wo ich es in das Script schreibe:

FROM

[LET v_Dateipfad = 'C:\Users\SUBFIELD(OSUSER(), '\', 2)\SharePoint\Projekte - ABC\Datei.xlsx']

(ooxml, embedded labels, table is [XYZ]);

das ist mit Sicherheit falsch denn es funktioniert nicht.

Noch habe ich Ruhe und Gemütlichkeit ... hast Du einen (hoffentlich) finalen Tipp? Danke!

Chris