Я построил куб, содержащий информацию о продаже билетов.
У меня есть мера, которая отличается от количества номеров клиентов из таблицы фактов.
Непроданные билеты на каждое представление заносятся в таблицу фактов и им присваивается «специальный» номер клиента, который ссылается на фиктивную запись клиента.
Я бы хотел, чтобы количество клиентов не совпадало с "специальным" номером клиента, который используется для непроданных билетов.
Моя лучшая попытка на данный момент - создать вычисляемый показатель, который исключает один номер клиента из результатов. Для запроса, приведенного ниже, цифры верны.
WITH SET [RealPeople] AS
Filter([Customers].[CustomerNumber].CHILDREN,
[Customers].[CustomerNumber].CurrentMember.MemberValue <> -100)
MEMBER Measures.[Num Real Households] AS
DISTINCTCOUNT([RealPeople])
SELECT {Measures.[Num Households], Measures.[Num Real Households]} ON 0,
[Location].[PostalCode].CHILDREN ON 1
FROM Tickets
Но это не работает, если пользователь запрашивает то же измерение, которое содержит номер клиента. Когда это происходит, показатель [Num Real Households] возвращает общее количество отдельных номеров клиентов для каждого элемента атрибута в результатах вместо предоставления промежуточных итогов для каждого элемента атрибута.
Я справился с этим, создав скрытое измерение, которое содержит только номера клиентов. Я использую это измерение для набора RealPeople. Никто не будет запрашивать это измерение, поэтому я избежал проблемы, описанной выше.
Есть ли лучший способ сделать это?