Powerpivot; Uzyskaj bazę danych z SQL vs tworzenie modelu danych w programie Excel

0

Mam tabelę SQL, która zawiera dane dotyczące sprzedaży i potencjalnych klientów wraz ze szczegółowymi informacjami o koncie, i mam inną tabelę, która zawiera tylko szczegółowe informacje o koncie.

Moje pytanie brzmi, czy bardziej efektywne jest wyciągnięcie tylko wartości sprzedaży i identyfikatora konta (z wyłączeniem szczegółowych informacji o koncie) i pobranie osobnej tabeli, która zawiera tylko szczegółowe informacje o koncie, a następnie utworzenie relacji w powerpivot przy użyciu identyfikatora konta. LUB czy bardziej wydajne / szybsze jest po prostu zrzucenie jednej tabeli, która zawiera wszystkie informacje do powerpivot (cała praca jest wykonywana w SQL).

Po pierwsze, pomyślałem, ponieważ informacje takie jak menedżerowie kont, segmenty i nazwa konta będą duplikowane dla wielu danych sprzedaży (konto A może kupować wiele produktów wiele razy), posiadanie osobnej tabeli zawierającej tylko informacje o koncie byłoby bardziej wydajne. Ale bardziej myślę o tym, jeśli mam dwie tabele, Excel musiałby wykonać całą pracę w locie, zamiast pozwolić SQLowi na wykonanie całej pracy.

Bardzo chciałbym usłyszeć opinię ekspertów na ten temat. Potrzebuję powerbi / powerpivot do szybkiej pracy, nawet jeśli oznacza to mniej wydajny program pamięci.

użytkownik2669043
źródło

Odpowiedzi:

0

Oddzielne tabele będą zdecydowanie szybsze do odświeżania i analizy przy użyciu tabel przestawnych, a także będą bardziej kompaktowe (na dysku i w pamięci).

Taka konstrukcja otwiera również możliwość wydajnych obliczeń na poziomie konta (jeśli będą potrzebne później), np. Odrębna liczba produktów na konto.

Problemem może być to, że zestawy danych są często brudne, a domniemane klucze często zawodne - ten problem zwykle nasila się w miarę cofania się w historii. Te problemy mogą zmusić Cię do powrotu do projektu pojedynczej tabeli w dodatku Power Pivot, abyś mógł spróbować ominąć te problemy za pomocą kodu SQL, kwerendy zasilania lub narzędzia ETL.

Mike Honey
źródło
Z perspektywy wydajności (szybszy czas odpowiedzi w tabeli przestawnej / pytaniach i odpowiedziach), czy byłoby szybciej, gdyby dane znajdowały się w jednej tabeli w porównaniu do osobnej tabeli? Nie martwię się zbytnio szybszym zapytaniem (jeśli masz na myśli proces podczas odświeżania), ponieważ zapytanie jest już wykonywane co noc.
user2669043,
tak, przepraszam Wsunąłem się w terminologię SSAS - miałem na myśli raczej „odświeżanie” niż „proces” i miałem na myśli „analizuj za pomocą tabel przestawnych” bardziej niż i „zapytanie”. Zmienię swoją odpowiedź.
Mike Honey