Wpis z mikrobloga

Mam tabelę jak na screenie.
Potrzebuję zrobić wizualizację w formacie tabelki najlepiej, żeby pokazać co się zmieniło na danym UserID.
Czyli stworzyć kolumnę OLDVALUE i NEWVALUE.

Nie oczekuję gotowego rozwiązania, ale chociaż podsuńcie jakiś pomysł, bo czacha mi dymi i jestem w kropce.

#sql #powerbi
LucaJune - Mam tabelę jak na screenie.
Potrzebuję zrobić wizualizację w formacie tabe...

źródło: sql-question

Pobierz
  • 7
@LucaJune:
Przyjmując założenia:
- w ramach jednego USERID każda kolejna zmiana ma wartoś LogID o 1 większą od poprzedniego
- namniejszy logID na userze oznacza pierwszy wpis, a nie zmiane
- każdy kolejny logID zapisuje zmianę max na 1 kolumnie

Wrzuć matrixa z grupowanie po userID i Log ID

Napisz miary według schematu:
Edytowane pole =
Var Log Start = calculate(MIN(tabela[LogID]), all(tabela[LogID]))
Var Log
Current = selectedvalue( tabela[LogID])
Var Log Prev
@LucaJune
druga opcja przy założeniach jak poprzednio to unpivot kolumn poza log i user ID do Fieldname i value, następnie zdublowanie tabelki i obniżenie wartości log ID o 1 i join nowej wartości value po kluczu logID+userID+fieldname. Następnie dodaj kolumne ktora zwroci 1 jesli old value <> new value i odfiltrować po 1. w efekcie dostaniesz tabelke z log id userId, field_name, old value i new value.
@Sad_poyato: Dzięki! Będę to analizował, bo nie robiłem takich cudów jeszcze.

Tylko, że co do założeń to:

- w ramach jednego USERID każda kolejna zmiana ma wartoś LogID o 1 większą od poprzedniego
Niestety tak nie jest, LogID rośnie z każdym wpisem, niezależnie od Usera, więc UserID może mieć logi 1 , 2 , 55 , 89

- namniejszy logID na userze oznacza pierwszy wpis, a nie zmiane
Tak

- każdy
@LucaJune: Ok, w takim razie metoda druga wchodzi w grę, transformacje w Power Query, które opisałem, musiałbyś tylko rozszerzyć o stworzenie kolumny która robi ranking LogID po UserID, i nowej kolumny użyć zamiast Log ID w opisie.