Microsoft BI Professionals Denmark

Please login or click SIGN UP FOR FREE to create your PowerBIUG account to join this user group.
Expand all | Collapse all

Vælg første række i Power Query

  • 1.  Vælg første række i Power Query

    Bronze Contributor
    Posted Feb 17, 2020 07:31 AM
    Hej alle

    Jeg har brug for lidt hjælp igen.

    Mit dataset indeholder noget der ligner:

    Kontonummer    IndbetalingsDato
    1111                         01.01.2019
    2222                        05.01.2019
    3333                        04.01.2019
    1111                         03.02.2019
    2222                        07.02.2019
    3333                        10.02.2019
    1111                         15.03.2019
    2222                         01.03.2019
    3333                        05.03.2019

    Jeg skal kun bruge rækken for den første indbetaling for hvert kontonummer, så datasættet kommer til at indeholde:

    Kontonummer    IndbetalingsDato
    1111                         01.01.2019
    2222                        05.01.2019
    3333                        04.01.2019

    Hvordan kan jeg klare det i Power Query Editoren?

    ------------------------------
    Jens Sørensen
    BI Analyst
    Lowell Denmark
    ------------------------------


  • 2.  RE: Vælg første række i Power Query

    Posted Feb 17, 2020 07:36 AM
    Hvis din kilde er er SQL kan du bruge rownumber. Noget ala det herunder.

    SELECT Kontonummer , IndbetalingsDato,
    ROW_NUMBER() OVER(PARTITION BY Kontonummer ORDER BY IndbetalingsDato DESC) AS rownumber
    FROM dinTabel

    Og så fjern dem hvor rown <>1 som filter i power query.

    Giver det mening?

    ------------------------------
    Claus Kirkegaard
    www.DataWise.dk
    22445621
    ckc@datawise.dk
    ------------------------------



  • 3.  RE: Vælg første række i Power Query

    Gold Contributor
    Posted Feb 17, 2020 08:09 AM
    Hej Jens,

    Her er lidt M

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMgQCBVzAwFAPiIwMDC2VYnWilYyAAKdSUxSlxkCAU6kJilL8LjDWMzAi0gXmKErxucDQAEUpXhcYAj1mTJwLwOFlTGQgIBkbCwA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Kontonummer    IndbetalingsDato" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Kontonummer    IndbetalingsDato", type text}}),
        #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Kontonummer    IndbetalingsDato", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"Kontonummer    IndbetalingsDato.1", "Kontonummer    IndbetalingsDato.2"}),
        #"Trimmed Text" = Table.TransformColumns(#"Split Column by Delimiter",{{"Kontonummer    IndbetalingsDato.2", Text.Trim, type text}}),
        #"Changed Type1" = Table.TransformColumnTypes(#"Trimmed Text",{{"Kontonummer    IndbetalingsDato.2", type date}}),
        #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"Kontonummer    IndbetalingsDato.1", "Kontonummer"}, {"Kontonummer    IndbetalingsDato.2", "Indbetalingsdato"}}),
        #"Grouped Rows" = Table.Group(#"Renamed Columns", {"Kontonummer"}, {{"FirstDate", each List.Min([Indbetalingsdato]), type date}})
    in
        #"Grouped Rows"

    Hvor Group By funktionaliteten i Power Query benyttes med Min på indbetalingsdatoen - forudsætter at indbetalingsdatoen er af typen date og ikke tekst.






    ------------------------------
    Erik Svensen
    PUG Leader
    Denmark
    es@catmansolution.com
    ------------------------------



  • 4.  RE: Vælg første række i Power Query

    Bronze Contributor
    Posted Feb 17, 2020 09:17 AM
    Edited by Jens Sørensen Feb 17, 2020 09:25 AM
    Tak for hjælpen begge to. Det bliver M vejen,

    Power har faktisk også en "group by" funktion, men jeg vidste ikke at det var det jeg ledte efter. :)



    ------------------------------
    Jens Sørensen
    BI Analyst
    Lowell Denmark
    ------------------------------