列出所有按维度属性值过滤的维度成员
List all dimension members filtering on dimension attribute value
我想列出 Dimension.Car 中状态为 IsPremium = 1
的所有汽车。
而且,来自 Dimension.Car 的所有汽车的单独列表具有状态 IsFourWeeler = 1
维度具有如下属性:
1.车码
2. 车名
3. IsPremium
4. 是四轮车
如果它们在 相同 维度中是不同的层次结构(属性或用户层次结构),那么您可以使用函数 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];
我想列出 Dimension.Car 中状态为 IsPremium = 1
的所有汽车。
而且,来自 Dimension.Car 的所有汽车的单独列表具有状态 IsFourWeeler = 1
维度具有如下属性: 1.车码 2. 车名 3. IsPremium 4. 是四轮车
如果它们在 相同 维度中是不同的层次结构(属性或用户层次结构),那么您可以使用函数 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];