我有一个包含以下列的事实表:
WorkerName
OrderId
NumberOfPackagesPerOrder
Run Code Online (Sandbox Code Playgroud)
请注意,在此事实表中既不是WorkerName也不OrderId是唯一的。多个用户可以处理单个 OrderId 还要注意,NumberOfPackagesPerOrder仅取决于OrderId,即对于每个OrderId,数量NumberOfPackagesPerOrder将相同。
我正在尝试构建一个多维数据集,以按员工层次结构报告来自此数据的分层报告:
ManagerLevel1 [Total orders completed] [Total Packages Shipped]
Managerlevel2
.....
ManagerLevelN
Worker
Run Code Online (Sandbox Code Playgroud)
由于多个工作人员可以按相同的顺序工作,因此我需要避免PackagesPerOrder对经理级别(非叶节点)进行重复计算 。
这该怎么做?我需要什么 MDX 脚本才能正确地SUM NumberOfPackagesPerOrder将它们相加,然后将DISTINCT它们添加到OrderId?
注 1 - 雇佣层次结构是递归定义的 - 级别不是静态的。
注意 2 - 非叶节点上的管理器也可能会运送包。