Du steuerst blind, wenn Du nur Tabellen liest

Viele KMU haben Daten.
Aber keine Auswertung.
Kein Controlling, keine Kennzahlen, keine Tendenzen.

Dann gibt’s Fragen wie:

  • „Wie viele Angebote wurden letzte Woche verschickt?“
  • „Welcher Kunde bringt am meisten?“
  • „Wie lange liegen Aufträge offen?“

Und keiner kann es schnell beantworten.
Das kostet Zeit. Und Umsatz.

Mein Fahrplan für klare Dashboards

Ich baue meine KPI-Auswertung immer so:

  1. Klare Zielgruppe (Geschäftsführung, Vertrieb, Produktion …)
  2. 5–7 KPIs pro Bereich, nicht mehr
  3. Berechnung in SQL
  4. Darstellung in Access-Formular oder Power BI
  5. Drilldown bis zum Einzelwert

Schritt 1: Die KPIs definieren

Kein Dashboard ohne Inhalt.
Beispiele aus dem Alltag:

BereichKPIEinheit
VertriebAnzahl Angebote letzte 30 TageStück
VertriebAbschlussquote AngeboteProzent
KundenTop-10-Kunden nach UmsatzEuro
AufträgeØ Durchlaufzeit in TagenTage
ProduktionFertigmeldungen je WocheStück

Schritt 2: Die KPIs berechnen – direkt im SQL Server

Ich berechne alle Kennzahlen als View oder Funktion.
Das läuft performanter. Und ist nachvollziehbar.

Beispiel: Abschlussquote berechnen (T-SQL)

SELECT 
  CAST(COUNT(CASE WHEN Status = 'Beauftragt' THEN 1 END) AS FLOAT) /
  NULLIF(COUNT(*), 0) * 100 AS AbschlussquoteProzent
FROM Angebote
WHERE Angebotsdatum >= DATEADD(DAY, -30, GETDATE());

Beispiel: Top-10-Kunden (T-SQL)

SELECT TOP 10
  KundeID,
  SUM(Gesamtbetrag) AS Umsatz
FROM Aufträge
GROUP BY KundeID
ORDER BY Umsatz DESC;

Diese Views ziehe ich direkt in Access oder Power BI rein.
Kein Rumgerechne im Frontend.

Schritt 3: Zugriff aus Access – ohne Umwege

In Access verknüpfe ich die Views per ODBC.
Dann baue ich ein Hauptformular mit Kacheln.

Jede Kachel zeigt eine Kennzahl.
Beim Klick: Detailauswertung.

Access-Kachel mit KPI (VBA + SQL)

Me.txtAngebote30Tage.Value = DLookup("Anzahl", "qry_KPI_Angebote30Tage")

Oder, wenn dynamisch:

Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT COUNT(*) AS Anzahl FROM Angebote WHERE Angebotsdatum >= Date()-30", dbOpenSnapshot)
If Not rs.EOF Then Me.txtAnzahl = rs!Anzahl
rs.Close

Schritt 4: Power BI? Ja, aber richtig angebunden

Wenn’s grafisch sein soll, geh ich auf Power BI.
Aber mit SQL-Server-Datenquelle, nicht mit CSV-Import.

Kennzahlen in SQL, Darstellung in Power BI.
Die Trennung ist sauber und wartbar.

Schritt 5: Drilldown ermöglichen

Nur Balken auf dem Dashboard reicht nicht.
Ich baue immer eine Verbindung zur Detailtabelle.

Beispiel:

  • Kachel „Offene Aufträge: 12“
  • Klick => Formular öffnet sich mit genau diesen 12 Aufträgen

Access-VBA: Klick auf Kachel mit Filter

DoCmd.OpenForm "frmAufträge", , , "Status='Offen'"

Oder bei dynamischen Zeiträumen:

Dim Filter As String
Filter = "Auftragsdatum >= Date()-30"
DoCmd.OpenForm "frmAufträge", , , Filter

Reporting-Rhythmus festlegen

Ich lasse KPIs täglich aktualisieren – per SQL Job.
So läuft’s automatisch.

Wenn Access alleine arbeitet, plane ich das über AutoExec oder Taskplaner.

Beispiel: Access-KPI-Update beim Start

Private Sub Form_Load()
  Call AktualisiereKPI
End Sub
Sub AktualisiereKPI()
  Me.txtOffen = DCount("*", "qry_AufträgeOffen")
  Me.txtTopKunde = DLookup("Kundenname", "qry_TopKunde")
End Sub

Mein Fazit

Wenn Du keine KPIs siehst, verlierst Du Geld.
Ich baue sie immer zuerst – nicht zuletzt.

Tags:

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert