我想排除MDX查询中存在空值的任何行。听起来很简单:
SELECT
NON EMPTY{
....
}
ON 0
etc...
但是,我的一个列具有值,即使其他列只包含空值。 例如:
Area | ComputerSales | Areadirector
WA (Null) Steve
NY 21312 Mary
如何删除第一行,其中有一个(null)值?
答案 0 :(得分:2)
您可以使用HAVING
SELECT
{
[Measures].[Computer Sales]
,[Measures].[Areadirector]
} ON 0
,[AreaDimension].[Area].[Area] HAVING
(NOT
IsEmpty([Measures].[Computer Sales])) ON 1
FROM [YourCube];
首先在WITH
子句中创建集合:
WITH
SET [S] AS
NonEmpty
(
[AreaDimension].[Area].[Area]
,[Measures].[Computer Sales]
)
SELECT
{
[Measures].[Computer Sales]
,[Measures].[Areadirector]
} ON 0
,[S] ON 1
FROM [YourCube];
第二种方法可能更有效。
答案 1 :(得分:1)
您可以使用例如FILTER和ISEMPTY功能
SELECT
[Measures].[Fac Count] on 0,
FILTER(
[Time].[Date Key].children,
NOT ISEMPTY([Measures].[Fac Count])
)
on 1
FROM
[Test]
此简单查询仅返回Fac Count measure具有非空值的日期键。