Jnnbo: Statistik auswerten

Moin,

ich erstelle für mich intern einen kleine Statistik um zu sehen wie viele Kunden etwas bestellt haben, wie viele nicht mehr angerufen werden möchten usw.

Da stellt sich mir die Frage, ist es sinnvoll eine „Live“ Abfrage zu machen, sprich jedes Mal ein Script ausführen zu lassen welches die Einträge zählt, oder einmal im Tag und diese Werte in eine Hilfstabelle zu schreiben, dass der Server (Webspace) nicht zu sehr belastet wird, oder ist dieses einem Server relativ egal?

akzeptierte Antworten

  1. Hallo

    ich erstelle für mich intern einen kleine Statistik um zu sehen wie viele Kunden etwas bestellt haben, wie viele nicht mehr angerufen werden möchten usw.

    Da stellt sich mir die Frage, ist es sinnvoll eine „Live“ Abfrage zu machen, sprich jedes Mal ein Script ausführen zu lassen welches die Einträge zählt, oder einmal im Tag und diese Werte in eine Hilfstabelle zu schreiben, dass der Server (Webspace) nicht zu sehr belastet wird, oder ist dieses einem Server relativ egal?

    Frage: Wie oft willst du diese Statistik tatsächlich nutzen? Wenn du, mit den oben formulierten Anforderungen, nur einmal wöchentlich – oder gar unregelmäßig – hineinschaust, brauchst du sie auch nur einmal wöchentlich oder eben bei Bedarf erstellen. Eine genau dann ausgeführte Liveabfrage reicht in diesem Szenario völlig aus.

    Willst du irgendwelche Charts mit Verläufen erstellen, brauchst du natürlich Daten im gewählten Rhythmus. Dafür würden sich regelmäßig ausgeführte Skripte, die die statistischen Daten in eine dafür vorgesehene Tabelle schreiben, anbieten.

    Eventuell bieten sich dazu aber auch Views an, die „live“ vorhanden sind und bei Bedarf einfach nur ausgelesen werden.

    Tschö, Auge

    --
    Es schimmerte ein Licht am Ende des Tunnels und es stammte von einem Flammenwerfer.
    Terry Pratchett, „Gevatter Tod“
    1. Hallo Auge,

      Frage: Wie oft willst du diese Statistik tatsächlich nutzen? Wenn du, mit den oben formulierten Anforderungen, nur einmal wöchentlich – oder gar unregelmäßig – hineinschaust, brauchst du sie auch nur einmal wöchentlich oder eben bei Bedarf erstellen. Eine genau dann ausgeführte Liveabfrage reicht in diesem Szenario völlig aus.

      Wie oft ich die Statistik aufrufe kann ich jetzt noch nicht sagen, ich weiß aber dass ich die Daten nicht ständig Live benötige, sagen wir einmal am Tag reicht das völlig und ende dem Monat einfach eine komplett Statistik wo ich sehen kann, was Stand der Dinge ist.

      Willst du irgendwelche Charts mit Verläufen erstellen, brauchst du natürlich Daten im gewählten Rhythmus. Dafür würden sich regelmäßig ausgeführte Skripte, die die statistischen Daten in eine dafür vorgesehene Tabelle schreiben, anbieten.

      Zum einen möchte ich bei diversen Ausgaben die Anzahl der eingetragenen Datensätze haben wie z.B. Kunden nach Berufsgruppen (siehe Bild) oder wenn es um den Umsatz geht, möchte ich gerne auch die Google Chats aufbauen.

      Alternativ-Text

  2. Selber Moin,

    bevor Du schon wieder 'was neues anfängst, hätte ich bitte gerne eine Rückmeldung im Thread http://forum.selfhtml.org/self/2015/jun/09/where-in-php/1642640#m1642640
    auf die (im Thread) beste Lösung http://forum.selfhtml.org/self/2015/jun/09/where-in-php/1642672#m1642672 .

    Wie hast Du das nun gelöst?

    Hsst Du verstanden, worum es ging?

    Nimm es bitte nicht übel, aber ich fühle mich da schon ungerecht ignoriert. Wenn dieser Level für dich zu hoch ist, dann kannst Du rückfragen. Du musst dann aber bitte auch lesen und nachverfolgen, was man Dir schreibt.

    Grüße
    TS

    1. Hallo TS,

      Nimm es bitte nicht übel, aber ich fühle mich da schon ungerecht ignoriert. Wenn dieser Level für dich zu hoch ist, dann kannst Du rückfragen. Du musst dann aber bitte auch lesen und nachverfolgen, was man Dir schreibt.

      sorry ich habe dir in einem Posting geschrieben dass du mich wohl nicht richtig verstehst. Du bist auf dem Standpunkt eine Datenbankklasse zu schreiben für dieses Problem, das ist mir a) viel zu kompliziert wie auch andere bereits geschrieben habe und b) stelle ich dieses Problem erst einmal hinten an.

      Derzeit lass ich Nachts ein Script durch die Datenbank laufen und schau welche Tel. Nummer etwas bestellt hat und welche Doppelt vorkommen, die doppelt drin ist und nichts bestellt hat fliegt einfach draus.

  3. Moin,

    hab es hinbekommen:

    function countKundenNachGruppen($mysqli, $lo){
    	$stmt = $mysqli->prepare("SELECT COUNT(*) AS `amount`
    					FROM web_kunden
    					WHERE kd_kdGruppe =? ");
    		$stmt->bind_param("s", $lo);
    		$stmt->execute();
    		$stmt->bind_result($amount);
    		$stmt->store_result();
    	 	
    		if($stmt->num_rows() >  0) {     
    			while ($stmt->fetch()){
    				$countKundenNachGruppen[] = array( 
    					'amount' 		=> $amount
    				);
    			}
    			return $countKundenNachGruppen;
    			
    			}
    	}
    

    Die Auswertung mache ich dann so

    	$countKundenNachGruppen = countKundenNachGruppen($mysqli, $Gruppe);
    		foreach($countKundenNachGruppen as $countKundenNachGruppen){ 
    			$er_countKundenNachGruppen = $countKundenNachGruppen['amount'];
    		}
    

    Und die Ausgabe dann so

    <?php echo $er_countKundenNachGruppen;?>
    

    Der Funktionsaufruf "countKundenNachGruppen" muss ich eben für jeden Gruppe händisch einfügen, anderes geht es leider nicht. Mir wäre es zwar so lieber gewesen, aber klappt wohl nicht

    countKundenNachGruppen($mysqli, $Gruppe)
    

    Dass das Ergebnis direkt aus der Funktion kommt.

    Hab auch Rücksprache mit meinem Provider gehalten, er meinte die Daten in eine extra Tabelle sind bei 20.000 - 40.000 überhaupt nicht nötigt, das macht dem Server überhaupt keine Schwierigkeiten.

    1. Moin,

      ok, hab es hinbekommen:

      function countKundenNachGruppen($mysqli, $lo){
      	$stmt = $mysqli->prepare("SELECT COUNT(*) AS `amount`
      					FROM web_kunden
      					WHERE kd_kdGruppe =? ");
      	$stmt->bind_param("s", $lo);
      	$stmt->execute();
      	$stmt->bind_result($amount);
      	$stmt->store_result();
      	 	
      	if($stmt->num_rows() >  0) {     
      		while ($stmt->fetch()){
      			$countKundenNachGruppen[] = array( 
      			  'amount' 		=> $amount
      			);
      		}
      		  echo $amount;
      			
      	}
      }
      

      Und der Aufruf dann so

      $Gruppe = 13;
      echo countKundenNachGruppen($mysqli, $Gruppe);