ID tematu: 70036
 |
Usuwanie wiersza na podstawie warunków |
Autor |
Wiadomość |
mancia14
Exceloholic

Pomógł: 2 razy Posty: 207
|
Wysłany: 02-02-2021, 18:16 Usuwanie wiersza na podstawie warunków
|
|
|
Cześć.
W podanym przykładzie chciałbym aby PQ usunęło czwarty i piąty wiersz.
Zasada działania jest taka:
dla wierszy o takiej samiej wartości rekordu w kolumnie "moduł" sprawdzamy czy jest wpisana data w kolumnie "data rzeczywistego wycięcia". Jeżeli tak to usuwamy odpowiedni wiersz z wpisem w kolumnie "planowana data cięcia".
I tak jeśli "data rzeczywistego wycięcia" ma w kolumnie "operacja" wartość: "data cięcia stropu" to usuwamy wiersz z uzupełnioną planowaną datą cięcia i wartością "stropy" w kolumnie "prefabrykat do wycięcia". Analogicznie z wartością "data cięcia ściany" i wierszem, który ma "ściany" w kolumnie "prefabrykat".
W załączeniu plik
qbc.xlsx
|
Pobierz Plik ściągnięto 5 raz(y) 8.87 KB |
|
|
 | ID posta:
399592
|
|
|
 |
|
|
|
DwaNiedźwiedzie
Excel Expert


Wersja: Win Office 2016
Pomógł: 279 razy Posty: 686
|
Wysłany: 02-02-2021, 20:02
|
|
|
O ile Twoje zadanie opiera się o małą liczbę regularnych zestawień typu "data cięcia ściany" -> "ściany", to jeszcze od biedy dałoby się zrobić jakąś matrycę i przez nią dokonywać wyszukiwania, ale jeśli jest więcej deklinacyjnych kwiatków typu "... stropu" -> "stropy" i w grę wchodzą dane wpisywane ręcznie (czyli z potencjalnymi literówkami), to raczej potrzebujesz pomocy kogoś od uczenia maszynowego/AI...
Chyba że to tylko te dwie kombinacje :) |
|
 | ID posta:
399596
|
|
|
 |
|
|
mancia14
Exceloholic

Pomógł: 2 razy Posty: 207
|
Wysłany: 02-02-2021, 21:53
|
|
|
Nie, w grę wchodzą tylko te dwa warunki.
Chciałbym to załatwić zapytaniem, ale jak nikt nie będzie tu w stanie pomóc to pewnie załatwię temat makrem ;)
Dziękuję za odpowiedź. |
|
 | ID posta:
399602
|
|
|
 |
|
|
DwaNiedźwiedzie
Excel Expert


Wersja: Win Office 2016
Pomógł: 279 razy Posty: 686
|
Wysłany: 02-02-2021, 22:21
|
|
|
Do takich zastosowań PQ jest zdecydowanie wygodniejsze.
Kod: | let
Źródło = Excel.CurrentWorkbook(){[Name="Tabela1"]}[Content],
#"Dodano indeks" = Table.AddIndexColumn(Źródło, "Indeks", 0, 1),
matryca = [stropy = "data cięcia stropu", ściany = "data cięcia ściany"],
#"Dodano kolumnę niestandardową" = Table.AddColumn(#"Dodano indeks", "łącznik", each if [prefabrykat do wycięcia] = null then "brak" else Record.Field(matryca, [prefabrykat do wycięcia])),
#"Scalone zapytania" = Table.NestedJoin(#"Dodano kolumnę niestandardową",{"moduł", "łącznik"},#"Dodano kolumnę niestandardową",{"moduł", "operacja"},"Nowa kolumna",JoinKind.LeftOuter),
#"Rozwinięty element data wycięcia" = Table.ExpandTableColumn(#"Scalone zapytania", "Nowa kolumna", {"data rzeczywistego wycięcia"}, {"data wycięcia"}),
#"Przefiltrowano wiersze" = Table.SelectRows(#"Rozwinięty element data wycięcia", each [data wycięcia] = null),
#"Posortowano wiersze" = Table.Sort(#"Przefiltrowano wiersze",{{"Indeks", Order.Ascending}}),
#"Usunięto kolumny" = Table.RemoveColumns(#"Posortowano wiersze",{"Indeks", "łącznik", "data wycięcia"})
in
#"Usunięto kolumny" |
|
|
 | ID posta:
399606
|
|
|
 |
|
|
mancia14
Exceloholic

Pomógł: 2 razy Posty: 207
|
Wysłany: 02-02-2021, 22:37
|
|
|
Nie mam pytań Królu :D
Działa jak sobie wymarzyłem ;) Dziękuję!
PS. No może jedno pytanie :) Skąd uczyłeś się PQ? |
|
 | ID posta:
399607
|
|
|
 |
|
|
DwaNiedźwiedzie
Excel Expert


Wersja: Win Office 2016
Pomógł: 279 razy Posty: 686
|
Wysłany: 03-02-2021, 12:50
|
|
|
Standardowa ścieżka, jak to w monarchiach: praktyka, praktyka i jeszcze raz internet :) |
|
 | ID posta:
399655
|
|
|
 |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
 |
Strona używa plików cookies.
Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe
|