Visual studio 基于事实表列创建新的计算度量值

Visual studio 基于事实表列创建新的计算度量值,visual-studio,ssas,mdx,olap,cube,Visual Studio,Ssas,Mdx,Olap,Cube,我被指派在我们的多维数据集中计算NPS(净推广人分数)。 事实证明,我并不完全确定如何处理它。 在我们的事实表中,我们有每个售出商品的NPS答案(范围从0到10,没有答案时为NULL)。公式是:发起人的百分比(>=8)%诽谤者的百分比(=9,然后是[产品]。[nps\U评级]否则无效)/计数(当[产品]。[nps\U评级]>=0,然后是[产品]。[nps\U评级]否则无效时) - (计数(当[产品].[nps_评级]=0时,则为[产品].[nps_评级]否则为空结束时的情况) 其中,nps_评

我被指派在我们的多维数据集中计算NPS(净推广人分数)。 事实证明,我并不完全确定如何处理它。 在我们的事实表中,我们有每个售出商品的NPS答案(范围从0到10,没有答案时为NULL)。公式是:发起人的百分比(>=8)%诽谤者的百分比(=9,然后是[产品]。[nps\U评级]否则无效)/计数(当[产品]。[nps\U评级]>=0,然后是[产品]。[nps\U评级]否则无效时) - (计数(当[产品].[nps_评级]=0时,则为[产品].[nps_评级]否则为空结束时的情况)
其中,nps_评级是我希望计算所基于的事实表(产品)列。

您可以在DSV中将其创建为计算列。DSV将充当表上的视图。因此,这将帮助您快速获得它。这个新的计算列将在度量中可用

转到解决方案资源管理器

你将看到你所有的维度和事实

现在右键单击您的事实并单击命名计算

我所做的是:


  • 在事实表的每个分区中为NPS_发起人(>=9)和NPS_批评者添加计算列(您能详细说明一下吗?我正在使用Visual Studio开发多维数据集,DMV查询是针对多维数据集本身执行的吗?或者更确切地说是在sql server端执行的?applogies DSV不是DMV。哇,我想我明白了!谢谢,我不知道DSV中存在计算列。这是非常明智的使用它们。非常感谢!欢迎您。
    CREATE MEMBER CURRENTCUBE.Measures.NPS_score AS 
    
    (COUNT(CASE WHEN [Product].[nps_rating] >= 9 THEN [Product].[nps_rating] ELSE NULL END)/COUNT(CASE WHEN [Product].[nps_rating] >= 0 THEN [Product].[nps_rating] ELSE NULL END))
    -
    (COUNT(CASE WHEN [Product].[nps_rating] <=6 THEN [Product].[nps_rating] ELSE NULL END)/COUNT(CASE WHEN [Product].[nps_rating] >= 0 THEN [Product].[nps_rating] ELSE NULL END))
    
    
    [Measures].[NPS Promoter]/[Measures].[NPS_answers] - [Measures].[NPS Detractor]/[Measures].[NPS_answers]