# SSZ Cube nach View
## SQL von Mauro
```sql
PROC SQL;
CREATE TABLE FILTER AS
SELECT *
FROM HDBD.HDB_INT
WHERE (Kennzahl='BEW'
AND Jahr>'1910' AND Findw(BEZUGSZEIT,'Jahr')
AND (findw(RAUMHIERARCHIE, 'QuartiereZH') OR Findw(RAUMHIERARCHIE,'KreiseZH') OR Findw(RAUMHIERARCHIE,'StadtZH') OR Findw(RAUMHIERARCHIE,'ZoneZH'))
AND (GRUPPE1='XXX' OR (GRUPPE1='HEL' AND Findw(HIERARCHIE1,'Herkunft') AND GRUPPE2 in('SEX','XXX')) OR (GRUPPE1='SEX' AND GRUPPE2='XXX')))
OR (Kennzahl='ANT'
AND Jahr>'1910' AND Findw(BEZUGSZEIT,'Jahr')
AND (findw(RAUMHIERARCHIE, 'QuartiereZH') OR Findw(RAUMHIERARCHIE,'KreiseZH') OR Findw(RAUMHIERARCHIE,'StadtZH') OR Findw(RAUMHIERARCHIE,'ZoneZH'))
AND GRUPPENCODE1="GGH1100"
AND GRUPPENCODE2="HEL2000"
AND ANZ_GRUPPEN='2');
QUIT;
````
## Ohne Bezug zu RDF Cubes
KENNZAHL BEW
ZEIT 1920
RAUMHIERARCHIE QuartiereZH,KreiseZH,StadtZH,ZoneZH
GRUPPE1 XXX
GRUPPE1 HEL HIERARCHIE1 Herkunft GRUPPE2 SEX|XXX
GRUPPE1 SEX GRUPPE2 XXX
;
KENNZAHL ANT
ZEIT 1920
RAUMHIERARCHIE QuartiereZH,KreiseZH,StadtZH,ZoneZH
GRUPPENCODE1 "GGH1100"
GRUPPENCODE2 "HEL2000"
Was ich daraus ableite aber gerne hätte:
GRUPPE1 GGH GRUPPE2 HEL
## Cubes Teil 1
(Daten auf https://test.lindas.admin.ch/query/)
`BEW RAUM ZEIT` -> https://ld.stadt-zuerich.ch/statistics/BEW
`BEW RAUM ZEIT SEX` -> https://ld.stadt-zuerich.ch/statistics/BEW-SEX
`BEW RAUM ZEIT HEL` -> https://ld.stadt-zuerich.ch/statistics/BEW-HEL
`BEW RAUM ZEIT HEL SEX` -> https://ld.stadt-zuerich.ch/statistics/BEW-HEL-SEX
### Filter
#### Zeit
`ZEIT=1910` -> 1910 only, keine Fragments
#### Raum
`RAUM=QuartiereZH,KreiseZH,StadtZH,ZoneZH`
`skos:Collection` mit folgenden `skos:member` des Raums:
* https://ld.stadt-zuerich.ch/statistics/collection/QuartiereZH
* https://ld.stadt-zuerich.ch/statistics/collection/KreiseZH
* https://ld.stadt-zuerich.ch/statistics/collection/ZoneZH
`StadtZH` scheint zu fehlen, werde bei Mauro nachfragen.
Damit das sauber geordnet dargestellt werden kann muss noch die Order rausgeholt werden. Rein über SPARQL ergibt das:
```sparql
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX schema: <http://schema.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX cube: <http://ns.bergnet.org/cube/>
SELECT *
FROM <https://lindas.admin.ch/stadtzuerich/stat>
WHERE {
?collection skos:member ?member .
FILTER( ?collection IN (<https://ld.stadt-zuerich.ch/statistics/collection/QuartiereZH>, <https://ld.stadt-zuerich.ch/statistics/collection/KreiseZH>, <https://ld.stadt-zuerich.ch/statistics/collection/ZoneZH> ))
?member schema:name ?name ;
schema:position ?score .
} ORDER BY ?score
```
[Hier als Beispiel zum Ausführen](https://s.zazuko.com/JGKXf)
Probleme:
* Scheint zuviele Antworten zurück zu geben (Enge kommt z.b. zweimal mit zwei URIs)
* Kreis 1 ist mir nach wie vor nicht klar (fehlt IMO)
* Eventuell fehlen andere?
* "Alte" oder zu neue Kreise wären so auch drin, da die in der entsprechenden Collection sind. Kann sein, dass dies beim Join rausfliegen wenn sie nicht passen.
#### Dimensionsfilter
* Keine
## Cubes Teil 2
Problem: Mauro hat hier nur die Filter `GRUPPENCODE`s angegeben, sprich das es sich um den folgenden Cube handelt ist quasi eine logische Folgerung, da ich sonst den Dimensionsfilter gar nicht definieren könnte. Er definiert also beim zweiten Teil keine `GRUPPEx`.
`ANT RAUM ZEIT GGH HEL` -> https://ld.stadt-zuerich.ch/statistics/ANT-GGH-HEL
* https://ld.stadt-zuerich.ch/statistics/measure/ANT (Anteil in Bezug auf (benötigt immer eine Dimension Grundgesamtheit))
#### Zeit
`ZEIT=1910`
Dito wie Teil 1
#### Raum
`RAUM=QuartiereZH,KreiseZH,StadtZH,ZoneZH`
Dito wie Teil 1
#### Dimensionsfilter:
Filter auf Dimensionen
* `GGH=GGH1100`
* https://ld.stadt-zuerich.ch/statistics/property/GGH (Grundgesammtheit)
* https://ld.stadt-zuerich.ch/statistics/code/GGH1100 (Wirtschaftliche Bevölkerung)
* `HEL=HEL2000`
* https://ld.stadt-zuerich.ch/statistics/property/HEL (Heimatland)
* https://ld.stadt-zuerich.ch/statistics/code/HEL2000 (Ausland)
## Output
Herauskommen sollte folgendes:
