powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Реестр Лицевых Счетов (MSTR)
22 сообщений из 22, страница 1 из 1
Реестр Лицевых Счетов (MSTR)
    #32929914
Фотография АлександрФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всех с Днем защитника Отечества !

Проблемка плевая, но я чего-то туплю, наверно

Ситуация такая
есть Таблица Клиентов
есть Таблица Лиц. Счетов

Клиент может иметь несколько счетов , или один счет или вовсе не иметь счетов. Т.е. Атрибут "Клиент" является родителем атрибута "Лиц Счет"

Вопрос:
Необходим отчет, который покажет список(реестр) клиентов , которые не имеют Лиц. счетов ? Как на СКЛе реализовать понятно , а вот какую цяпочку дернуть чего-то не пойму...
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930008
MSTR_Fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И Вас с праздником!

Самое простое решение - создать метрику Count(Лиц Счет) и на её базе фильтр, где выводить множество клиентов для которых значение метрики = 0.
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930016
Фотография АлександрФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не проходит этот вариант, т.к. при связи Клиента с Лиц Счетом генериться СКЛ
вида
select a11.LS_ID LS_ID,
a11.CLN_ID CLN_ID
from dbo.LS a11
join dbo.CLN a13
on (a11.CLN_ID = a13.CLN_ID)
а в случае отсутствия Лиц счета у Клиента ничего не выбирается

а надо бы такого вида

select a11.LS_ID LS_ID,
a11.CLN_ID CLN_ID
from dbo.LS a11,dbo.CLN a13
where a11.CLN_ID = a13.CLN_ID (+)
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930055
MSTR_Fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм, действительно не работает :)

Вот не совсем очевидное решение:
создать фильтр типа "Advanced Qualification" на базе функции ApplyComparison
Вот пример: в базе Tutorial добавляем в справочник LU_YEAR ещё один год,
создаем отчет куда включаем атрибут Year и добавляем туда фильтр с custom expression, вот таким:
Код: plaintext
1.
 ApplyComparison ("#0 not in (select distinct YEAR_ID from LU_MONTH)", Year@ID)

Такой выход работает, проверено.
В восьмерке ещё можно написать сиквел явно :)
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930060
MSTR_Fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможный вариант для тех кто не знает сиквел и не умеет писать apply функции:
фильтр вычисляющий искомое множество как разность всего множества клиентов и множества клиентов имеющих лицевые счета (оператор AND NOT).
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930077
Фотография АлександрФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж не очень тривиальный вариант, и чего-то я его не совсем не понял :-)
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930102
MSTR_Fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А чего непонятно-то? Мы по случаю профессионального праздника объясним %)
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930460
Виктор Сакович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлександрФВсех с Днем защитника Отечества !

Проблемка плевая, но я чего-то туплю, наверно

Ситуация такая
есть Таблица Клиентов
есть Таблица Лиц. Счетов

Клиент может иметь несколько счетов , или один счет или вовсе не иметь счетов. Т.е. Атрибут "Клиент" является родителем атрибута "Лиц Счет"

Вопрос:
Необходим отчет, который покажет список(реестр) клиентов , которые не имеют Лиц. счетов ? Как на СКЛе реализовать понятно , а вот какую цяпочку дернуть чего-то не пойму...

Задачка решается применением relationship filter. При этом Вы связываете атрибут Клиент с нулевым фильтром через таблицу - справочник счетов.
Я смоделировал ситуацию на туториал, удалив все подкатегории одной из категории товаров. После этого захотел вывести все категории, не имеющие подкатегорий. Получилось. SQL для Access выглядит следующим:

SQL Statements:

Pass0 - Duration: 0:00:00.01
create table ZZTLH00EL9TRF000 (
CATEGORY_ID BYTE)


Pass1 - Duration: 0:00:00.00
insert into ZZTLH00EL9TRF000
select distinct r11.[CATEGORY_ID] AS CATEGORY_ID
from [LU_SUBCATEG] r11

Pass2 - Duration: 0:00:00.00
select pa1.[CATEGORY_ID] AS CATEGORY_ID,
a11.[CATEGORY_DESC] AS CATEGORY_DESC
from [ZZTLH00EL9TRF000] pa1,
[LU_CATEGORY] a11
where pa1.[CATEGORY_ID] = a11.[CATEGORY_ID]

Pass3 - Duration: 0:00:00.27
drop table ZZTLH00EL9TRF000

[Analytical engine calculation steps:
1. Perform cross-tabbing
]
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930462
Фотография АлександрФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж, голова после вчерашнего болит, но и проблемка то пока не решена.
Есть еще альтернативные предложения ?
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930481
Фотография АлександрФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Виктор Сакович
Счас буду смотреть, спасибо
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930487
Виктор Сакович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлександрФTo Виктор Сакович
Счас буду смотреть, спасибо

Александр, прошу прощения, меня тоже заклинило. Конечно, этот фильтр нужно применить с обратным знаком. То есть SQL будет следующим.

SQL Statements:

Pass0 - Duration: 0:00:00.02
create table ZZTLH00EM37RF000 (
CATEGORY_ID BYTE)


Pass1 - Duration: 0:00:00.02
insert into ZZTLH00EM37RF000
select distinct r11.[CATEGORY_ID] AS CATEGORY_ID
from [LU_SUBCATEG] r11

