MDX 查询出现问题

问题描述 投票:0回答:1

我的这个查询运行得很好,但是如果我在行中添加另一个维度,它会影响某些设备的结果。 查询的目的是如果设备没有任何Count,则应该检索该设备所属的源Segment Equipment内最后一个设备的Count。 这是完美运行的查询:

WITH MEMBER [Measures].[test] AS
           IIF
   (
        NOT ISEMPTY([Measures].[Count]) ,
        ([Measures].[Count]),
        
            TAIL(
            (EXISTING ([Dim Equipment Attribute].[Source Segment Equipment Id].[Source Segment Equipment Id].Members)
            ,FILTER(
                [Equipment Name].[Equipment Name].Members ,
                [Measures].[Count]>0))
            ,1).Item(0)                         
    )
SELECT
{[Measures].[test]} ON COLUMNS,
([Dim Equipment Attribute].[Equipment Name].[Equipment Name].Members) ON ROWS
FROM [DB DWH]

这是在行上添加维度的查询:

    WITH MEMBER [Measures].[test] AS
           IIF
   (
        NOT ISEMPTY([Measures].[Count]) ,
        ([Measures].[Count]),
        
            TAIL(
            (EXISTING ([Dim Equipment Attribute].[Source Segment Equipment Id].[Source Segment Equipment Id].Members)
            ,FILTER(
                [Equipment Name].[Equipment Name].Members ,
                [Measures].[Count]>0))
            ,1).Item(0)                         
    )
SELECT
{[Measures].[test]} ON COLUMNS,
([Dim Equipment Attribute].[Equipment Name].[Equipment 
Name].Members, [Dim Equipment Attribute].[Equipment Angle]. 
[Equipment Angle].Members) ON ROWS
FROM [DB DWH]

我认为现有的导致了问题,但我不知道还能使用什么。这是我处理的第一个 MDX 查询

我尝试更改 EXISTING,但是这样做第一个查询中的结果也是无效的

ssas mdx
1个回答
0
投票

典型的MDX SELECT 查询如下: 假设您很可能想要交叉连接 普通括号“(”和大括号“{”在 MDX 中表示不同的东西!

SELECT
{
   [Measures].[test]
} ON COLUMNS,
{ 
    [Dim Equipment Attribute].[Equipment Name].[Equipment Name].Members
    * [Dim Equipment Attribute].[Equipment Angle].[Equipment Angle].Members
} ON ROWS
FROM [DB DWH]

即,在大括号内,您将列出所有维度字段,并使用“*”运算符来表示交叉连接。

© www.soinside.com 2019 - 2024. All rights reserved.