Замена пробела текстом "NA" или "MISSING"
Я пытаюсь заменить пробелы в данных текстом "MISSING" или "NA".
CoalesceEmpty([Product Type].[All Product Type].[ ],"MISSING")
Я пробовал приведенный выше код, с или без кавычек вокруг MISSING.
Получается следующая ошибка: CoalesceEmpty ([Тип продукта].[Весь тип продукта].[ ],"MISSING") недопустим и не может использоваться в запросе.
PS Тип продукта - это измерение.
Я пробовал эту функцию на measures
и там все работало нормально.
2 ответа
Я не понимаю, что означает этот пробел - у вас действительно есть член, который называется [ ]
?! ... [Product Type].[All Product Type].[ ]
Нам также нужно увидеть весь сценарий - контекст этого фрагмента - чтобы точно вам помочь.
Если вы хотите проверить currentmember
иерархии [Product Type].[All Product Type]
для нуля, то вы можете сделать следующее:
IIF(
[Product Type].[All Product Type].currentmember.membervalue = 0,
"MISSING",
[Product Type].[All Product Type].currentmember.membervalue
)
В кубах, в которые я играю, вышеописанное никогда не произойдет, поскольку все участники существуют, поэтому все участники имеют membervalue
, Вот пример замены заготовок:
WITH
MEMBER [Measures].[Internet Sales Amount 2] AS
IIF
(
[Measures].[Internet Sales Amount] = 0
,'MISSING'
,[Measures].[Internet Sales Amount]
)
SELECT
{
[Measures].[Internet Sales Amount]
,[Measures].[Internet Sales Amount 2]
} ON 0
,
[Customer].[Customer Geography].[Country].MEMBERS
*
[Product].[Category].MEMBERS ON 1
FROM [Adventure Works];
Новая мера, которую я создал, приводит к результатам в 4 столбце ниже:
ФункцияCoalesceEmpty не принимает членов или наборы. Оба параметра должны быть числовыми выражениями. Смотрите ссылку MSDN здесь