powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MDX. Получить количество строк в группах.
4 сообщений из 4, страница 1 из 1
MDX. Получить количество строк в группах.
    #40108539
EMikhail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, я новичок в написании mdx запросов.
На данный момент существует такой запрос:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
SELECT
NON EMPTY {[Measures].[ViolationsCount]} ON COLUMNS,
ORDER(
    GENERATE(
        {[ViolationDimension].[UniqueCode].Members},
        TOPCOUNT(
            ORDER(
                FILTER(
                    NonEmptyCrossJoin({[StatusDimension].[Status].Members}, NonEmptyCrossJoin({[ViolationDimension].[UniqueCode].CURRENTMEMBER}, {[FullDateDimension].[Date].Members})),
                    ([FullDateDimension].[Date].[All].CURRENTMEMBER.NAME <= "2020-06-23")
                ), 
                [FullDateDimension].[Date].[All].CURRENTMEMBER.VALUE, 
                DESC
            ), 
            1, 
            [FullDateDimension].[Date].CURRENTMEMBER.VALUE
        )
    ),
    [StatusDimension].[Status].[All].CURRENTMEMBER.NAME,
    ASC
) ON ROWS
FROM [ViolationsCube]



Запрос показывает какие нарушения в каких статусах находились к заданному дню.
StatusUniqueCodeDateViolationsCountСтатус1M693XC799-RUS2020-06-061K604OX750-RUS2020-06-161M001KE50-RUS2020-06-011O678HY33-RUS2020-05-271M672MO799-RUS2020-06-211 C753XA799-RUS2020-06-111Статус2B142BM790-RUS2020-06-061Y824OE799-RUS2020-06-211C589HE790-RUS2020-06-161Y508BK71-RUS2020-06-111C455EC163-RUS2020-06-011

Мне необходимо получить вид.
StatusViolationsCountСтатус16Статус25

Я пробовал использовать функцию extract() с указанием иерархии [StatusDimension], но в этом случае запрос выводит количество вообще всех нарушений для статусов 1 и 2.
Пожалуйста, подскажите, есть ли способ в моей ситуации получить количество нарушений для каждого статуса, или запрос в корне неверный, и из него не получится получить нужный результат?
...
Рейтинг: 0 / 0
MDX. Получить количество строк в группах.
    #40108662
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EMikhail,
я бы взял SSMS октрыл куб
и просто вытащил эти 2 поля ваши
статус и violation_count
и если резалтсет вас усторит
и просто посмотрите какой запрос будет
возможно все проще чем кажется


ps есть еще вариант с экселем и профайлером
но Эксель генерит хитрые запросы - там сложней
это если не прокатит вдруг 1-й воркарауд
...
Рейтинг: 0 / 0
MDX. Получить количество строк в группах.
    #40108757
EMikhail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гулин Федор
EMikhail,
я бы взял SSMS октрыл куб
и просто вытащил эти 2 поля ваши
статус и violation_count
и если резалтсет вас усторит
и просто посмотрите какой запрос будет
возможно все проще чем кажется


ps есть еще вариант с экселем и профайлером
но Эксель генерит хитрые запросы - там сложней
это если не прокатит вдруг 1-й воркарауд


Федор, спасибо за ответ, дело в том что используется бд postgres. У меня есть MS SQL сервер, и я пробовал настроить подключение к бд postgres в SSMS, но к сожалению не смог. Попробую посмотреть в сторону excel
...
Рейтинг: 0 / 0
MDX. Получить количество строк в группах.
    #40109431
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EMikhail,
че то я не въехал
запрос идет же к кубу ?
тогда причем постгрес как источник ?
(если из SSMS лезть к бд постгрес - налдо настраивать линк-сервер к ней)

открыаешь куб в SSMS и просто тянешь поля и смотришь запрос mdx
https://docs.microsoft.com/en-us/analysis-services/instances/connect-from-client-applications-analysis-services?view=asallproducts-allversions

все просто как грабли - даже писать ничего НЕ НАДО


PS Вообще если куб сделан более менее правильно
и ексел юзается как клиент
то и mdx и писать особо не нужно
(кроме конечно хитрых случаев - но это отдельная тема)
есть умная книжка - но пока думаю не стоит лезть в детали

pps поставь себе Advnture Works бд и куб и поиграйся с ней - времени не много потратишь
а пользу получишь
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MDX. Получить количество строк в группах.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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