DAX: фильтр на фильтре с отсчетами - PullRequest
0 голосов
/ 31 января 2019

Я работаю в наборе данных (отношениях), который отслеживает владение фирмами.Если у фирмы 8 владельцев, у компании есть 8 строк в наборе данных, по одному на каждого владельца.Владелец может иметь несколько фирм.Я хочу рассчитать столбец, который для строки показывает, сколько фирм принадлежит конкретному владельцу в этом секторе.Это что-то вроде;для каждой строки найдите, сколько раз владелец или владельцы появляются в базе данных отношений, но учитывайте только те, которые имеют такой же отраслевой код, что и материнская фирма.Это то, что я имею до сих пор:

=
CALCULATE (
    COUNTROWS ( Relations );
    FILTER (
        Relations;
        Relations[participantnumber] = EARLIER ( Relations[participantnumber] )
    );
    FILTER ( Relations; Relations[127_industry] = Relations[127_industry] )
)

Но это просто дает мне общее количество фирм, в которых упоминается владелец, независимо от отраслевого кода.Спасибо!

1 Ответ

0 голосов
/ 31 января 2019

Попробуйте:

=
CALCULATE (
    COUNTROWS ( Relations );
    ALLEXCEPT( Relations; Relations[participantnumber]; Relations[127_industry])
    )

Как это работает: для каждой строки вам необходим доступ ко всей таблице, чтобы можно было сосчитать все соответствующие отношения.Однако вы хотите отфильтровать общее количество по участникам и отрасли, которые являются текущими для строки.ALLEXCEPT делает это - он позволяет вам видеть всю таблицу при сохранении текущего участника и отрасли.

...