繁体   English   中英

MDX计算事件之间的时间

[英]MDX Calculating Time Between Events

我有一个Cube,它从4个事实/暗淡的表中提取数据。

  1. FactCaseEvents (EventID,CaseID,TimeID)
  2. DimEvents (EventID, EventName)
  3. DimCases (CaseID,StateID,ClientID)
  4. DimTime (TimeID,FullDate)

事件将是: CaseReceived,CaseOpened,CaseClientContacted,CaseClosed

DimTime每小时都有一个条目。

我想写一个MDX语句,它会给我2列:“ CaseRecievedToCaseOpenedOver5 ”和“ CaseClientContactedToCaseClosedOver5

CaseRecievedToCaseOpenedOver5将保存CaseReceivedCaseOpened之间的时间差超过5小时的CaseReceived CaseOpened

我猜测“ CaseRecievedToCaseOpenedOver5 ”和“ CaseClientContactedToCaseClosedOver5 ”会被计算成员,但我需要一些帮助来弄清楚如何创建它们。

提前致谢。

这看起来是使用累积快照类型事实表并计算从ETL流程中的管道的一个阶段移动到下一个阶段所花费的时间的好地方。

查询AdventureWorks(DateDiff在MDX中工作):

WITH 
MEMBER Measures.NumDays AS 
'iif(ISEMPTY(([Delivery Date].[Date].CurrentMember
,[Ship Date].[Date].CurrentMember
,Measures.[Order Count]))
,null
, Datediff("d",[Ship Date].[Date].CurrentMember.Name
,[Delivery Date].[Date].CurrentMember.Name))'
SELECT
NON EMPTY {[Ship Date].[Date].&[63]
:[Ship Date].[Date].&[92]} ON COLUMNS,
NON EMPTY {[Delivery Date].[Date].&[63]
:[Delivery Date].[Date].&[92]} 
* {[Measures].[NumDays]
, [Measures].[Order Count]} ON ROWS
FROM [Adventure Works]

摘自: http//www.mombu.com/microsoft/sql-server-olap/t-can-i-have-datediff-in-mdx-265763.html

如果您将使用此成员很多,请在计算选项卡上将其创建为多维数据集中的计算成员,如果我没记错的话。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM