Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az aggregátumfüggvény értékhalmazon végez számítást, és egy értéket ad vissza. Ez lehetővé teszi a többszintű csoportok összefoglaló statisztikáinak létrehozását kis többletterheléssel.
Tudnivalók az összesítő függvényekről
A Windows Search strukturált lekérdezési nyelvének (SQL) összesítő függvényei a következő szintaxissal rendelkeznek:
AGGREGATE <function> [AS <label>] [,<function> [AS <label>]]*
A függvényrész a következő függvények és szintaxisok bármelyikét tartalmazhatja:
| Funkció | Leírás |
|---|---|
| AVG(<oszlop>) | Egy csoport értékeinek átlagát adja eredményül. Csak számokra vonatkozik. |
| BYFREQUENCY(<oszlop>, <N>) | A csoport eredményei közül a leggyakoribb N oszlopértékeket adja vissza. Azt is tartalmazza, hogy az egyes értékek hányszor történtek, és az egyes visszaadott értékeket tartalmazó találatok dokumentumazonosítói. |
| CHILDCOUNT() | Egy csoport elemeinek számát adja vissza (az alcsoportok kivételével). Ha több csoportosítási szint is létezik, ez az azonnali gyermekcsoportok számát adja vissza. |
| DARAB() | Egy csoport és az összes alcsoport elemeinek számát adja vissza. |
| DATERANGE(<oszlop>) | A csoport eredménycsoportjában található oszlopértékek alsó és felső határát adja vissza. Csak a filetime-tulajdonságokra érvényes. |
| FIRST(<oszlop>, <N>) | Egy csoportban található levéleredmények első N oszlopértékeit adja vissza. |
| MAX(<oszlop>) | A kifejezés maximális értékét adja vissza. Csak számokra vagy dátumokra vonatkozik. |
| MIN(<oszlop>) | A kifejezés minimális értékét adja vissza. Csak számokra vagy dátumokra vonatkozik. |
| REPRESENTATIVEOF(<oszlop>, <idRepresentative>, <N>) | N idRepresentative értékeket ad vissza, amelyek mindegyike az egyedi oszlopértékekkel rendelkező eredményrészek egyikéből van kiválasztva. A függvény minden értéket egy olyan dokumentumazonosítóval is visszaad, amely tartalmazza az idRepresentative értéket. |
| SZUM(<oszlop>) | Egy csoport értékeinek összegét adja vissza. Csak számokra vonatkozik. |
Jegyzet
Az összesítések egyéni oszlopokként lesznek visszaadva. Ezek többnyire egyszerű típusok, kivéve a ByFrequency, First, DateRange és RepresentativeOf típusokat, amelyeket összetett típusokként adnak vissza.
Az összesítésekhez bármilyen numerikus vagy dátumoszlopot használhat, és nem csak a SELECT záradékban szereplőket. Az összesítések azonban nem csoportosíthatók. Szintaxishiba akkor jelenik meg, ha az átadott oszlopargumentum nem numerikus vagy dátum típusú.
A címkerész nem kötelező, és olvashatóbb aliast biztosít a címkéhez. Ha nem tartalmaz aliascímkét, akkor a Windows Search címkévé alakítja a függvényt és az oszlopnevet. A MAX (System.Document.WordCount) például MAX_SystemDocumentWordCount lesz.
Többszintű csoportok és számlálás
Az aggregátumok leveleken vannak definiálva, és duplikálva vannak. Az aggregátum bemenetként az azt definiáló csoport leveleit (dokumentumokat) veszi fel a gyermekek alcsoportjai helyett. Ezt a funkciót többszintű csoportosításnak nevezzük.
A leveleken és duplikált elemeken definiált összesítéseken kívül csak egyszer számítja meg őket. Bár ugyanaz a dokumentum többször is szerepelhet egy csoportban, az összesítések csak egyszer veszik figyelembe. Az alábbi ábra ezt a koncepciót szemlélteti.
Példák összesítése
Az alábbi példák a GROUP ON záradék összesítő függvényeit szemléltetik:
GROUP ON System.Sender ['d','m','r']
AGGREGATE COUNT() as 'Total',
MAX(System.Size) as 'Max Size',
MIN(System.Size) as 'Min Size'
OVER (SELECT System.Subject FROM systemindex)
GROUP ON System.Sender ['d', 'm', 'r']
AGGREGATE MAX(System.Search.Rank) as 'MaxRank',
MIN(System.Search.Rank) as 'MinRank'
OVER (GROUP ON system.conversationID
OVER (SELECT workid, System.ItemUrl FROM systemindex
WHERE CONTAINS (*, 'sometext')
ORDER BY System.DateCreated))
GROUP ON System.FileName [before('a'),before('z')]
AGGREGATE MAX(System.Size) as 'maxsize', MIN(System.Size) as 'MinSize'
OVER (SELECT System.FileName FROM systemindex
ORDER BY System.FileName)
GROUP ON System.author
AGGREGATE MAX(System.size) as 'maxsize'
ORDER BY min(System.Size)
OVER (GROUP ON System.DateCreated
AGGREGATE Count()
ORDER BY MAX(System.size)
OVER (SELECT filename, System.DateCreated, System.Size FROM systemindex
WHERE CONTAINS('text')))
Visszaadott érték
A visszatérési érték a sorhalmazban egyéni tulajdonságként található variáns, a megadott aliasok vagy "Összesítések" értékként, ha nincs megadva aliascímke.