MDX CASE Заявление в EXCEL

Вот форма кода https://github.com/ssnau/xkit/blob/master/util/is-promise.js

!!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';

, если объект с методом then, его следует рассматривать как Promise.

0
задан ƘɌỈSƬƠƑ 16 January 2019 в 12:23
поделиться

1 ответ

Вам необходимо внести следующее изменение. Вместо

WHEN [CONTAINER INSTANCE DIMENSION].[Container Size] = '20' 

вам нужно написать

WHEN [CONTAINER INSTANCE DIMENSION].[Container Size].CurrentMember.MEMBER_CAPTION = '20'.

. В вашем запросе вы хотите выбрать свой множитель на основе значения размера контейнера. Чтобы получить значение, которое оценивается в данный момент, мы используем «Currentmember». Кроме того, вы проверяете свойство «MEMBER_CAPTION» вашего CURRENTMEMBER. Способ проверки значения не будет работать. MDX оценит

[CONTAINER INSTANCE DIMENSION].[Container Size] = '20'

как true, поскольку вы сравниваете атрибут измерения со значением. Следовательно, ваше предложение Else дает результат.

Ниже приведен пример AdventureWorks.

with member 
[Measures].[Internet Sales AmountCase]
as
case 
when [Product].[Size].CurrentMember.MEMBER_CAPTION = '38' then [Measures].[Internet Sales Amount]*1
when [Product].[Size].CurrentMember.MEMBER_CAPTION = '40' then [Measures].[Internet Sales Amount]*2
when [Product].[Size].CurrentMember.MEMBER_CAPTION = '46' then [Measures].[Internet Sales Amount]*3
else -99
end

select 
{[Measures].[Internet Sales Amount],[Measures].[Internet Sales AmountCase]}
on columns,

([Date].[Month of Year].[Month of Year],[Product].[Size].[38]:[Product].[Size].[70])
on rows 
from [Adventure Works]

Результаты: enter image description here

0
ответ дан MoazRub 16 January 2019 в 12:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: