powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MDX Определить количество выбранных элементов измерения
9 сообщений из 9, страница 1 из 1
MDX Определить количество выбранных элементов измерения
    #39890520
IlyamI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.

Подскажите, есть ли возможность с помощью MDX-запроса определить количество выбранных элементов измерения?

Есть задача: если пользователь в excel выбрал несколько (от двух и более, в разных комбинациях) элементов какого-либо (или конкретного) измерения, вывести одно значение, если выбран только один элемент - выдать другое значение.
...
Рейтинг: 0 / 0
MDX Определить количество выбранных элементов измерения
    #39890562
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IlyamI,

Есть понятие SCOPE и CurrentMember . И Возможно ваша задача решается через них.

Но если вам реально приспичило посчитать, сколько элементов сейчас развернуто на оси, то используйте existing

https://docs.microsoft.com/ru-ru/analysis-services/multidimensional-models/mdx/mdx-query-existing-keyword
...
Рейтинг: 0 / 0
MDX Определить количество выбранных элементов измерения
    #39890595
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IlyamI,

пример как это делать показал нам еще Моша, но к сожалению его блог доступен (пока еще) только через Wayback Machine
(ссылка в спойлере выглядит кривовато, но это так надо. URL внутри которого еще один URL который больше не доступен)

Microsoft OLAP by Mosha Pasumansky. How to detect subselect inside MDX calculations (aka Multiselect in Excel 2007) https://web.archive.org/web/20100130225056/http://sqlblog.com/blogs/mosha/archive/2007/09/26/how-to-detect-subselect-inside-mdx-calculations-aka-multiselect-in-excel-2007.aspx
...
Рейтинг: 0 / 0
MDX Определить количество выбранных элементов измерения
    #39890674
IlyamI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем спасибо. вопрос закрыт.
решен на основе
Код: sql
1.
2.
3.
4.
5.
CREATE HIDDEN DYNAMIC SET CURRENTCUBE.[Новое Измерение]
 AS EXISTING([Измерение].[id].CHILDREN);

CREATE MEMBER CURRENTCUBE.[Measures].[Количество выбранных значений]
 AS [Измерение].count



И не мне так захотелось, а заказчику
...
Рейтинг: 0 / 0
MDX Определить количество выбранных элементов измерения
    #39890928
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IlyamI,


Код: sql
1.
2.
CREATE MEMBER CURRENTCUBE.[Measures].[Количество выбранных значений]
 AS EXISTING([Измерение].[id].CHILDREN).Items.Count
...
Рейтинг: 0 / 0
MDX Определить количество выбранных элементов измерения
    #39948241
нуб987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin,

MS Visual Studio 2019 ругается:
авторСинтаксический анализатор: Неверный синтаксис "Items".



а если написать:
Код: sql
1.
count(EXISTING([Измерение].[id].CHILDREN))


- то, если выбран 1 элемент, то вернет 1
- если выбрано >1 элемента, то вернет все в измерении (например, 5)
...
Рейтинг: 0 / 0
MDX Определить количество выбранных элементов измерения
    #39948347
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нуб987,

можно и так
...
Рейтинг: 0 / 0
MDX Определить количество выбранных элементов измерения
    #39948375
нуб987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin,

можно
но нужно, чтобы выдавал реальное кол-во выбранных элементов: если выбрали 4, то чтобы и выдавал 4 :)
В документации микрософта не нашел item s , чтобы повторить ваш код. Да и студия указывает на ошибку...
...
Рейтинг: 0 / 0
MDX Определить количество выбранных элементов измерения
    #39948851
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нуб987,

Я описался, речь идет об item

https://docs.microsoft.com/en-us/sql/mdx/item-member-mdx?view=sql-server-ver15

Может я слегка перепутал буквы, но надо действовать через Existing.


EXISTING([Измерение].[id].CHILDREN).Items.Count

EXISTING([Измерение].[id].CHILDREN, мера/группа мер).Item.Count

COUNT(EXISTING([Измерение].[id].CHILDREN, мера/группа мер))

Лучше всего сделайте SET от EXISTING([Измерение].[id].CHILDREN, мера/группа мер). Нужно получить MDX, который собирает элементы по которым есть данные в рамках конкретного показателя.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MDX Определить количество выбранных элементов измерения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]