SSAS-命名计算的工作日数

时间:2019-01-24 10:44:24

标签: ssas mdx

我是 SSAS 的新手。我有一个要求,我需要计算用户选择的日期范围(在Excel或SSRS或PowerBI中)之间的工作日数。我找到了MDX查询,我需要使用MDX表达式创建命名计算的帮助。

日期维度(已过滤):

enter image description here

MDX:

WITH MEMBER Measures.WorkingDays AS 
COUNT  
(
exists( EXISTING {[Dim Date].[Date].[Date].members}
, [Dim Date].[Is Weekday].&[1] )
) 

Select {Measures.WorkingDays} on 0 , 
[Dim Date].[Month].[Month] on 1 
from [Project Cube]
where ([Dim Date].[Date].&[2018-01-01T00:00:00]:[Dim Date].[Date].&[2018-04-25T00:00:00])

我需要在事实表上添加此命名列作为度量。我遇到以下问题:

  1. 使用提到的MDX表达式创建命名查询
  2. 在事实表中添加一个[Number of Working Days]作为度量。

如果我做错了方法,请纠正我。我的要求是,我需要一个[NoOfWorkingDays]作为事实表中的度量,以便可以使用 SSAS聚合将其用作其他度量(例如([utilization%] = ([ActualDaysWorked] / [NoofWorkingDays])上的输入。

请注意,我可以使用给定的MDX进行分析,但是我需要将其与预先计算的值一起部署在多维数据集中,以便最终用户可以直接使用多维数据集。

如果需要更多详细信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

欢迎使用SSAS和MDX。现在回答。

  

我需要在事实表上添加此命名列作为度量。我是   遇到以下问题:

     

使用提及的MDX表达式创建命名查询。添加[数字   “工作日数”作为事实表中的度量。

您根本不需要将其添加到事实表。打开您的SSAS项目,在对象资源管理器中双击您的多维数据集。现在,在左上角,您将看到“计算”选项卡。在“计算”选项卡中,单击“新的计算所得成员”,该图标上有一个计算器。

  

如果我做错了方法,请纠正我。我的要求是我   实际上需要一个[NoOfWorkingDays]作为度量值,以便我可以使用   SSAS汇总以将其用作其他度量的输入,例如   ([利用率%] =([ActualDaysWorked] / [NoofWorkingDays])。

如果我没记错的话,计算得出的成员将不会添加到集合中,但是潜在的度量将被添加到集合中。其次,如果您想知道是否可以在另一个计算量度中使用计算量度。答案是肯定的,您可以在其他计算量度中使用它。所以这完全有可能

> ([utilization%] = ([ActualDaysWorked] / [NoofWorkingDays])

其中[利用率%]和[NoofWorkingDays]是计算得出的度量。