SQL Server MDX Query: все учетные записи участников и электронные письма участников с = 0 минут, используя CROSSJOIN AND FILTER - PullRequest
0 голосов
/ 22 июня 2019

Я новичок в SQL Server и пытаюсь получить запрос, чтобы показать членов для всех [Email] (т.е. адресов электронной почты пользователя), которые имеют (нулевые) значения для поля [Mins] И я также хочу столбец для [Имя учетной записи] пользователя (т.е. компании, в которой он работает).

Падение запроса с [Имя учетной записи] с ".Members" в конце - вот где я падаю. Все эти три поля находятся в разных таблицах, и я использую комбинацию CROSSJOIN И FILTER.

Я не уверен, что запрос не запустится, потому что:

  1. Я использую .Members неправильно, так как я использую для [Email] и [Account Name], ИЛИ
  2. У нас какие-то проблемы с памятью (что будет не в первый раз!).

Я новичок в SQL и нашел различные решения на StackOverFlow для частей проблемы, чтобы успешно собрать воедино приведенный ниже код, но я не смог собрать его вместе, добавив ".Members" после "[Account Name]" Запрос выполняется, но через пару минут ему не хватает памяти.

Если после «[Имя учетной записи]» я не включаю «.Members», запрос выполняется примерно через 17 секунд; однако, он просто показывает «Все» для имени учетной записи и не показывает учетную запись. Я просто хочу показать учетную запись рядом с электронной почтой!

'''
SELECT
    [Measures].[Sum of Mins]
        ON COLUMNS,
    CROSSJOIN(
        [vw_AccountData].[Account Name].Members,
            Filter (
                    [vw_UserData].[Email].Members,
                    [Measures].[Sum of Mins] = 0
                     ))
         ON ROWS
FROM [Model]  
'''

Ожидаемые / фактические результаты

1 Ответ

0 голосов
/ 23 июня 2019

Насколько я понимаю, для пользователей, которые имеют нулевые значения или нулевые значения для этого показателя [Показатели]. [Сумма Мин., Вы хотите указать свой электронный адрес и имя учетной записи. Я предполагаю, что у вас есть мера [Показатели]. [Сумма Мин.] И атрибуты измерения [vw_AccountData]. [Имя учетной записи] и [vw_UserData]. [Электронная почта] в вашем кубе

Select 
[Measures].[Sum of Mins]
ON COLUMNS,
filter 
(
([vw_AccountData].[Account Name].[Account Name],[vw_UserData].[Email].[Email]),
[Measures].[Sum of Mins] = 0
)
on rows
from 
[Model]
...