Keresés

Új hozzászólás Aktív témák

  • Mutt

    senior tag

    válasz ny.janos #53237 üzenetére

    Szia,

    Tegnap küldtem hibajelentést a Microsoftnak, hogy Excel Power Query-ben nem műkődik jól a sorbarendezés ékezetes betűk esetén. Meglátjuk, hogy mikor lesz belőle vmi.

    Amivel próbálkoztam és háthat segítség neked:
    1. Power BI Desktop-ban jó a rendezés, M-kód teljesen azonos. Pár perc alatt megvagy ott vele.
    2. Ha átmenetileg lecseréljük az ékezetes betűket az ékezetesmentes változatukkal és úgy rendezünk, akkor jobb eredményünk lesz, de ez sem tökéletes.
    Ezt simán a GUI-val is meg lehet csinálni többlépéssel, de itt egy list-et tartalmazó változat.

    Van két segédlistám, ABCIn és ABCOut tartalmazza az ékezetes betüket és azok ékezetmentes változatát. Az M-kódjuk:
    = {"á", "é", "í", "ó", "ö", "ő", "ú", "ü", "ű"}
    = {"a", "e", "i", "o", "o", "o", "u", "u", "u"}

    Az Excel lapról jön a lista, amihez egy új oszlopot adtam amelynek a képlete:
    =Text.Combine(
        List.Transform(Text.ToList(Text.Lower([Nevek])), 
        each try ABCOut{List.PositionOf(ABCIn, _)} otherwise _)
      )

    A képlet legelőször kisbetűsre alakítja az eredeti szöveget, majd betűnként felszabdalva listába teszi. Ezen a listán végigmegyünk és ott ahol ékezetes betűt találunk lecseréljük a megfelelőre, a többi értéket nem változtatjuk. A végén az egészet összefűzzük.

    Az új oszlop alapján sorbarendezünk, utána törölhető az oszlop.

    A teljes M-kód:
    let
        Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
        #"Added Custom" = Table.AddColumn(Source, "Sorrendhez", each Text.Combine(
        List.Transform(Text.ToList(Text.Lower([Nevek])), 
        each try ABCOut{List.PositionOf(ABCIn, _)} otherwise _)
      )
    ),
        #"Sorted Rows" = Table.Sort(#"Added Custom",{{"Sorrendhez", Order.Ascending}}),
        #"Removed Columns" = Table.RemoveColumns(#"Sorted Rows",{"Sorrendhez"})
    in
      #"Removed Columns"


    üdv

  • Fferi50

    Topikgazda

    válasz ny.janos #53237 üzenetére

    Szia!
    Szerintem PQ-ban is külön kell kijelölni a 4-4 oszlopot a rendezéshez és egy-egy meccset is külön kell rendezni.
    Úgy gondolom, semmivel sem rosszabb az Excel rendezés.
    Üdv.

Új hozzászólás Aktív témák

Hirdetés