Pivot w Excelu traci swój układ i pokazuje błędne dane

Witam!

Mam pewien kłopot z tabelami przestawnymi w Excelu.
Mianowicie problem jest taki, że po jakimś czasie od zbudowania tabeli przestawnej na podstawie innej tabeli, która zaciąga dane bezpośrednio z bazy danych poleceniem SQL, coś się wykrzacza i wygląda to w następujący sposób (przepraszam za brak screena, ale za nic nie mogę go załadować do posta - poszczególne słowa między ukośnikami odpowiadają kolejnym kolumnom tabeli):

klient / rok i miesiąc / kombinacja klient + rok i miesiąc / wartość
aaa / 201801 / aaa201801 / 1000
aaa / 201802 / aaa201802 / 1400
bbb / 201801 / bbb201801 / 3000
bbb / 201801 / ccc201801 / --------
bbb / ------------ / ddd201807 / --------
bbb / ------------ / eee201803 / ---------

i tak dalej, powtarza się kod klienta, pole z datą jest puste, kombinacja jednak zaciąga kolejne kody klientów, a wartość również pozostaje pusta. Po skasowaniu tabeli i stworzeniu jej na nowo wszystko gra i bucy, jednak nie tędy droga i zastanawiam się, co może być przyczyną takiego obrotu spraw. Dodam też, że nie zawsze (tudzież - nie na każdej wersji Excela) da się ten problem rozwiązać. Plik był tworzony na edycji 2016, ale kolega z tą samą edycją nie jest w stanie tego naprawić, a ja to robię na 2010 i wszystko się poprawia, co jest jeszcze dziwniejsze.

Bez choćby screena czy najlepiej pliku (ów) używanych do tego wiele pomóc się nie da. Z mojego doświadczenia takie problemy wynikają zazwyczaj ze złych odwołań do Twojej bazy. Czy w każdym przypadku wszystkie rubryki są wypełnione? Czy istnieją rekordy, w których pewnych danych brakuje? Excel nie lubi bałaganu w danych i różnych formatowań - np. zamiast liczbowego gdzieś masz ogólne itp. Jak używasz gdzieś w dodatku makr to problem może się jeszcze bardziej pogłębiać - ile to się nawkurzałem by wyłapać dlaczego pewne makro nie pobierało mi liczb z rubryk. Okazało się, że gdzieniegdzie formatowanie w komórkach było błędne i wystarczyło dopisać konwersję zawartości komórki by wszystko było cacy - aby uniknąć podobnych scenariuszy w przyszłości.

1 polubienie

Nie bardzo mogę pokazać cały plik, bo przedstawia wrażliwe dane. Ale udało się załączyć w końcu zrzut.

image

Co do pytania o dane - te się nie zmieniają, w sensie - format jest wciąż ten sam:

Makro wprawdzie jest, ale tylko i wyłącznie do tego, aby odświeżanie danych w pliku następowało w odpowiedniej kolejności, nic więcej w nim nie ma (tylko pytanie o rok raportu i komunikat, że wszystko jest wykonane).
Wszystkie dane są wypełnione, bo stworzenie na nowo tabeli niweluje problem, to jest kuriozalne dla mnie.

Ciekawostką jest jeszcze fakt, że kod klienta, który widnieje w tabeli przestawnej (K0007) nie ma swojego odpowiednika w danych źródłowych do tabeli.

Hej,

Spróbuj w tabeli, z której dane się ciągną wyrzucić z nazwy kolumny znak “+” - zastąp do podkreślnikiem na przykład.

Pozdrawiam,
Dimatheus

1 polubienie