Toon posts:

[Business Objects] count() en sum()

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb een probleem mensen. ben bezig met een project in BO en heb wat vraagjes omtrent SQL statements. ik probeer dus alle instromen en uitstromen op te tellen in 1 statement en deze van elkaar aftrekken. Dit is me helaas niet geluk, weet iemand HOE het wel moet?

deze geeft een foutmelding "statistic error"
code:
1
2
3
4
Select 
count(instroom) as InstroomCOUNT, 
count(uitstroom) as UitstroomCOUNT, 
sum(InstroomCOUNT - UitstroomCOUNT)


Deze kan ook niet

code:
1
2
Select 
Count(Instroom) - Count(Uitstroom)) as Totaal


deze ook nopes

code:
1
2
Select 
count(Instroom) - count(Uitstroom)

[ Voor 4% gewijzigd door Verwijderd op 01-12-2005 19:50 ]


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Om count en sum te kunnen gebruiken in SQL moet je nog een GROUP BY statement toevoegen als ik het goed heb. Iets als dit zou wel moeten werken:
SQL:
1
2
3
4
5
6
SELECT
  COUNT(instroom) - COUNT(uitstroom) AS verschil
FROM
  tabel
GROUP BY
  id

Mischien je het dan wel voor elkaar krijgt.

Noushka's Magnificent Dream | Unity


Verwijderd

Verwijderd schreef op donderdag 01 december 2005 @ 18:15:
deze ook nopes

code:
1
2
Select 
count(Instroom) - count(Uitstroom)
Ik denk dat hier altijd 0 uit komt... Klinkt ook logisch, je trekt het aantal regels van het aantal regels af...?

code:
1
2
Select 
sum(Instroom) - sum(Uitstroom)

Zou moeten werken...

[ Voor 3% gewijzigd door Verwijderd op 01-12-2005 18:58 ]


  • Vozze
  • Registratie: December 2001
  • Laatst online: 19-04 22:44
Haal alle data op in een dataprovider. Maak twee measusres aan in BO. 1 voor count(instroom) en 1 voor count(uitstroom). In een eventuele laatste measure kun je dan dit van elkaar aftrekken.

Snap namelijk jouw SQL verhaal niet. Maak je gebruik van een universe?

"He who thinks knows evertyhing, knows nothing" - Socrates


Verwijderd

Topicstarter
Vozze schreef op donderdag 01 december 2005 @ 19:04:
Haal alle data op in een dataprovider. Maak twee measusres aan in BO. 1 voor count(instroom) en 1 voor count(uitstroom). In een eventuele laatste measure kun je dan dit van elkaar aftrekken.

Snap namelijk jouw SQL verhaal niet. Maak je gebruik van een universe?
ik maak gebruik van een universe ja. eigenlijk hoort er per count een measure gemaakt te worden in de ETL fase. Dus measure AANTAL INSTROMEN en AANTAL UITSTROMEN per maand. Maar dat is helaas niet gedaan door het ETL Team. Daarom probeer ik Instroom min uitstroom te doen in BO zelf.

Hopelijk heb ik het zo duidelijker gemaakt voor je:)

verduidelijking:

Ik heb hier een tabel(instroom) waarin de mensen worden bijgehouden die instromen en verder een tabel(uistroom) voor mensen die uitstromen. Ik wil dus weten hoeveel mensen er bijv overblijven in maand mei.

ik heb een measure "Aantal overblijvende mensen" gemaakt die een totaal moet berekenen. Hierboven heb ik een aantal statements neergezet die ik heb geprobeerd. Maar ik kom er niet uit.

Verder kan ik in BO geen GROUP BY gebruiken geloof ik

[ Voor 4% gewijzigd door Verwijderd op 01-12-2005 19:49 ]


  • Vozze
  • Registratie: December 2001
  • Laatst online: 19-04 22:44
Kun je niet gewoon twee dataproviders aanmaken. 1 voor de instromende mensen en 1 voor de uitstromende mensen. En dan twee measures aanmaken met count(instromers) en count(uitstromers). Wat geeft het rapport weer als je dit in het rapport sleept?
Als dit werkt, kun je dus ook deze waarden van elkaar aftrekken.

Je kan wel met een GROUP BY werken, maar dan moet je de SQL van je dataprovider aanpassen (mits je dit mag van de supervisor).

[ Voor 19% gewijzigd door Vozze op 01-12-2005 19:58 ]

"He who thinks knows evertyhing, knows nothing" - Socrates


Verwijderd

Topicstarter
Vozze schreef op donderdag 01 december 2005 @ 19:57:
Kun je niet gewoon twee dataproviders aanmaken. 1 voor de instromende mensen en 1 voor de uitstromende mensen. En dan twee measures aanmaken met count(instromers) en count(uitstromers). Wat geeft het rapport weer als je dit in het rapport sleept?
Als dit werkt, kun je dus ook deze waarden van elkaar aftrekken.

