Indicateurs intelligents et périmètre d'analyse. SAP 4.0 Feature Pack 3
Calcul de valeurs à l'aide d'indicateurs intelligents
5.3 Indicateurs intelligents et périmètre d'analyse
Lorsque vous créez une requête avec un périmètre d'analyse, le regroupement initial contient les objets du résultat, mais pas les objets du périmètre. La requête ne génère pas tous les regroupements possibles résultant de la combinaison des objets du résultat et des objets du périmètre.
Exemple : Requête avec un périmètre d'analyse et un indicateur intelligent
Une requête a les objets du résultat [Pays] et [Revenu]. Le périmètre d'analyse contient les dimensions
[Région] et [Ville]. Lorsque vous exécutez la requête, son SQL contient le regroupement (Pays) et affiche [Pays] et [Chiffre d'affaires] dans un bloc.
5.4 Indicateurs intelligents et SQL
5.4.1 Regroupements et opérateur UNION
Certaines bases de données prennent en charge les regroupements d'ensembles de façon explicite avec l'opérateur GROUPING SETS. Lorsque vous créez une requête contenant des indicateurs intelligents, le SQL généré utilise plusieurs ensembles de résultats ainsi que l'opérateur UNION pour simuler l'effet
REGROUPEMENTS
.
Exemple : Regroupements extraits avec l'opérateur UNION
Cet exemple décrit une requête contenant les dimensions [Pays], [Région], [Ville] et l'indicateur intelligent [Revenu].
Remarque :
Pour plus de simplicité, l'indicateur intelligent calcule une somme. En pratique, cette agrégation ne nécessite pas d'indicateurs intelligents car les sommes sont, à l'origine, prises en charge dans Web
Intelligence.
Lorsque la requête est exécutée pour la première fois, le regroupement est (Pays, Région, Ville). La requête SQL complète renvoie ce regroupement et l'opérateur UNION n'est absolument pas nécessaire dans le SQL.
43 2012-05-10
Calcul de valeurs à l'aide d'indicateurs intelligents
44
Si vous supprimez la dimension [Ville] du tableau, le regroupement (Pays, Région) est nécessaire pour afficher le chiffre d'affaires (qui apparaît initialement en tant qu'erreur #TOREFRESH). Après l'actualisation des données, le SQL se présente comme suit :
SELECT
SELECT
0 AS GID, country.country_name, region.region_name,
NULL, sum(city.revenue)
FROM country, region, city
WHERE
( country.country_id=region.country_id
)
AND ( region.region_id=city.region_id
)
GROUP BY country.country_name, region.region_name
UNION
SELECT
1 AS GID, country.country_name, region.region_name, city.city_name, sum(city.revenue)
FROM country, region, city
WHERE
( country.country_id=region.country_id
)
AND ( region.region_id=city.region_id
)
GROUP BY country.country_name, region.region_name, city.city_name
Chaque regroupement est représenté par une instruction SELECT et a son propre ID (dans la colonne
GID). Les regroupements qui ne contiennent pas l'ensemble de dimensions intégral incluent des colonnes vides (SELECT '') car chaque instruction SELECT d'une requête incluant l'opérateur UNION doit avoir le même nombre de colonnes.
Si vous ajoutez au rapport un nouveau bloc contenant [Pays] et [Chiffre d'affaires], le regroupement
(Pays) est requis. Le SQL généré inclut maintenant les trois regroupements suivants :
SELECT
0 AS GID, country.country_name, region.region_name,
NULL, sum(city.revenue)
FROM country, region, city
WHERE
( country.country_id=region.country_id
)
AND ( region.region_id=city.region_id
)
GROUP BY country.country_name, region.region_name
UNION
SELECT
1 AS GID, country.country_name,
NULL,
NULL, sum(city.revenue)
FROM
2012-05-10

Link pubblico aggiornato
Il link pubblico alla tua chat è stato aggiornato.