【发布时间】:2016-05-17 14:13:50
【问题描述】:
我想列出 Dimension.Car 中所有具有状态 IsPremium = 1 的汽车。
此外,Dimension.Car 中的所有汽车的单独列表,其状态为 IsFourWeeler = 1
Dimension 具有以下属性: 1. 车码 2. 车名 3.IsPremium 4. IsFourWheeler
【问题讨论】:
我想列出 Dimension.Car 中所有具有状态 IsPremium = 1 的汽车。
此外,Dimension.Car 中的所有汽车的单独列表,其状态为 IsFourWeeler = 1
Dimension 具有以下属性: 1. 车码 2. 车名 3.IsPremium 4. IsFourWheeler
【问题讨论】:
如果它们是相同维度中的不同层次结构(属性或用户层次结构),则可以使用函数EXISTS。
在这里定义:https://msdn.microsoft.com/en-us/library/ms144936.aspx?f=255&MSPPError=-2147217396
他们展示的例子和你的情况一样:
SELECT
[Measures].[Internet Sales Amount] ON 0,
EXISTS(
[Customer].[Customer].[Customer].MEMBERS
, {[Customer].[State-Province].&[CA]&[US]}
) ON 1
FROM [Adventure Works];
但是你有
SELECT
[Measures].[SomeMeasuresInCube] ON 0,
EXISTS(
[Dimension.Car].[Car].MEMBERS
, [[Dimension.Car]].[IsPremium].[1]
) ON 1
FROM [YourCube];
NonEmpty 也可以是你的朋友:
WITH SET [SpecialCars] AS
NONEMPTY(
[Dimension.Car].[Car].MEMBERS
,([[Dimension.Car]].[IsFourWheeler].[1])
)
SELECT
[Measures].[SomeMeasuresInCube] ON 0,
[SpecialCars] ON 1
FROM [YourCube];
【讨论】: