2016-12-22 2 views
0

Nous avons un cube OLAP avec les dimensions suivantes: Ship_Date, Product, Customer. Les mesures sont les unités, le coût, le prix catalogue, le prix de vente.Calculs MDX utilisant plusieurs éléments de dimension temporelle

Nous voulons mettre en place des calculs de coût/unité, Prix/Unité et Prix de vente, comme ci-dessous:

[Measure].[Cost]/[Measure].[Units] 

Cela fonctionne avec un des éléments de temps (toutes les dates de livraison, 2016, Jan 2016, etc.) mais lorsque plusieurs éléments sont sélectionnés, comme 2016 & 2015 ou Jan 2016 & Feb 2016, le calcul ne se résout pas correctement, ce que nous pensons être, car il fait la somme des ratios au lieu de calculer par rapport aux sommes.

J'ai essayé les calculs ci-dessous à des résultats similaires:

SUM([Ship_Date].CurrentMember.Level.Members,[Measure].[Cost])/
SUM([Ship_Date].CurrentMember.Level.Members,[Measure].[Units]) 

SUM(Descendants([Ship_Date].CurrentMember, [Month]), [Measure].[Cost])/
SUM(Descendants([Ship_Date].CurrentMember, [Month]), [Measure].[Units]) 

Aggregate(Descendants([Ship_Date].CurrentMember, [Date]), [Measure].[Cost])/
Aggregate(Descendants([Ship_Date].CurrentMember, [Date]), [Measure].[Units]) 

Je suis très nouveau pour MDX - quelqu'un peut-il s'il vous plaît me diriger dans la bonne direction?

+0

Pourquoi ne pas vous mettre en place ces mesures dans le cube lui-même? Serait beaucoup moins compliqué et définitivement plus rapide. – SouravA

+0

Idéalement, notre directeur aimerait créer ces calculs en dehors du cube afin que les utilisateurs sans expérience de la base de données puissent les éditer et créer les leurs. Nous devrons peut-être suivre cette voie, mais j'aimerais d'abord faire preuve de diligence raisonnable pour voir si c'est une option. – Stevesaps

Répondre