Funkcja pętli w Power BI

Dzisiaj napiszę w jaki sposób stworzyć funkcję pętli w Power BI używając List.Generate() i funkcji niestandardowej. Zaprezentuje to na przykładzie przejścia przez kolejne strony przy zapytaniu API. W Pythonie pewnie zrobiłbym to właśnie ze pomocą funkcji „for”.

W Power Query i języku M nie ma funkcji, która przypominałaby funkcję „For”. Jest ona często potrzebna, więc względu musiałem znaleźć obejście. Na forach znalazłem informacje, że dużo developerów stosuję funkcję List.Generate() do tworzenia listy z kolejnymi liczbami naturalnymi. Jest ona następnie wykorzystywana w funkcji List.Transform(), która wywołuję funkcję niestandardową dla każdej z liczb.

Jako przykład będę odpytywał API z informacjami dotyczącymi przepisów na piwo. Wiem, że jest dostępnych 10 stron. Ta liczba mogłaby również być dynamicznym rezultatem innego zapytania.

Pobranie danych z pierwszej strony jest proste:

Natomiast, jak podejść do problemu kolejnych stron? Pierwszym krokiem jest stworzenie funkcji niestandardowej. Będzie ona zwracała tablę z przepisami z wybranej strony. Wystarczy lekko zedytować kod wyżej:

Z gotową funkcją niestandardową, mogę przejść do tworzenia listy z liczbami naturalnymi. Następnie wywołam moją funkcję dla każego z nich. Wykorzystam do tego List.Transform().

Zamiast List.Generate() mógłbym również wykorzystać List.Numbers(1,10). Dałoby to dokładnie ten sam efekt. Co myślicie o tym rozwiązaniu? Dajcie znać!

Dzięki

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *