Power BI

Power BI – modyfikacja relacji z funkcją CROSSFILTER

Adrian Chodkowski
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Bardzo często filtracja krzyżowa jest tym czego oczekujemy od nowoczesnego narzędzia przeznaczonego do budowy modelu analitycznego. W Power BI i ogólnie rzecz biorąc w modelu tabelarycznym opcja ta była dostępna już od dawna pod postacią różnych technik jak na przykład specjalnego kodu DAX lub jako np. ustawienie kierunku relacji. Jedną z najbardziej pożytecznych funkcji pomocnych przy tego typu scenariuszach jest jest bez wątpienia CROSSFILTER, który pozwala ustalić zachowanie przepływu filtrów. Myślę, że znajomość tejże przyda się każdemu pracującemu z modelami analitycznymi dlatego też chciałbym zaprosić Was do lektury niniejszego artykułu gdzie przedstawmy ją na przykładach. Jako nasz zestaw testowy wykorzystamy…
Read more

Power BI – czy Assume referential integrity w Direct Query ma znaczenie?

PowerBI_AssumeReferentialIntegrity_00
Adrian Chodkowski
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Power BI posiada kilka trybów działania takich jak Import, Direct Query, Live Connection czy też Dual. Każdy z nich charakteryzuje się innymi cechami czy też ograniczeniami i przy wyborze należy przeanalizować wszystkie za, przeciw i wybrać ten tryb, który najlepiej sprawdzi się w naszym przypadku. Dziś powiemy sobie trochę o trybie Direct Query czyli sytuacji gdzie Power BI na bieżąco generuje i wysyła zapytania do źródłowej bazy danych, a całość obliczeń odbywa się właśnie po stronie bazy. Samego trybu nie będziemy jakoś szczególnie opisywać, a skupimy się na jednej właściwości o nazwie Assume referential integrity, która bardzo często jest pomijana. …
Read more

Power BI DAX – Detekcja poziomu hierarchii z ISINSCOPE

PowerBI_DAX_ISINSCOPE_00
Adrian Chodkowski
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

DAX ciągle się rozwija co do tego nie ma wątpliwości. Na moment pisania niniejszego artykułu najnowszym ucieleśnieniem tych słów jest ISINSCOPE. Funkcja ta została dodana do Power BI w aktualizacji November 2018 i wprowadza niemałą rewolucję. Ci którzy pracowali lub nadal pracują z kostkami analitycznymi i językiem MDX z całą pewnością kojarzą funkcję SCOPE i wiecie co? ISINSCOPE w niektórych przypadkach może pomóc nam podobne problemy! Jak ona działa, w czym może być użyteczna i czy różni się od takich funkcji jak ISFILTERED i ISCROSSFILTERED? Sprawdźmy to! Wspomniana aktualizacja Power BI wprowadziła jedną z najbardziej oczekiwanych funkcjonalności jaką były “przyciski”…
Read more

Power BI DAX – Agregowanie zagregowanych danych

Adrian Chodkowski
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

DAX jest naprawdę potężnym językiem. Mimo początkowo złudnego przekonania, że jest on trywialny po pewnym czasie ukazuje swoje prawdziwe oblicze na podstawie którego możemy dojść do wniosku, że bardziej wyrafinowane kalkulacje wymagają czasu i wielu testów. Budując liczne kalkulacje spędziłem sporo czasu próbując wypracować pewne wzorce, które mógłbym używać w określonych sytuacjach. Jednym z takich wzorców jest technika, która pozwala budować dynamiczne miary obliczające agregat na już pogrupowanych danych. O co właściwie mi chodzi? O kalkulacje takie jak suma średnich, suma iloczynów czy też suma wartości sprzedaży na na ostatnich fakturach wystawionych dla naszych klientów. Jak stworzyć tego typu miary…
Read more

Power BI – DAX KEEPFILTERS vs FILTER

Adrian Chodkowski
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Niektórzy specjaliści mówią, że język DAX jest kluczem do sukcesu raportów w Power BI. Z całą pewnością się zgadzam z tym stwierdzeniem ponieważ nawet jak mamy najlepszy i najbardziej dopracowany model to bez odpowiedniej implementacji miar trudno osiągnąć jakikolwiek sukces. O tym, że funkcja CALCULATE ze względu na swój charakter nadpisujący kontekst filtra jest najpotężniejsza funkcją dostępną w tym języku słyszeliśmy już niejednokrotnie. Kontekst ten można nadpisać jednak na wiele sposobów i dziś chciałbym Wam przedstawić kilka z nich tj. poprzez wykorzystanie CALCULATE właśnie w połączeniu z KEEPFILTERS oraz z popularnym FILTER – zapraszam serdecznie do lektury. Na samym początku zdefiniujemy…
Read more