Pass2 - Duration: 0:00:00.02
select a11.[CATEGORY_ID] AS CATEGORY_ID,
a11.[CATEGORY_DESC] AS CATEGORY_DESC
from [LU_CATEGORY] a11
where (not (exists (select *
from [ZZTLH00EM37RF000] pa1
where pa1.[CATEGORY_ID] = a11.[CATEGORY_ID])))

Pass3 - Duration: 0:00:00.02
drop table ZZTLH00EM37RF000

[Analytical engine calculation steps:
1. Perform cross-tabbing
]
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930642
Фотография АлександрФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал, действительно это срабатывает, но все-таки...
Мне необходимо в одном отчете показывать Реестр Всех клиентов с Лиц. Счетами и если у Клиента нет Лиц Счета то показывать допутим пустое значение.
В случае с если я в отчет добавляю два атрибута Клиент и Лиц Счет , то связка (a11.CLN_ID = a13.CLN_ID) появляется.
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930694
MSTR_Fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлександрФПопробовал, действительно это срабатывает, но все-таки...
Мне необходимо в одном отчете показывать Реестр Всех клиентов с Лиц. Счетами и если у Клиента нет Лиц Счета то показывать допутим пустое значение.
В случае с если я в отчет добавляю два атрибута Клиент и Лиц Счет , то связка (a11.CLN_ID = a13.CLN_ID) появляется.

Если я правильно Вас понял, Вам нужно Outer Join построить?
В MicroStrategy есть возможность провести Outer Join атрибутов. Для этого в Report Data Options отчета выбираем Attribute Join Type, и там указываем тип Join для каждого атрибута.

P.S. Если у Вас есть доступ в MicroStrategy Knowledge Base, то возможно Вас заинтересует документ TN4000-7X0-0600.
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32930805
Фотография АлександрФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSTR_Fan АлександрФПопробовал, действительно это срабатывает, но все-таки...
Мне необходимо в одном отчете показывать Реестр Всех клиентов с Лиц. Счетами и если у Клиента нет Лиц Счета то показывать допутим пустое значение.
В случае с если я в отчет добавляю два атрибута Клиент и Лиц Счет , то связка (a11.CLN_ID = a13.CLN_ID) появляется.

Если я правильно Вас понял, Вам нужно Outer Join построить?
В MicroStrategy есть возможность провести Outer Join атрибутов. Для этого в Report Data Options отчета выбираем Attribute Join Type, и там указываем тип Join для каждого атрибута.
В принципе я дергал эти типы Joinов, но результатов не добился .

P.S. Если у Вас есть доступ в MicroStrategy Knowledge Base, то возможно Вас заинтересует документ TN4000-7X0-0600.
Доступ есть счас погляжу...
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32931045
Фотография АлександрФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел сей документ TN4000-7X0-0600, вообщем не решает он мою проблему или решает, но частично :-)
Вариант с добавлением пустых в моем случае пустых Лиц счетов , отпадает, не могу я генерить такое количество не нужных Лиц Счетов
Вариант с добавлением факта попробовал, на простом отчете получил необходимый результат, но когда попытался подобовлять дополнительные атрибуты Лиц Счетов , сразу получил старый результат !
Однако, похоже проблема не плевая оказалаь :-))))
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32931080
MSTR_Fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлександрФОднако, похоже проблема не плевая оказалаь :-))))

Outer Join атрибутов отлично работает в MicroStrategy 8.
Делайте апргейд и проблема окажется плёвой :-)
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32931105
Фотография АлександрФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не уверен что 8.0 решит проблемКу.
в 7.Х тоже ж настройка с Outer Join атрибутов есть, но она по-моему не помогает !
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32931111
MSTR_Fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлександрФНе уверен что 8.0 решит проблемКу.
в 7.Х тоже ж настройка с Outer Join атрибутов есть, но она по-моему не помогает !

Да, это известный баг, в семерке эта настройка есть, но она не работает. Та статья на которую я ссылался и описывает, как его обойти.
В восьмерке все работает, могу показать :)
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32931128
Фотография АлександрФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSTR_Fan АлександрФНе уверен что 8.0 решит проблемКу.
в 7.Х тоже ж настройка с Outer Join атрибутов есть, но она по-моему не помогает !

Да, это известный баг, в семерке эта настройка есть, но она не работает. Та статья на которую я ссылался и описывает, как его обойти.
В восьмерке все работает, могу показать :)

Заходи, покажешь :-)
Прийдется смотреть 8.0
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32931140
MSTR_Fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлександрФЗаходи, покажешь :-)

Уж лучше Вы к нам :)

АлександрФПрийдется смотреть 8.0

Там масса приятных вещей добавилось, определенно стоит посмотреть...
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32931149
Фотография АлександрФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так из-за бага и нерешенной проблемы тратяться деньги :-)
...
Рейтинг: 0 / 0
Реестр Лицевых Счетов (MSTR)
    #32931174
MSTR_Fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлександрФВот так из-за бага и нерешенной проблемы тратяться деньги :-)

AFAIK, если Вы купили поддержку, то все обновления Вы получаете без дополнительных затрат, платите только за новую функциональность. Так что все честно :)
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Реестр Лицевых Счетов (MSTR)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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