2016-02-15 42 views
0

指标我有一个包含时间分配数据对一个组织的SSAS多维数据集,我想创建一个指标,以了解如何同样时间的部门,单位和个人之间的分配。相似性的MDX查询

为了简单起见,我们假设有两个层次和措施:

  • 组织:系] [单位] [人]和
  • WorkType:。。[进程] [活性] [代码]。
  • Measures.HoursAllocated

同样假设它是用欧氏距离作为度量一个好主意。 I.e我想计算类似

SQRT(
    SUM(
     (HoursAllocated(<Organisation member>,<Worktype>)- 
     HoursAllocated(<Another organisation member>,<Worktype>) 
    )^2) 
)) 

为组织层次结构的笛卡尔自我加入。结果应该看起来像(假设我们正在比较人)

Person A Person B similarity 
---------------------------------- 
Jamie  Jamie  1.0     
      Tyrion  0.5 
      Cersei  0.9 
Tyrion  Jamie  0.5 
      Tyrion  1.0 
      Cersei  0.2 

我不知道如何查询这个。任何帮助?

回答

1

如果我们做mdx如下:

WITH 
    SET [setA] AS 
    [Customer].[Customer].[Customer] 
    SET [setB] AS 
    [Customer].[Customer].[Customer] 
SELECT 
    {} ON 0 
, 
    [setA] * [setB] ON 1 
FROM [Adventure Works]; 

我们得到这个错误:

Query (9, 3) The Customer hierarchy is used more than once in the Crossjoin function.

立方的设计是不是我做的,但我怀疑你将需要改变立方体结构体。
你能创建第二个[Department].[Unit].[Person]尺寸?