• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Bron weergeven in een cel power query

Status
Niet open voor verdere reacties.

Kaalbartje

Gebruiker
Lid geworden
3 jan 2020
Berichten
91
Hoi,

Is er een mogelijkheid om de bron, datum en tijd van creëren in een cel weer te laten geven bij gebruik van power query?
 
Dat kan maar dan valt er niet meer te rekenen met die cellen
 
Ik bedoel dus eigenlijk om de gebruikte bestandsnaam incl datum en tijd te tonen van de bron. Datum en tijd zitten in de eigenschappen. Dit wordt een soort controlecel of de laatste versie gebruikt wordt
 
Code:
let
    Bron = Csv.Document(File.Contents("\\SHARE-SQL\bic_tmp_export_rooster 20200614_0610.csv"),[Delimiter=";", Columns=35, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"Headers met verhoogd niveau" = Table.PromoteHeaders(Bron, [PromoteAllScalars=true]),
    #"Type gewijzigd" = Table.TransformColumnTypes(#"Headers met verhoogd niveau",{{"Personeelsnummer", Int64.Type}, {"Contractnummer", Int64.Type}, {"Naam_Medewerker", type text}, {"Datum", type datetime}, {"Begintijd", type time}, {"Eindtijd", type time}, {"BeginDatumTijd", type datetime}, {"EindDatumTijd", type datetime}, {"Naam_Kostenplaats", type text}, {"Naam_Roostergroep", type text}, {"Activiteit_Type_Sleutel", Int64.Type}, {"Naam_Activiteit_Type", type text}, {"Activiteit_omschrijving", type text}, {"Activiteit_Soort", type text}, {"Duur", Int64.Type}, {"Werktijd", Int64.Type}, {"Arbeidstijd", Int64.Type}, {"ATW_rust", Int64.Type}, {"Rust", Int64.Type}, {"Tijd_aanwezig_op_werk", Int64.Type}, {"Tijd_op_werkplek", Int64.Type}, {"Tijd_ziek", Int64.Type}, {"Tijd_overwerk", Int64.Type}, {"Tijd_verlof", Int64.Type}, {"Tijd_Pauze", Int64.Type}, {"Tijd_standby", Int64.Type}, {"Naam_dienst", type text}, {"Rooster_Status", type text}, {"B4_huidige_func_oms", type text}, {"B4_kpl_een", type text}, {"B4_kpl_twee", type text}, {"B4_kpl_drie", type text}, {"B4_kpl_vier", type text}, {"B4_kpl_vijf", type text}, {"B4_kpl_zes", type text}}),
    Afdelingen = Table.SelectRows(#"Type gewijzigd", each ([Naam_Roostergroep] = "Afd A" or [Naam_Roostergroep] = "afd C")),
    Jaar = Table.SelectRows(Afdelingen, each [Datum] > #datetime(2019, 12, 31, 23, 59, 0)),
    #"Andere kolommen verwijderd" = Table.SelectColumns(Jaar,{"Naam_Medewerker", "Datum", "BeginDatumTijd", "EindDatumTijd", "Naam_Kostenplaats", "Naam_Roostergroep", "Activiteit_Type_Sleutel", "Naam_Activiteit_Type", "Activiteit_omschrijving", "Activiteit_Soort", "Naam_dienst", "Rooster_Status", "B4_huidige_func_oms", "B4_kpl_een", "B4_kpl_twee"})
in
    #"Andere kolommen verwijderd"

Aantal afdeling verwijderd om de code wat korter te maken voor nu. Het gaat dus om: \\SHARE-SQL\bic_tmp_export_rooster 20200614_0610.csv
Nu is de naam met een datum en tijd maar straks misschien niet meer. Ik wil dus eigenlijk dat uit de eigenschappen hebben in een cel van Excel.
Ik ben ook bezig om automatisch het nieuwste bestand in de query te laden. Vandaar dus een check of ik de laatste versie ingeladen heb voor de gebruikers.
 
Laatst bewerkt:
Als je eens een geheel nieuwe query start via Gegevens, Nieuwe Query, Van Bestand, Van Map. Dan kan je deze query gebruiken om eerst het goede bestand (met bijbehorende meta-data) te laten "ophalen" (door de tabel met bestanden slim te sorteren en dan de top-1 te behouden), waarna je dezelfde route nog eens doet waarbij je ditmaal de gegevens daadwerkelijk uit het bestand laat halen.
Snap je?
 
Dat eerste deel wel. Inmiddels doe ik dat nu. Maar wat bedoel je met de tweede keer?
 
Je krijgt dan code als dit:
Code:
let
    Source = Folder.Files("\\SHARE-SQL\"),
    #"Sorted Rows" = Table.Sort(Source,{{"Date modified", Order.Descending}}),
    #"Filtered Rows" = Table.SelectRows(#"Sorted Rows", each Text.StartsWith([Name], "bic_tmp_export_rooster")),
    #"Kept First Rows" = Table.FirstN(#"Filtered Rows",1)
in
    #"Filtered Rows"
 
Nou, de query die ik hierboven plaatste die laat je zijn gegevens plaatsen op rij 1 (krijg je een tabelletje met 1 rij met gegevens over het bestand). Dan kopieer je deze query en ga je verder na de laatste stap om de gegevens uit het betreffende bestand te halen. Dat resultaat plaats je dan onder je eerste query resultaat en dan heb je waar je om vroeg: de gegevens plus de naam en datum van de gebruikte bron
 
De query genereert inderdaad een kolom. Ik heb deze naar achteraan verplaatst om de rest van de formules niet in de war te schoppen. Die kolom tweede rij laat ik terug keren met een deel formule om te laten zien van welke datum de bron is.

Tnx.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan