- Beiträge: 92
Datensätze je Gruppe zählen
- Marko
- Autor
- Offline
- Benutzer
Weniger
Mehr
8 Jahre 2 Monate her #2842
von Marko
Datensätze je Gruppe zählen wurde erstellt von Marko
Hallo Forum. Ich möchte aus einer Ms SQL Tabelle die Anzahl der Datensätze für ein Attribut zählen und das Ergebnis auf der Write-Seite in eine andere MS SQL Tabelle schreiben.
Das SQL würde folgendermaßen aussehen.
select spalte, count(*) as Anzahl from Tabelle
group by spalte
In der "Spalte" sind jedoch auch NULLs enthalten, welche im Ergebnis nicht mit aufgeführt werden sollen. Wäre toll wenn jemand ein Beispiel dazu zur Verfügung stellen könnte.
Gruß
Marko
Das SQL würde folgendermaßen aussehen.
select spalte, count(*) as Anzahl from Tabelle
group by spalte
In der "Spalte" sind jedoch auch NULLs enthalten, welche im Ergebnis nicht mit aufgeführt werden sollen. Wäre toll wenn jemand ein Beispiel dazu zur Verfügung stellen könnte.
Gruß
Marko
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
8 Jahre 2 Monate her - 8 Jahre 2 Monate her #2843
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Datensätze je Gruppe zählen
Hallo Marko,
Sie brauchen lediglich an den SQL SELECT im SQL Server Adapter auf der READ Seite noch eine WHERE Bedingung anzuhängen, dann sollten Sie das gewünschte Ergebnis haben.
z.B.
Wenn Sie das über den FlowHeater durchführen wollen benötigen Sie 5 Heater/Funktionen
Da ist die Lösung über den SELECT oben wesentlich eleganter. Beispiele zum Filtern und Gruppieren von Daten finden Sie hier:
Daten filtern und gruppieren
Daten gruppieren und Werte über die Gruppierung summieren
Sie brauchen lediglich an den SQL SELECT im SQL Server Adapter auf der READ Seite noch eine WHERE Bedingung anzuhängen, dann sollten Sie das gewünschte Ergebnis haben.
z.B.
select spalte, count(spalte) as Anzahl from Tabelle where spalte is not null group by spalte
Wenn Sie das über den FlowHeater durchführen wollen benötigen Sie 5 Heater/Funktionen
- 1x einen Sort Heater um die Datenquelle zu sortieren, kann auch entfallen wenn Sie an den SELECT einen ORDER BY hängen
- 1x einen GroupBy Heater um die gewünschten Datensätze zusammenzufassen
- 1x einen If-Then-Else Heater für die Bedingung für die NULL/DBNULL Werte
- 1x einen Filter Heater um die Datensätze mit den NULL/DBNULL Werten zu filtern
- 1x einen Filter Heater um die Datensätze mit den NULL/DBNULL Werten zu filtern
- 1x einen AutoID Heater mit eingeschalteter Gruppierungsfunktion
Da ist die Lösung über den SELECT oben wesentlich eleganter. Beispiele zum Filtern und Gruppieren von Daten finden Sie hier:
Daten filtern und gruppieren
Daten gruppieren und Werte über die Gruppierung summieren
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Letzte Änderung: 8 Jahre 2 Monate her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Marko
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 92
8 Jahre 2 Monate her #2844
von Marko
Marko antwortete auf Datensätze je Gruppe zählen
Hallo Robert. Vielen Dank für deine Anleitung. Falls in der Zieldatengruppe schon Datensätze vorhanden sind, wird das Ergebnis bei den FH Aktionen (ignored) jedoch reduziert. In der Konfiguration auf der WRITE Seite habe ich angekreuzt: Insert und Vorhandene ignorieren. Ist dieses vielleicht ein Fehler da die vorhandenen ja dann nicht ignoriert werden?
Gruß
Marko
Gruß
Marko
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
8 Jahre 2 Monate her #2847
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Datensätze je Gruppe zählen
Hallo Marko,
so wie du es geschrieben hast bin ich davon ausgegangen, dass du lediglich die READ Seite betrachten willst um dann das Ergebnis davon in eine andere SQL Server Datenbank wegzuschreiben.
Das „ignored“ bedeutet, dass in der Zieldatenbank ein Datensatz mit dem im FlowHeater definierten Primary Key existiert. Da du hier „vorhandene Datensätze ignorieren“ gewählt hast wird der Datensatz nicht nochmal auf in der WRITE Seite angelegt.
Jetzt kommt es darauf an was du tun möchtest? Ich vermute mal es sollen die Datensätze auf der Write Seite aktualisiert und die neu berechneten Werte der READ Seite sollen auf der WRITE abgezogen bzw. aufaddiert werden?
Einmal muss du dazu auf der WRITE Seite Insert und Update aktivieren, sowie muss die Option „vorhandenen Datensätze ignorieren“ deaktiviert werden.
Dann benötigst du dazu entweder einen Lookup Heater oder aber einen SQL Heater um die bestehenden Werte vorher auszulesen um damit dann die gewünschte Berechnung durchführen zu können bevor der Datensatz aktualisiert wird.
Bevor ich jetzt weiter in die Tiefe gehe bitte etwas genauer beschreiben was du genau durchführen möchtest.
so wie du es geschrieben hast bin ich davon ausgegangen, dass du lediglich die READ Seite betrachten willst um dann das Ergebnis davon in eine andere SQL Server Datenbank wegzuschreiben.
Das „ignored“ bedeutet, dass in der Zieldatenbank ein Datensatz mit dem im FlowHeater definierten Primary Key existiert. Da du hier „vorhandene Datensätze ignorieren“ gewählt hast wird der Datensatz nicht nochmal auf in der WRITE Seite angelegt.
Jetzt kommt es darauf an was du tun möchtest? Ich vermute mal es sollen die Datensätze auf der Write Seite aktualisiert und die neu berechneten Werte der READ Seite sollen auf der WRITE abgezogen bzw. aufaddiert werden?
Einmal muss du dazu auf der WRITE Seite Insert und Update aktivieren, sowie muss die Option „vorhandenen Datensätze ignorieren“ deaktiviert werden.
Dann benötigst du dazu entweder einen Lookup Heater oder aber einen SQL Heater um die bestehenden Werte vorher auszulesen um damit dann die gewünschte Berechnung durchführen zu können bevor der Datensatz aktualisiert wird.
Bevor ich jetzt weiter in die Tiefe gehe bitte etwas genauer beschreiben was du genau durchführen möchtest.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Marko
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 92
8 Jahre 2 Monate her #2849
von Marko
Marko antwortete auf Datensätze je Gruppe zählen
Hallo Robert. Alle vorhandenen Datensätze sollen in der Tabelle erhalten bleiben und das Ergebnis der Flowheater Definition hinzugefügt werden.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
8 Jahre 2 Monate her #2851
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Datensätze je Gruppe zählen
dann muss im
SQL Server Adapter
auf der WRITE Seite die Option „vorhandene Datensätze ignorieren“ deaktivieren, siehe Screenshot.
So werden alle Datensätze der READ Seite an die WRITE Seite angefügt ohne die bestehenden Datensätze zu verändern.
So werden alle Datensätze der READ Seite an die WRITE Seite angefügt ohne die bestehenden Datensätze zu verändern.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.296 Sekunden