Posts

Es werden Posts vom September, 2020 angezeigt.

Power Query, Alle Spalten einer Tabelle durchsuchen

Bild
  1 Tabelle in eine Liste von Listen aufteilen wobei jede Liste alle Felder einer Zeile enthält =Table.ToRows(Source) 2 Liste in einer Liste kombinieren, bedeutet, man hat alle Felder der Tabelle in einer großen Liste =List.Combine(Table.ToRows(Source)) 3 Überprüfen, ob diese Liste den gesuchten Text beinhaltet =List.Contains(List.Combine(Table.ToRows(Source)), "Zahnrad") Anwendung (Praxis Beispiel) Suche alle Datensätze (Lieferanten), bei welchen in irgendeiner Spalte (der Tabelle) die Warengruppe Zahnrad beinhaltet ist Ausgangstabelle Tabelle nach [Lieferant] gruppieren und neue benutzerdefinierte Spalte( [check]) hinzufügen = List.Contains(List.Combine(Table.ToRows([Warengruppen])), "Zahnrad") Spalte [check] auf Element TRUE filtern Beispiel Arbeitsmappe Quelle  https://www.thebiccountant.com/ https://www.thebiccountant.com/2019/04/30/table-containsanywhere-function/#more-4044 Lern Video

Power Query, vorangehende Zeile (Vorgänger)

Bild
  neue Abfrage erstellen, Language M Code einfügen, Abfrage umbenennen in fxTablePreviousRow --- SCHNIPP --- (MyTable as table, MyColumnName as text) => let     Source = MyTable,     ShiftedList = {null} &  List.RemoveLastN(Table.Column(Source, MyColumnName),1),     Custom1 = Table.ToColumns(Source) & {ShiftedList},     Custom2 = Table.FromColumns(Custom1, Table.ColumnNames(Source) & {"PreviousRowColumnValue"}) in     Custom2 --- SCHNAPP --- Quelle Imke Feldmann  https://www.thebiccountant.com/ https://www.thebiccountant.com/2018/07/12/fast-and-easy-way-to-reference-previous-or-next-rows-in-power-query-or-power-bi/ siehe Beispielmappe (download) Lern Video

Power Query, deutsche Feiertage je Bundesland, fnGetDeutscheFeiertageJeBundesland

Bild
Als Datenquelle fungiert Website  https://www.arbeitstage.org/  neue, leere Abfrage erstellen, Language M Code einfügen und in fnGetDeutscheFeiertageJeBundesland umbenennen: --- SCHNIPP Power Query Language M Code --- let fnAlleFeiertage = (Kalenderjahr as number) as table =>    let      //Liste aller Bundesländer für den Aufbau der URL bei arbeitstage.org      List_Bundeslaender = {          "baden-wuerttemberg",           "bayern", "berlin",           "brandenburg",           "bremen",           "hamburg",           "hessen",           "mecklenburg-vorpommern",           "niedersachsen",           "nordrhein-westfalen",           "rheinland-pfalz",           "saarland",           "sachsen",           "sachsen-anhalt",           "schleswig-holstein",           "thueringen"          },               ToTable =          Table.F

Power Query, reguläre Ausdrücke, Suchmuster, patterns

Bild
In Power Query gibt es aktuell kein Werkzeug, mit welchem man reguläre Ausdrücke (patterns; Muster) überprüfen kann. Es ist jedoch möglich, einen eigenen pattern matching (Muster Erkennung) Prozess zu entwickeln. Dies soll exemplarisch für folgendes pattern “##-##-##”, (:= 3 Gruppen von 2 Ziffern, getrennt durch “-“) aufgezeigt werden (folgende Language M Code in eine neue leere Abfrage kopieren): --- SCHNIPP --- let     Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],     List1 = List.Transform({0..9}, each Text.From(_)),     ReplacementsList = List.Zip({List1,List.Repeat({1},List.Count(List1))}),     #"Added Custom" = Table.AddColumn(Source, "Matches", (x)=> Text.Combine(List.Transform(Text.PositionOf(Text.Combine(List.Transform(List.ReplaceMatchingItems(Text.ToList(x[Legal]),ReplacementsList),Text.From)),"11-11-11",Occurrence.All),each Text.Range(x[Legal],_,8)),";")    ) in     #"Added Custom" --- SCHNAPP --- Er

Power Query, fxLookup, Wert nachschlagen (ohne Table Join)

Bild
 Anbei ein alternativer Ansatz zu einem Table Join (Tabellen über Schlüsselfeld verknüpfen), um einen Wert in einer anderen Datenquelle / Datei nachzuschlagen Ausgangssituation 2 Text- Dateien Ziel: neue Abfrage erstellen, Quellcode einfügen und Abfrage umbenennen in fxLookup ( Dateipfad anpassen ) --- SCHNIPP --- let fxLookup = (input) => let     Source = Csv.Document(File.Contents(" C:\Users\socia\Desktop\temp_vlookup\StateAbbreviations.txt "),[Delimiter=",", Columns=2, Encoding=1252, QuoteStyle=QuoteStyle.None]),     #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}}),     #"Promoted Headers" = Table.PromoteHeaders(#"Changed Type"),     Record = Table.First(Table.SelectRows(#"Promoted Headers", each ([State Name] = input))),     Result = Record.Field(Record,"State") in     Result in     fxLookup --- SCHNAPP --- neue Abfrage erstellen, Quellco