2010-04-16 4 views
1

J'essaie de construire une mesure calculée dans SSAS qui incorpore un paramètre de dimension. J'ai deux faits: Membres & Commandes et une dimension: Date. Les membres représentent tous les membres uniques sur mon site. Les commandes sont liées aux membres par une clé factuelle représentant un utilisateur unique. Les commandes contiennent également une clé représentant le fournisseur pour une commande. Orders contient une clé pour la dimension de date.Mesure calculée utilisant la dimension

FactMember - MemberFactKey - MemberID FactOrder - FactOrderKey - OrderId - FactMemberKey - DimVendorKey - DimDateKey DimDate - DimDateKey - FYYear

La mesure calculée Je suis en train de construire est le nombre de fournisseurs uniques dont un membre a commandé. La valeur du calcul doit bien sûr changer en fonction de la dimension de la date.

+0

Voulez-vous dire membre comme dans 'd'un club' ou membre comme dans 'd'une dimension'? –

Répondre

0

La fonction DISTINCTCOUNT ne serait-elle pas celle à utiliser ici? La création d'un nombre distinct de fournisseurs pourrait alors être utilisée dans cette requête et ailleurs.

WITH MEMBER [Test] 
AS 
DISTINCTCOUNT([Vendor].[Vendor].[Vendor]) 

Je dis à l'avance que cela pourrait bien être lente (en fonction du volume de données/distribution), donc si cette requête sera une partie populaire/grande de la conception, il peut être utile d'envisager une restructuration.

0

Je suis confus, il serait plus logique de faire des membres et des commandes des dimensions séparées, puis de les référencer à partir d'une table FACT, disons Fact.Sales. Cela élimine le besoin de créer un membre calculé si vous avez défini la dimension Membres sur une sorte de clé membre.

+0

Redesigner toute ma structure de faits et de dimensions juste pour rendre un seul membre calculé plus facile à construire n'est pas vraiment une option. –

+0

Eh bien ce calcul semble être quelque chose qui serait assez commun, c'est pourquoi j'ai conclu que peut-être la structure du cube lui-même avait besoin d'être réévalué. Je n'étais pas conscient que ce n'était pas dans le domaine des possibilités dans votre situation. – ajdams

Questions connexes