Ich habe eine SQL-Tabelle, die Verkaufs- und Lead-Daten sowie ausführliche Kontoinformationen enthält, und ich habe eine weitere Tabelle, die nur ausführliche Kontoinformationen enthält.
Meine Frage ist, ob es effizienter ist, nur die Umsatzzahlen und die Konto-ID abzurufen (die detaillierten Kontoinformationen auszuschließen) und eine separate Tabelle abzurufen, die nur detaillierte Kontoinformationen enthält, und dann mithilfe der Konto-ID eine Beziehung in PowerPivot zu erstellen. ODER ist es effizienter/schneller, einfach diese eine Tabelle, die alle Informationen enthält, in PowerPivot zu übertragen (die gesamte Arbeit wird in SQL ausgeführt).
Zunächst dachte ich, dass es effizienter wäre, eine separate Tabelle zu haben, die nur die Kontoinformationen enthält, da Informationen wie Account Manager, Segmente und Kontoname für viele Verkaufszahlen dupliziert würden (Konto A könnte mehrere Produkte mehrmals kaufen). Aber je mehr ich darüber nachdenke, desto effizienter würde Excel bei zwei Tabellen die ganze Arbeit erledigen müssen, anstatt SQL die ganze Arbeit machen zu lassen.
Würde gerne die Meinung der Experten dazu hören. Ich brauche PowerBI/PowerPivot, um schnell zu arbeiten, auch wenn dies bedeutet, dass Excel weniger speichereffizient ist.
Antwort1
Separate Tabellen lassen sich mit Pivot-Tabellen definitiv schneller aktualisieren und analysieren und sind zudem kompakter (auf der Festplatte und im Speicher).
Dieses Design eröffnet auch die Möglichkeit effizienter Berechnungen auf Kontoebene (falls Sie diese später benötigen), z. B. eine eindeutige Anzahl von Produkten pro Konto.
Das Problem kann darin bestehen, dass Datensätze häufig fehlerhaft und vermeintliche Schlüssel häufig unzuverlässig sind. Dieses Problem wird normalerweise schlimmer, je weiter Sie in der Historie zurückgehen. Diese Probleme können Sie dazu zwingen, in Power Pivot zu einem Einzeltabellenentwurf zurückzukehren, sodass Sie versuchen können, diese Probleme mithilfe von SQL-Code, Power Query oder einem ETL-Tool zu umgehen.