J'ai un cube exemple simplifié utilisé à des fins d'apprentissage, et pour essayer de résoudre un problème plus complexe.MDX/SSAS somme de certaines valeurs sur les totaux - calculer le taux de réussite/échec
Le cube représente un petit journal de serveur web,
- nombre de hits comme un nom d'hôte mesure
- comme une dimension
- http code d'état comme une dimension
Je peux obtenir une ventilation du nombre de visites par hôte et du code d'état http avec le MDX
SELECT NON EMPTY { [Measures].[CNT HITS] } ON COLUMNS,
NON EMPTY { ([DIM NOS STATUSCODE].[Statuscode].[Statuscode].ALLMEMBERS *
[DIM NOS HOST].[HOST].[HOST].ALLMEMBERS) } ON ROWS
FROM [DW]
Maintenant, ce que je voudrais faire est de faire des groupes sur divers codes d'état HTTP par ex. indique le pourcentage de succès (tous les codes d'état 2xx), le pourcentage de succès infructueux (tous les codes d'état non 2xx).
Je peux le faire avec SQL, mais je ne sais pas comment le faire avec MDX. par exemple. avec SQL que je ferais:
select HOST,
sum(CNT_HITS) as HITS ,
SUM(CASE WHEN s.statuscode div 100 = 2 THEN CNT_HITS ELSE 0 END)/sum(CNT_HITS) * 100 as success_percent,
SUM(CASE WHEN s.statuscode div 100 = 2 THEN 0 ELSE CNT_HITS END)/sum(CNT_HITS) * 100 as failed_percent,
sum(CASE WHEN s.statuscode = 401 THEN CNT_HITS ELSE 0 END)/sum(CNT_HITS) * 100 as auth_fail_percent
from FACT_NOS_HTTPLOG fact
group by HOST;
Et pour les données indiquées dans la capture d'écran ci-dessus, je me faisais
+-----------------+------+-----------------+----------------+-------------------+
| HOST | HITS | success_percent | failed_percent | auth_fail_percent |
+-----------------+------+-----------------+----------------+-------------------+
| www.example.com | 1610 | 93.1677 | 6.8323 | 6.2112 |
| www.test.com | 50 | 0.0000 | 100.0000 | 0.0000 |
+-----------------+------+-----------------+----------------+-------------------+
Mais comment puis-je accomplir cela avec MDX?
Pouvez-vous avec quelques détails, je ne suis pas en mesure de comprendre ce que je devrais faire - même si elle sonne comme une solution pas si souple .- Et si demain, je veux un autre groupe basé sur un autre statut http gamme ? Aussi - que voulez-vous dire sans aucun mdx du tout? Sinon, comment puis-je obtenir les données de SSAS? – binary01
@ binary01 (augmenté) cette solution sera la plus efficace – whytheq
@ binary01 si vous avez encore besoin de plus de détails faites le moi savoir. –