Je kan wel met een GROUP BY werken, maar dan moet je de SQL van je dataprovider aanpassen (mits je dit mag van de supervisor).
Hey
het COUNT() werkt al hoor, het gaat me om het aftrekken van die twee counts van elkaar in 1 select statement. dus hoe ik count(uitstroom) van count(instroom) kan aftrekken in 1 statement. Die twee dataproviders zijn al aangemaakt en zitten in een universe. ik probeer dus een measure te maken die er zo uitziet.

SELECT
code:
1
count(instroom.instroomID) - count(uitstroom.uitstroomID)


echter, deze werkt niet dus ik wil je hierbij vragen hoe het moet.

Ik mag verder alles aanpassen, dus hoe kan ik GROUP BY gebruiken.

wat ik net heb geprobeerd maar niet werkt

SELECT
code:
1
SUM(count(instroom.instroomID) - count(uitstroom.uitstroomID))

[ Voor 8% gewijzigd door Verwijderd op 01-12-2005 20:43 ]


  • Vozze
  • Registratie: December 2001
  • Laatst online: 19-04 22:44
Verwijderd schreef op donderdag 01 december 2005 @ 20:39:
[...]


Hey
het COUNT() werkt al hoor, het gaat me om het aftrekken van die twee counts van elkaar in 1 select statement. dus hoe ik count(uitstroom) van count(instroom) kan aftrekken in 1 statement. Die twee dataproviders zijn al aangemaakt en zitten in een universe. ik probeer dus een measure te maken die er zo uitziet.

SELECT
code:
1
count(instroom) - count(uitstroom)


echter, deze werkt niet dus ik wil je hierbij vragen hoe het moet.

Ik mag verder alles aanpassen, dus hoe kan ik GROUP BY gebruiken.

wat ik net heb geprobeerd maar niet werkt

SELECT
code:
1
SUM(count(instroom) - count(uitstroom))
Hmmm, ok. Volgens mij praten we een beetje langs elkaar heen. Ben je met Designer bezig of met de Reporter-module?
Ik neem aan dat je het nu namelijk over Designer hebt. Maak dan twee measures genaamd measure1 (count(instroom)) en measure2 (count(uitstroom)). Maak daarna een 3e measure en zeg dan bij de SELECT: measure2 - measure1 (of andersom). Gebruik hiervoor de editor (>>). Je kunt dan namelijk gewoon de objecten measure1 en measure2 selecteren. Noem deze measure dan measure3. Maak nu een rapport aan en haal measure3 op in een dataprovider (en natuurlijk een maand) en klaar ben je.

[ Voor 6% gewijzigd door Vozze op 01-12-2005 20:49 ]

"He who thinks knows evertyhing, knows nothing" - Socrates


Verwijderd

Topicstarter
Vozze schreef op donderdag 01 december 2005 @ 20:47:
[...]


Hmmm, ok. Volgens mij praten we een beetje langs elkaar heen. Ben je met Designer bezig of met de Reporter-module?
Ik neem aan dat je het nu namelijk over Designer hebt. Maak dan twee measures genaamd measure1 (count(instroom)) en measure2 (count(uitstroom)). Maak daarna een 3e measure en zeg dan bij de SELECT: measure2 - measure1 (of andersom). Gebruik hiervoor de editor (>>). Je kunt dan namelijk gewoon de objecten measure1 en measure2 selecteren. Noem deze measure dan measure3. Maak nu een rapport aan en haal measure3 op in een dataprovider (en natuurlijk een maand) en klaar ben je.
Hey VOZZE echt thanks voor je hulp man, maar dat heb ik al geprobeerd. en ik heb het over designer ja:)

ik had toen ook een derde measure "TOTAAL BLA" gemaakt met zoiets

SELECT

code:
1
2
3
4
5
@select(instroom.instroommeasure) - @select(uitstroom.uitstroommeasure)

of anders

@select(instroom/instroommeasure) - @select(uitstroom/uitstroommeasure)


maar kreeg helaas weer die ene foutmelding. Statistic error of zoiets...... hmm nu ik er zo over denk, misschien heb ik die @select eruit moeten halen en alleen die measure erin moeten slepen.. Dat ga ik morgen proberen!

Ik zal morgen de exacte error posten omdat ik BO nu niet tot mijn beschikking heb:) Ik hoop dat je mijn posts leest VOZZE.

  • Vozze
  • Registratie: December 2001
  • Laatst online: 19-04 22:44
Ok. Ik lees de posts morgen ook wel. Wanneer krijg je trouwens die melding? Bij het aanmaken van een rapport of bij het aanmaken van het object in de universe?

"He who thinks knows evertyhing, knows nothing" - Socrates

Pagina: 1