L'utilisateur sélectionne dans des listes :
- un client,
- une période de début,
- une période de fin
L'idée c'est d'afficher un tableau avec :
- en lignes les agences,
- en colonnes : le détail de la marge, du CA et du taux de marge
pour chaque période mensuelle et pour l'ensemble
de la période
Agence2 ca |
marge |
taux |
........ |
AgenceN ca |
WITH
/* CA = ca réel + ca provisionné */
MEMBER [Measures].[CA] AS
'Measures.[ca réel] + Measures.[ca prov]'
/* total de la marge cumulée sur la période */
MEMBER [Measures].[sum_marge] AS
'Sum(
{
[Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6]
},
Measures.[Marge])'
/* total du CA cumulé sur la période */
MEMBER [Measures].[sum_ca] AS
'Sum(
{[Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6]}
,
Measures.[CA]
)'
/* taux de marge sur la période complète */
MEMBER [Measures].[taux] AS
'Measures.[sum_marge] / Measures.[sum_ca]',
FORMAT_STRING = 'Percent'
MEMBER [Periode].[Total Periode] AS
'Iif(Measures.CurrentMember.Properties("Caption") <> "Marge",
Iif(Measures.CurrentMember.Properties("Caption")) <> "Taux marge",
[Measures].[sum_ca],
[Measures].[taux]
),
Measures.[sum_marge])'
Select
{
[Periode].[Total Periode],
[Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6]
}
ON Columns,
Non Empty CrossJoin(
Agences.[Code agence].Members,
{Measures.[CA], Measures.[Marge], Measures.[Taux marge]}
) On Rows
From Marges
Where {Clients.&[4098]}
Le problème, c'est que le total du CA sur la période est égal au double de
ce qu'il devrait être,
dans le tuple ([Total Periode],Measures.[CA])
L'utilisateur sélectionne dans des listes : - un client, - une période de début, - une période de fin
L'idée c'est d'afficher un tableau avec : - en lignes les agences, - en colonnes : le détail de la marge, du CA et du taux de marge pour chaque période mensuelle et pour l'ensemble de la période
Agence2 ca | marge | taux | ........ | AgenceN ca |
WITH
/* CA = ca réel + ca provisionné */ MEMBER [Measures].[CA] AS 'Measures.[ca réel] + Measures.[ca prov]'
/* total de la marge cumulée sur la période */ MEMBER [Measures].[sum_marge] AS 'Sum( { [Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6] }, Measures.[Marge])'
/* total du CA cumulé sur la période */ MEMBER [Measures].[sum_ca] AS 'Sum( {[Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6]} , Measures.[CA] )'
/* taux de marge sur la période complète */ MEMBER [Measures].[taux] AS 'Measures.[sum_marge] / Measures.[sum_ca]', FORMAT_STRING = 'Percent'
MEMBER [Periode].[Total Periode] AS 'Iif(Measures.CurrentMember.Properties("Caption") <> "Marge", Iif(Measures.CurrentMember.Properties("Caption")) <> "Taux marge", [Measures].[sum_ca], [Measures].[taux] ), Measures.[sum_marge])'
Select { [Periode].[Total Periode], [Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6] } ON Columns,
Non Empty CrossJoin( Agences.[Code agence].Members, {Measures.[CA], Measures.[Marge], Measures.[Taux marge]} ) On Rows From Marges Where {Clients.&[4098]}
Le problème, c'est que le total du CA sur la période est égal au double de ce qu'il devrait être, dans le tuple ([Total Periode],Measures.[CA])
Merci de votre aide
Damien
No reply
Hello,
J'ai quelques des difficultés avec la syntaxe de la requête MDX suivante.
Soit un Cube "Marges" avec les dimensions suivantes :
L'utilisateur sélectionne dans des listes :
- un client,
- une période de début,
- une période de fin
L'idée c'est d'afficher un tableau avec :
- en lignes les agences,
- en colonnes : le détail de la marge, du CA et du taux de marge
pour chaque période mensuelle et pour l'ensemble
de la période
Agence2 ca |
marge |
taux |
........ |
AgenceN ca |
WITH
/* CA = ca réel + ca provisionné */
MEMBER [Measures].[CA] AS
'Measures.[ca réel] + Measures.[ca prov]'
/* total de la marge cumulée sur la période */
MEMBER [Measures].[sum_marge] AS
'Sum(
{
[Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6]
},
Measures.[Marge])'
/* total du CA cumulé sur la période */
MEMBER [Measures].[sum_ca] AS
'Sum(
{[Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6]}
,
Measures.[CA]
)'
/* taux de marge sur la période complète */
MEMBER [Measures].[taux] AS
'Measures.[sum_marge] / Measures.[sum_ca]',
FORMAT_STRING = 'Percent'
MEMBER [Periode].[Total Periode] AS
'Iif(Measures.CurrentMember.Properties("Caption") <> "Marge",
Iif(Measures.CurrentMember.Properties("Caption")) <> "Taux marge",
[Measures].[sum_ca],
[Measures].[taux]
),
Measures.[sum_marge])'
Select
{
[Periode].[Total Periode],
[Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6]
}
ON Columns,
Non Empty CrossJoin(
Agences.[Code agence].Members,
{Measures.[CA], Measures.[Marge], Measures.[Taux marge]}
) On Rows
From Marges
Where {Clients.&[4098]}
Le problème, c'est que le total du CA sur la période est égal au double de
ce qu'il devrait être,
dans le tuple ([Total Periode],Measures.[CA])
L'utilisateur sélectionne dans des listes : - un client, - une période de début, - une période de fin
L'idée c'est d'afficher un tableau avec : - en lignes les agences, - en colonnes : le détail de la marge, du CA et du taux de marge pour chaque période mensuelle et pour l'ensemble de la période
Agence2 ca | marge | taux | ........ | AgenceN ca |
WITH
/* CA = ca réel + ca provisionné */ MEMBER [Measures].[CA] AS 'Measures.[ca réel] + Measures.[ca prov]'
/* total de la marge cumulée sur la période */ MEMBER [Measures].[sum_marge] AS 'Sum( { [Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6] }, Measures.[Marge])'
/* total du CA cumulé sur la période */ MEMBER [Measures].[sum_ca] AS 'Sum( {[Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6]} , Measures.[CA] )'
/* taux de marge sur la période complète */ MEMBER [Measures].[taux] AS 'Measures.[sum_marge] / Measures.[sum_ca]', FORMAT_STRING = 'Percent'
MEMBER [Periode].[Total Periode] AS 'Iif(Measures.CurrentMember.Properties("Caption") <> "Marge", Iif(Measures.CurrentMember.Properties("Caption")) <> "Taux marge", [Measures].[sum_ca], [Measures].[taux] ), Measures.[sum_marge])'
Select { [Periode].[Total Periode], [Periode].[Annee].&[2005].&[1]:[Periode].[Annee].&[2005].&[6] } ON Columns,
Non Empty CrossJoin( Agences.[Code agence].Members, {Measures.[CA], Measures.[Marge], Measures.[Taux marge]} ) On Rows From Marges Where {Clients.&[4098]}
Le problème, c'est que le total du CA sur la période est égal au double de ce qu'il devrait être, dans le tuple ([Total Periode],Measures.[CA])