Oktober 23, 2021, 15:21:37

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Abfrage; DomAnzahl-Funktion

Begonnen von Whathetech, September 11, 2021, 13:35:37

⏪ vorheriges - nächstes ⏩

Whathetech

Zitat von: ebs17 am September 11, 2021, 16:02:04Nun, die Maximalzahl an Spalten in Tabellen und Abfragen in Jet beträgt 255. Gast Du Dich da herangearbeitet?
Nebenbei hätte man da ein Darstellungsproblem, denn mit einem Blick überschaubar ist das nicht mehr.

Ich glaube ihr versteht nicht genau was ich möchte xD
Es geht nicht um die maximale Spaltenanzahl, sondern darum, dass man bei einer Kreuztabellenabfrage keine neuen, individuelle Spalten hinzufügen kann. Ich hoffe ihr versteht was ich meine... :)

ebs17

Die Spalten der KTA ergeben sich ausschließlich aus der Berechnung (Gruppierung + Pivot).
Man kann aber eine Auswahlabfrage mit der KTA verknüpfen und gewinnt damit weitere Möglichkeiten.
Mit freundlichem Glück Auf!

Eberhard

Whathetech

Zitat von: ebs17 am September 11, 2021, 16:17:19Die Spalten der KTA ergeben sich ausschließlich aus der Berechnung (Gruppierung + Pivot).
Man kann aber eine Auswahlabfrage mit der KTA verknüpfen und gewinnt damit weitere Möglichkeiten.

OK... aber geht es nicht viel einfacher mit einer Abfrage und der "DomAnzahl"-Funktion?

ebs17

Deiner Vorliebe zu DomAnzahl würde ich entgegenhalten: Dauerfeuer mit Domänenaggregatfunktionen ist meistens riesenaufwändig, wenn auch intellektuell einfach.

Eine DAF ist eine vollständige Abfrage, zusätzlich gekapselt in einer Accessfunktion. Sie holt aber nur genau einen Wert, egal welcher Aufwand da intern getrieben wird.
Wer so etwas bevorzugt, für den ist es auch normal, die Getränke für die 200-Personen-Party (oder 1.200?) aus dem Getränkemarkt immer einzeln flaschenweise zu holen und dafür dann mehrfach Bekanntschaft mit Ampeln, Stoppschildern, der Schlange an der Kasse usw. zu machen. Ja, einfach ist das ... aber in einer ordentlichen Anwendung sollte Performance im Vordergrund stehen.
Mit freundlichem Glück Auf!

Eberhard

Whathetech

Zitat von: ebs17 am September 11, 2021, 16:25:26Deiner Vorliebe zu DomAnzahl würde ich entgegenhalten: Dauerfeuer mit Domänenaggregatfunktionen ist meistens riesenaufwändig, wenn auch intellektuell einfach.

Eine DAF ist eine vollständige Abfrage, zusätzlich gekapselt in einer Accessfunktion. Sie holt aber nur genau einen Wert, egal welcher Aufwand da intern getrieben wird.
Wer so etwas bevorzugt, für den ist es auch normal, die Getränke für die 200-Personen-Party (oder 1.200?) aus dem Getränkemarkt immer einzeln flaschenweise zu holen und dafür dann mehrfach Bekanntschaft mit Ampeln, Stoppschildern, der Schlange an der Kasse usw. zu machen. Ja, einfach ist das ... aber in einer ordentlichen Anwendung sollte Performance im Vordergrund stehen.

Ich habe leider nur wenig Ahnung von Access in dieser Hinsicht. Würdest du mir eventuell zeigen, wie ich das dann am besten mache? :)

ebs17

Zitatwie ich das dann am besten mache?
Das ist was genau?

Die KTA hast Du anscheinend hinbekommen. Eine Auswahlabfrage mit weiteren Feldern zu erstellen sollte auch gelingen (ich kenne Deine Anforderungen nicht). Beide könnte man als gespeicherte Abfragen als Zwischenergebnis ablegen.
Wenn man beide Abfragen verknüpfen will, braucht man einen passenden Schlüssel. Diesen müsste man, wenn nicht schon vorhanden, jeweils ergänzen. Dann kann man sie in einer weiteren Abfrage zusammenbringen.
Für eine Abfrage im Stück: Grundlagen - SQL ist leicht (6) - Komplexe Abfragen schreiben und lesen

