【问题标题】:Filter MDX, SQL Server and Analysis Services筛选 MDX、SQL Server 和 Analysis Services
【发布时间】:2018-09-26 17:14:49
【问题描述】:

我有这样的查询:

SELECT NON EMPTY {
    [DIM CUSTOMER].[Country Region Code].[Country Region Code].ALLMEMBERS
}
ON COLUMNS, 
NON EMPTY CROSSJOIN( {
    [DIM PRODUCT].[Category Name].CHILDREN
}, 
{
    [DIM PRODUCT].[Sub Category Name].CHILDREN
})
ON ROWS FROM [Foo]
WHERE (
     [Measures].[Order Qty]
);

现在我想添加过滤,基本上只包括至少售出 10 种不同产品的类别和子类别。 我最终得到如下所示的东西,但它什么也没返回......

SELECT NON EMPTY {
    [DIM CUSTOMER].[Country Region Code].[Country Region Code].ALLMEMBERS
}
ON COLUMNS, 
FILTER (
CROSSJOIN( {
    [DIM PRODUCT].[Category Name].CHILDREN
}, 
{
    [DIM PRODUCT].[Sub Category Name].CHILDREN
},
{ [DIM PRODUCT].[Name].CHILDREN
}),
    [DIM PRODUCT].[Name].CHILDREN.COUNT > 0
) 
ON ROWS FROM [Foo]
WHERE (
     [Measures].[Order Qty]
);

如果有人如此精通以至于像我一样不会花 40 分钟就能发现错误,请提前帮助和感谢 :)

【问题讨论】:

    标签: sql sql-server ssas mdx


    【解决方案1】:

    也许换这个:

    [DIM PRODUCT].[Name].CHILDREN.COUNT > 0
    

    为此:

    [DIM PRODUCT].[Name].CURRENTMEMBER.CHILDREN.COUNT > 0
    

    【讨论】:

      【解决方案2】:

      你可能需要.members而不是.CHILDREN

      【讨论】:

        猜你喜欢
        • 2011-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多