Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Microsoft Power BI
Copilot w Power BI proponuje miarę DAX, która nie pasuje do modelu - jak ją sprawdzić przed użyciem
Prosisz Copilota w Power BI Desktop o miarę, na przykład sprzedaż netto po zwrotach, i w kilka sekund dostajesz gotowy kod DAX z wyjaśnieniem każdego kroku. Po wklejeniu do modelu pasek formuły pokazuje komunikat albo miara zwraca liczbę, która nie zgadza się z tym, co znasz z raportu. Pokażemy na przykładzie z naszego kursu Power BI, jak sprawdzić propozycję Copilota w trzech miejscach: w pasku formuły, w znaczeniu danych i w widoku zapytania DAX, zanim miara trafi do raportu.
W kursie Power BI pracujemy na modelu sieci Nordvella. W polu na dole panelu Copilota wpisaliśmy: Utwórz miarę DAX, która policzy łączną sprzedaż netto: wartość sprzedaży pomniejszoną o zwroty. Wyjaśnij po polsku, jak działa. Copilot dał szkielet z dwiema zmiennymi, SprzedazNetto i ZwrotyNetto, a pod spodem wariant dla modeli, w których zwroty są w tej samej tabeli co sprzedaż i oznacza je flaga CzyZwrot. Po dodaniu propozycji jako nowej miary w tabeli FaktSprzedaz pasek formuły od razu pokazał komunikat przy wyrażeniu SUM ( FaktZwroty[Wartosc zwrotow wg daty zakupu] ).
Zobacz też: Szkolenie Power BI - Desktop, DAX i Online + Copilot
Druga niezgodność nie daje żadnego komunikatu i dlatego łatwo ją przeoczyć. Zwroty są w modelu kwotami ujemnymi, łącznie -14 022 095,44 zł, więc odjęcie ich od sprzedaży podniosłoby wynik zamiast go obniżyć. Miara wygląda poprawnie, a liczy coś innego. Trzecia dotyczy wariantu z flagą: Copilot porównał FaktSprzedaz[CzyZwrot] = TRUE (), a kolumna ma wartości 0 i 1.
Propozycja miary powstaje z polecenia i z metadanych modelu, czyli nazw tabel, kolumn i miar. Dokumentacja Copilota w widoku zapytania DAX opisuje to wprost: Copilot korzysta z metadanych, w trybie importu może pobrać wartości minimalne i maksymalne jako przykładowe wartości, ale innych danych z tabel nie używa. Nie zna więc konwencji Twojego modelu, na przykład tego, że zwroty zapisano ze znakiem minus. Może też potraktować jak kolumnę nazwę, która w modelu jest miarą, albo dobrać porównanie niepasujące do typu kolumny.
W naszym przykładzie Wartosc zwrotow wg daty zakupu to miara z wcześniejszej lekcji, a funkcja SUM przyjmuje kolumnę, stąd komunikat. Wartość CzyZwrot jest liczbą całkowitą, a DAX nie porównuje liczby całkowitej z wartością logiczną. Poprawna składnia nie gwarantuje też poprawnego znaczenia: miara bez komunikatu może liczyć coś innego niż chciałeś. Dokumentacja zaznacza również, że funkcje DAX dodane niedawno mogą nie być znane Copilotowi.
SUM ( ... ) trafiła nazwa miary, zastąp całe wyrażenie samym odwołaniem do miary, w naszym przypadku [Wartosc zwrotow wg daty zakupu].ABS ( [Wartosc zwrotow wg daty zakupu] ). Przy fladze 0 i 1 porównuj z liczbą: FaktSprzedaz[CzyZwrot] = 1 zamiast = TRUE ().Sprzedaż netto po zwrotach = VAR SprzedazNetto = SUM ( FaktSprzedaz[WartoscNetto] ) VAR ZwrotyNetto = ABS ( [Wartosc zwrotow wg daty zakupu] ) RETURN SprzedazNetto - ZwrotyNetto. Pasek formuły nie pokazuje już komunikatu. Ustaw format liczby, na przykład #,0.00 zł.EVALUATE ROW ( "Łączna sprzedaż", [Łączna sprzedaż], "Zwroty wg daty zakupu", [Wartosc zwrotow wg daty zakupu], "Sprzedaż netto po zwrotach", [Sprzedaż netto po zwrotach] ).Zapytanie zwraca jeden wiersz z trzema liczbami i od razu widać, czy się bilansują. W naszym modelu łączna sprzedaż to 467 775 009,17 zł, zwroty to -14 022 095,44 zł, a nowa miara daje 453 752 913,73 zł, czyli dokładnie sprzedaż pomniejszoną o kwotę zwrotów. Gdyby miara pokazała 481 797 104,61 zł, czyli więcej niż sama sprzedaż, oznaczałoby to odjęcie liczby ujemnej. Drugi sygnał to brak komunikatu w pasku formuły po zapisaniu miary. Jeśli nie rozumiesz którejś części kodu, zaznacz zapytanie w widoku zapytania DAX, otwórz Copilota przyciskiem Copilot albo skrótem Ctrl+I i kliknij Wyjaśnij to zapytanie, a opis porównaj z tym, co miara ma liczyć. Dopiero miara, która przeszła oba sprawdzenia, trafia do wizualizacji.
Wróć do listy: 213 najczęstszych pytań i problemów związanych z Microsoft 365 Copilot
Komentarze (0)
Brak komentarzy...