Grundlegend: Wenn man sich über eine Abfrage unterhält, sollte man die SQL-Anweisung zeigen, besser als kopierfähigen Text (ein Bild müsste man abmalen). Da steht alles drin.
Dazu sollte man das Beziehungsbild mitgeben, damit die Tabellenverhältnisse klar sind. In Sachen Einfachheit und Performance könnten nämlich andere Wege eingeschlagen werden als sie der Unschlüssige vorgedacht hat.
Und selbstredend sollte klar sein, wie das Ergebnis aussehen soll.
Teilweise ist eine Abfragegestaltung zusätzlich sehr von verwendeten Daten abhängig. Dann sollten einige aussagekräftige Datensätze mitgeteilt werden, gerne anonymisiert, aber nicht sinnentstellt, und Beispieldaten sollten auch die Grenzfälle und Ausreißer enthalten, damit die gedachte Lösung dann auch über alles funktionieren könnte.

Also: Ausgangssituation hinreichend darstellen wie dann auch die Zielsituation. Wege legt man dann gerne selber fest.
Mit freundlichem Glück Auf!

Eberhard

MzKlMu

Hallo,
Zitat von: undefineddass man bei einer Kreuztabellenabfrage keine neuen, individuelle Spalten hinzufügen kann.
Was willst Du denn da für Spalten hinzufügen ?
Willst Du für jeden Status in der KTA eine Spalte anzeigen, egal ob es da einen Wert gibt oder nicht ?
Gruß
Klaus

Whathetech

Zitat von: MzKlMu am September 11, 2021, 17:47:30Was willst Du denn da für Spalten hinzufügen ?
Willst Du für jeden Status in der KTA eine Spalte anzeigen, egal ob es da einen Wert gibt oder nicht ?

Ganz genau. Ich möchte so viele Filter für Stadien hinzufügen wie ich möchte. Und diese Möglichkeit sehe ich bei KTAs nicht.
Ich glaube mittlerweile, dass ich wirklich schlecht im erklären bin xD

ebs17

ZitatFilter für Stadien
Was ist das?
Zitathinzufügen wie ich möchte
Damit die Abfrage das tut, was Du willst, musst Du es ihr sagen (Gedankenübertragung wird noch nicht funktionieren).

Die Rückfrage von Klaus verstehe ich, die ist klar und umsetzbar. Wer vollständige Mengen will, muss sie auch ins Spiel bringen. Etwa ...
... Statustabelle LEFT JOIN DeineTabelle ...... als Basis für die KTA.
Mit freundlichem Glück Auf!

Eberhard

Whathetech

Zitat von: ebs17 am September 11, 2021, 19:10:25Was ist das?

Ich meine damit die Anzahl des Status bei der jeweiligen Person.

Und ich verstehe immernoch nicht warum das hier nicht einfach funktionieren will: https://ibb.co/HqmBX09
Denn als Ergebnis bekomme ich das hier: https://ibb.co/vq6QSz8

ebs17

Ich verstehe das schon.

1) Man müsste schon pro Name zählen und nicht über alles, es sei denn, das ist so gewollt.
2) Pro Status wolltest Du eine Spalte. Das wäre mehr als eine. Vor allem hättest Du aber das Problem, wenn es zusätzliche Statuswerte geben wird, müsstest Du nachprogrammieren. Nachprogrammieren nur wegen ein paar neuer Daten ist ein Unding.
Mit freundlichem Glück Auf!

Eberhard

MzKlMu

Hallo,
ZitatUnd ich verstehe immernoch nicht warum das hier nicht einfach funktionieren will:
Das Kriterium mit DomAnzahl ist völlig sinnfrei. Wie Du hier auf DomAnzahl kommst verstehe ich nicht.
Wenn Du auf Status 1 filtern willst, schreibe einfach eine 1 rein.
Gruß
Klaus

Whathetech

Zitat von: ebs17 am September 11, 2021, 19:24:151) Man müsste schon pro Name zählen und nicht über alles, es sei denn, das ist so gewollt.
2) Pro Status wolltest Du eine Spalte. Das wäre mehr als eine. Vor allem hättest Du aber das Problem, wenn es zusätzliche Statuswerte geben wird, müsstest Du nachprogrammieren. Nachprogrammieren nur wegen ein paar neuer Daten ist ein Unding.
Ich glaube wir sind auf dem richtig Weg :)
Das Ergebnis der Abfrage soll dann so aussehen:

Name  Status_1  Status_2  Status_3  Status_4  Status_5

ebs17

Da würde ich das wiederholen, was ich bereits geschrieben habe.
Mit freundlichem Glück Auf!

Eberhard

Whathetech

Zitat von: MzKlMu am September 11, 2021, 19:29:00Das Kriterium mit DomAnzahl ist völlig sinnfrei. Wie Du hier auf DomAnzahl kommst verstehe ich nicht.
Wenn Du auf Status 1 filtern willst, schreibe einfach eine 1 rein.
Wenn ich die Abfrage dann so gestalte: https://ibb.co/DwcBp4M
Status_2 usw. habe ich erst einmal weggelassen, also nicht wundern.
Dann bekomme ich aber folgedes Ergebnis: https://ibb.co/WGkHynb