У меня есть простой куб данных с иерархией структуры организации. В моих вычислениях внутри куба я хотел бы иметь разные вычисления в зависимости от того, какой уровень элементов организации используется в настоящее время в WHERE предложение в запросе MDX.MDX - Извлечение уровня членов, используемых в настоящее время в where.
Итак, давайте говорить, что у меня есть 5 уровней организационной структуры, а также на последнем уровне (уровень магазина) Я хотел бы изменить способ расчета делается с помощью выражения, например:
IIF([Organization Structure].[Parent Id].LEVEL IS [Organization Structure].[Parent Id].[Level 05], 'THIS IS STORE', 'THIS IS NOT')
Это в результате Visual Studio браузера в то, что мы на самом деле хотим:
и так же для использования запросов многомерных выражений, как:
SELECT { [Measures].[TEST] } ON COLUMNS
FROM [DataCubeName]
WHERE
{
[Organization Structure].[Parent Id].&[123]
}
Проблема начинается, когда мы хотим использовать более одной организационной структуры элемент в пункте WHERE. Это разрешено иметь пункты в этой статье из только на том же уровне, и я все еще хотел бы знать, какой уровень, но, конечно, когда мы добавим второй элемент в WHERE следующим образом:
SELECT { [Measures].[TEST] } ON COLUMNS
FROM [DataCubeName]
WHERE
{
[Organization Structure].[Parent Id].&[123],
[Organization Structure].[Parent Id].&[124]
}
I получить ошибку, которая «currentmember failed, потому что координата для атрибута содержит набор».
Вот почему в моем выражении я пытался использовать ITEM (0) функцию во многих различных конфигурациях, но я просто не мог найти способ, чтобы использовать его на множестве элементов, которые в настоящее время используются в WHERE статей ... Большой вопрос:
Как получить набор элементов, перечисленных в предложении WHERE, который выполняется в данный момент, поэтому я могу использовать Item (0) на этом наборе или есть ли какие-либо другие способ извлечения уровня выбранных в данный момент элементов, зная, что они должны быть одного уровня?
Почему вы заинтересованы в том, чтобы иметь более одного члена в предложении WHERE?, Когда все эти значения относятся к одной и той же иерархии? Можно ли этого избежать? – SouravA
Спасибо за ответ! Я заинтересован в том, чтобы иметь более одного члена, так как я использую один запрос MDX для получения, например, данных о прибыли от продаж для 10 магазинов одновременно или для 10 регионов и т. Д. Дело в том, что я хотел бы сделать разные расчет в зависимости от типа уровня, как в примере, который я использовал выше, в моем случае прибыль будет рассчитываться по-разному для магазинов и регионов. Надеюсь, что я разъяснил свое прецедентное право. –
Получил это. Является ли иерархия, в которой члены должны принадлежать, будет одинаковой или может варьироваться? Например, здесь у вас есть члены из '[Organization Structure]. [Parent Id]' dimension. Это исправлено, или может быть другая иерархия? – SouravA