• Aktuell
    • Tags
    • Beliebt
    • Benutzer
    • Gruppen
    • Suche
    • Registrieren
    • Anmelden

    Report: Gegenüberstellung Mitglieder zu Godi-Besucher

    Fragen
    5
    13
    529
    Lade mehr Beiträge
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
    • AndyA
      Andy admin @Andy
      zuletzt editiert von

      Hat keiner eine fertige Abfrage für mich? 😃

      sctechS 1 Antwort Letzte Antwort Antworten Zitieren 0
      • RolandR
        Roland
        zuletzt editiert von Roland

        Die Reports sind schwer zu bedienen, vorallem für die von CT gehosteten Instanzen, weil man keinen Einblick in die Datenbank hat und die Feldnamen nicht herausbekommt.

        Hast Du schon eine Lösung gefunden? Die würde mich nämlich auch interessieren. Sonst versuche ich es demnächst selbst einmal und poste dann hier wieder.

        Fachinformatiker, Anwendungsentwicklung
        Certified Linux Server Professional 101,102
        SUSE Certified Linux Administrator
        Gemeindedatenschutzbeauftragter im BFP

        1 Antwort Letzte Antwort Antworten Zitieren 0
        • andrea.schulzA
          andrea.schulz @Andy
          zuletzt editiert von andrea.schulz

          @Andy Ich experimentiere gerade mit UIPath RPA. Damit könnte es gehen. Da wir die Gottesdienstbesucher nicht zählen brauchen wir so einen Bericht aber nicht.

          Bei UIPath Data Scraping (Überschriftszeilen pro Tag) sieht es so aus:
          UIPath Export Fakten.JPG

          Churchtools Admin und Kassiererin bei EFG München Hadern

          1 Antwort Letzte Antwort Antworten Zitieren 0
          • sctechS
            sctech @Andy
            zuletzt editiert von sctech

            @Andy Ich hab's nun mal versucht und einen Report erstellt, welcher deinen Wunsch erfüllen dürfte. Unten aufgeführt - step by step - die Einrichtung des Reports.

            SCHRITT 1 - Abfrage
            Als Erstes muss unter AdHoc-Reports -> Schraubenschlüssel -> Abfragen eine neue Abfrage erstellt werden.

            Bezeichnung: Vergleich Besucher - Mitglieder
            Datenbankabfrage (SQL):

            SELECT
            	SubBasis.Year AS Jahr,
            	SubBasis.Month AS Monat,
            	SubTyp.Typ AS Typ,
            CASE
            		SubTyp.Typ 
            		WHEN 'Besucher' THEN
            		SubBasis.Facts 
            		WHEN 'Mitglieder' THEN
            		SubBasis.Members 
            	END AS count 
            FROM
            	( SELECT 'Besucher' AS Typ UNION SELECT 'Mitglieder' AS Typ ) AS SubTyp,
            	(
            	SELECT
            		SubCompare.Year AS Year,
            		SubCompare.Month AS Month,
            		ROUND(AVG(SubCompare.Facts)) AS Facts,
            		ROUND(AVG(SubCompare.Members)) AS Members 
            	FROM
            		(
            		SELECT
            			SubVals.ID AS ID,
            			YEAR ( SubVals.EventDate ) AS Year,
            			MONTH ( SubVals.EventDate ) AS Month,
            			SubVals.Facts AS Facts,
            			SUM( SubVals.Members ) AS Members 
            		FROM
            			(
            			SELECT
            				e.id AS ID,
            				e.startdate AS EventDate,
            				f.Value AS Facts,
            				SubMembers.Value AS Members 
            			FROM
            				cs_event_fact AS f
            				INNER JOIN cs_event AS e ON f.event_id = e.id
            				INNER JOIN cc_cal AS c ON e.cc_cal_id = c.id
            				INNER JOIN cc_calcategory AS cat ON c.category_id = cat.id
            				LEFT JOIN (
            				SELECT COALESCE
            					(
            						eintrittsdatum,
            					STR_TO_DATE( '1900-01-01', '%Y-%c-%e' )) AS Entry,
            					COALESCE (
            						austrittsdatum,
            					STR_TO_DATE( '2099-12-31', '%Y-%c-%e' )) AS Leaving,
            					1 AS Value
            					
            				FROM
            					cdb_gemeindeperson 
            				WHERE station_id :filter_station AND
            					(eintrittsdatum IS NOT NULL 
            					OR austrittsdatum IS NOT NULL) 
            				) AS SubMembers ON e.startdate BETWEEN SubMembers.Entry 
            				AND SubMembers.Leaving 
            			WHERE
            				f.fact_id :filter_fact
            				AND cat.id :filter_cal
            			) AS SubVals 
            		GROUP BY
            			ID,
            			EventDate,
            			Facts 
            		) AS SubCompare 
            WHERE SubCompare.Year :filter_year
            	GROUP BY
            		SubCompare.Year,
            		SubCompare.Month 
            	) AS SubBasis 
            ORDER BY
            	SubBasis.Year,
            	SubBasis.Month,
            	SubTyp.Typ
            

            SCHRITT 2 - Filter Station
            Unter AdHoc-Reports -> Schraubenschlüssel -> Reportfilter einen neuen Filter erstellen.

            Abfrage: Vergleich Besucher - Mitglieder
            Platzhalter in SQL-Befehl: :filter_station
            Bezeichnung: Station
            Sortierung: 1
            Checkbox "Optional": Nein
            SQL zum Selektieren:

            SELECT
            	id,
            	bezeichnung 
            FROM
            	cdb_station 
            ORDER BY
            	sortkey, bezeichnung
            

            SCHRITT 3 - Filter Fakt
            Unter AdHoc-Reports -> Schraubenschlüssel -> Reportfilter einen neuen Filter erstellen.

            Abfrage: Vergleich Besucher - Mitglieder
            Platzhalter in SQL-Befehl: :filter_fact
            Bezeichnung: Fakt
            Sortierung: 2
            Checkbox "Optional": Nein
            SQL zum Selektieren:

            SELECT DISTINCT
            	id,
            	bezeichnung 
            FROM
            	cs_fact
            ORDER BY
            	bezeichnung
            

            SCHRITT 4 - Filter Kalender
            Unter AdHoc-Reports -> Schraubenschlüssel -> Reportfilter einen neuen Filter erstellen.

            Abfrage: Vergleich Besucher - Mitglieder
            Platzhalter in SQL-Befehl: :filter_cal
            Bezeichnung: Kalender
            Sortierung: 3
            Checkbox "Optional": Nein
            SQL zum Selektieren:

            SELECT DISTINCT
            	cat.id AS id,
            	CONCAT(cat.bezeichnung, CASE WHEN s.id IS NOT NULL THEN CONCAT(' (', s.bezeichnung, ')') END) AS bezeichnung
            FROM
            	cc_calcategory AS cat INNER JOIN cc_cal AS c ON cat.id = c.category_id INNER JOIN cs_event AS e ON c.id = e.cc_cal_id LEFT JOIN cdb_station AS s ON cat.station_id = s.id
            ORDER BY cat.oeffentlich_yn DESC, cat.sortkey, cat.bezeichnung
            

            SCHRITT 5 - Filter Jahr
            Unter AdHoc-Reports -> Schraubenschlüssel -> Reportfilter einen neuen Filter erstellen.

            Abfrage: Vergleich Besucher - Mitglieder
            Platzhalter in SQL-Befehl: :filter_year
            Bezeichnung: Jahr
            Sortierung: 4
            Checkbox "Optional": Ja
            SQL zum Selektieren:

            SELECT DISTINCT YEAR(startdate) AS id, YEAR(startdate) AS bezeichnung FROM cs_event AS e INNER JOIN cs_event_fact AS f ON e.id = f.event_id ORDER BY startdate
            

            SCHRITT 6 - Report erstellen
            Unter AdHoc-Reports -> Schraubenschlüssel -> Adhoc-Report einen neuen Report erstellen.

            Abfrage: Vergleich Besucher - Mitglieder
            Bezeichnung: Vergleich Besucher - Mitglieder
            Datenreihen: Typ
            Spaltenbezeichnung: Jahr,Monat
            Diagrammtyp: Table

            SCHRITT 7 - Report ausführen
            Nun kann der Report im Modul "Reports" unter "AdHoc-Reports" ausgewählt und ausgeführt werden. Das sieht dann in etwa so aus:
            2019-10-18_09-49-13.jpg

            Die Zeile/Spalte "Gesamt" ergibt in diesem Kontext keinen wirklichen Sinn. Ich weiss aber gerade nicht, wie diese ausgeblendet werden können.

            Hinweis: Den Report habe ich im Schnellschuss-Verfahren erstellt und lediglich stichprobenartig getestet - also keine Garantie für die inhaltliche Richtigkeit! 😉

            Der Report dient als Inspiration und darf gerne weiterentwickelt werden... viel Spass!

            AndyA 1 Antwort Letzte Antwort Antworten Zitieren 3
            • AndyA
              Andy admin @sctech
              zuletzt editiert von

              @seetalchile wow, cool! Werde ich heute Nachmittag mal testen. Danke dir!!!
              Stationen sind in der Form jetzt natürlich nicht berücksichtigt ... muss ich mal gucken, ob ich das selber noch da rein bekomme. Die Auswertung soll nämlich nur für einen speziellen Standort gelten und nicht für alle.

              sctechS 1 Antwort Letzte Antwort Antworten Zitieren 0
              • sctechS
                sctech @Andy
                zuletzt editiert von

                @Andy Stimmt, das hatte ich vergessen zu später Stunde! 😉 Inzwischen habe ich den Filter für die Station ergänzt (siehe Beitrag oben).

                AndyA 3 Antworten Letzte Antwort Antworten Zitieren 0
                • AndyA
                  Andy admin @sctech
                  zuletzt editiert von

                  @seetalchile du bist eine Granate! Werde berichten, ob es funktioniert.

                  1 Antwort Letzte Antwort Antworten Zitieren 0
                  • AndyA
                    Andy admin @sctech
                    zuletzt editiert von

                    Jaaaa ... @seetalchile ... aaaber: Eine wichtige Info von mir fehlte wohl: Wir haben sonntags zwei Gottesdienste an dem Standort. Also brauche ich eigentlich noch die Summe dieser beiden ... und erschwerend ... die Uhrzeiten haben sich vor einigen Jahren mal geändert. Also müsste ich eigentlich auch noch die Godi-Zeiten auswählen können und die müssten summiert werden.

                    Vielleicht ist es dann wohl doch einfacher, wenn ich mir die Zahlen aus unterschiedlichen Abfragen nach LibreOffice Calc kopiere und dort dann die Gegenüberstellung mache.

                    Deine Abfrage funktioniert sonst aber wunderbar und echt Wahnsinn, dass du mir das gebaut hast!

                    1 Antwort Letzte Antwort Antworten Zitieren 0
                    • AndyA
                      Andy admin @sctech
                      zuletzt editiert von

                      @seetalchile Diagramm ist fertig. Also keine weitere Arbeit reinstecken, wenn du nicht ohnehin Langeweile hast. 😉

                      sctechS 1 Antwort Letzte Antwort Antworten Zitieren 1
                      • sctechS
                        sctech @Andy
                        zuletzt editiert von

                        @Andy Freut mich, dass du den Report so gebrauchen kannst! 😉

                        AndyA 1 Antwort Letzte Antwort Antworten Zitieren 0
                        • AndyA
                          Andy admin @sctech
                          zuletzt editiert von

                          @seetalchile noch nicht wirklich, da die Zeiten nicht berücksichtigt sind. Habe es jetzt manuell gemacht.

                          1 Antwort Letzte Antwort Antworten Zitieren 0
                          • M
                            mkirsch
                            zuletzt editiert von

                            @seetalchile Finde den Report auch super.
                            Meinst Du dass es möglich ist anstelle der Zeile "Gesamt" den Mittelwert aus Besucher + Mitglieder
                            bzw. Spalte "Gesamt" den Mittelwert aus Besucher bzw. Mitglieder darzustellen?

                            1 Antwort Letzte Antwort Antworten Zitieren 0
                            • Erster Beitrag
                              Letzter Beitrag