ssas - 层次结构和维度属性之间的 CROSSJOIN 是否可能?
问题描述
我目前正在使用 MDX 显示代理分支层次结构的后代,直至代理名称级别:
UNION (
{DESCENDANTS ([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Retail],5,SELF_AND_BEFORE) }
,{DESCENDANTS([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Digital],5, SELF_AND_BEFORE)}
,{DESCENDANTS([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Telesales],5, SELF_AND_BEFORE)}
,{DESCENDANTS([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Head Office],5, SELF_AND_BEFORE)}
)
但是,我想AgentEmployeeNumber
在代理名称旁边显示。AgentEmployeeNumber
不是其中的一部分,AgentBranch Hierarchy
我似乎无法找到将两者交叉连接在一起的方法,这可能吗?我提供了以下代理维度结构的片段:
解决方案
*
您可以对(我假设)这样的行使用交叉连接(缩写形式为):
SELECT
{} // add whatever you want, I assume you have measures here
ON COLUMNS,
UNION (
{DESCENDANTS ([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Retail],5,SELF_AND_BEFORE) }
,{DESCENDANTS([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Digital],5, SELF_AND_BEFORE)}
,{DESCENDANTS([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Telesales],5, SELF_AND_BEFORE)}
,{DESCENDANTS([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Head Office],5, SELF_AND_BEFORE)}
)
*
[Agent].[Agent Employee Number].[Agent Employee Number].Members
ON ROWS
FROM [Your Cube]
不利的一面是,对于Agent Branch Hierarchy
非单一代理级别的成员,您将获得很多号码。解决此问题的一种方法是计算度量,您将其放在列上:
WITH MEMBER Measures.[Employee Number] AS
IIf(
(EXISTING [Agent].[Agent Employee Number].[Agent Employee Number].Members).Count = 1,
(EXISTING [Agent].[Agent Employee Number].[Agent Employee Number].Members).Item(0).Item(0).Name,
NULL
)
SELECT
Measures.[Employee Number] // add whatever you want, I assume you have measures here
ON COLUMNS,
UNION (
{DESCENDANTS ([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Retail],5,SELF_AND_BEFORE) }
,{DESCENDANTS([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Digital],5, SELF_AND_BEFORE)}
,{DESCENDANTS([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Telesales],5, SELF_AND_BEFORE)}
,{DESCENDANTS([Agent].[Agent Branch Hierarchy].[Agent Business Division].&[Head Office],5, SELF_AND_BEFORE)}
)
ON ROWS
FROM [Your Cube]
成员定义或多或少声明:“如果当前Agent Branch Hierarchy
成员的员工编号集合只有一个元素,则将第一个(也是唯一一个)元素的名称作为度量值。请注意,计算的度量可以返回字符串,并且不一定需要是数字。
推荐阅读
- javascript - Tampermonkey,等待在另一个选项卡中设置值,它可以被读取
- batch-file - 如何使用带有批处理文件的 youtube-dl 下载 MP3?
- c++ - 其他列表的每个点与列表的最近点
- android - 错误:无法在 pubspec.yaml 中找到资产条目:“assets/fonts/Lato-Regular.ttf”
- javascript - 从反应传单中的地图中删除缩放控件
- c# - C# 重载隐式转换引用旧值
- speech-to-text - Watson Speech to Text 异步 http 接口 - curl/java 无法注册回调
- powershell - 从数组的属性中获取唯一索引项的最快方法
- reactjs - 打字稿 - 使用键变量更改字典的值
- css - 如何检测是否在 React.js 中单击了伪元素(::after)