PowerBI — Подсчитайте количество строк со значением в качестве пользователя таблицы

#powerbi #dax

Вопрос:

Не совсем уверен, как сформулировать этот вопрос, но я объясню здесь:

У меня есть стол, который выглядит так:

Пользователь Реквизиты Задачи
Джон 100 5
Сэм 50 3

Все эти значения поступают из одной вызываемой таблицы taskbin .

Я пытаюсь добавить столбец, который отображает количество строк с пользователем в отдельной таблице под названием qabin .

qabin Таблица выглядит так

КАИД Заявитель КАер
20 Джон Сэм
21 Сэм Джон

В принципе, мне нужно подсчитать, сколько раз John появляется в Submitter поле qabin таблицы.

Я мог бы добавить его в представление таблицы, чтобы он выглядел так:

Пользователь Реквизиты Задачи Количество отправленных
Джон 100 5 1
Сэм 50 3 1

Я попытался просто добавить количество отправителей в представление таблицы, но оно показывает общее количество строк вместо использования правильного пользователя, как указано в таблице.

Мы будем признательны за любую помощь.

Ответ №1:

Если вы присоедините taskbin к таблице qabin для пользователя, вы можете показать значение «Пользователь» из taskbin и выполнить измерение, которое подсчитывает строки в qabin в таблице. Что — то вроде этого может сработать

Количество отправленных = количество отсчетов(«квадмин»).

Комментарии:

1. В моей модели я user_name связан как Submitter с тем, так и QAer с другим . Не уверен, что это вообще проблематично — я хочу иметь возможность переключаться между двумя графами, если это необходимо.

2. Другими словами, мне действительно просто нужно выяснить, как вставить User столбец в запрос dax, чтобы я мог использовать CALCULATE(COUNTROWS( , где qabin[Submitter]=UserOnWhicheverRow

3. Я не знаю, как присоединить taskbin к таблице qabin у пользователя. Это что-то сделано в модели?

4. В своей модели я user_name присоединился к Submitter и QAer — я думаю, что, возможно, именно поэтому у меня возникли проблемы. Я попытался просто соединить его с одним, но это, похоже, ничего не исправило, так что иди.

5. @пользователь1274820, Попробуйте сделать это, просто присоединившись к пользователю. Если вы хотите иметь 2 соединения, одно из них будет неактивным. Затем вам нужно будет выбрать соединение/Связь, которую вы хотите использовать с отношениями пользователей в фильтре.

Ответ №2:

Если эти две таблицы по какой-то причине не связаны

 Column =
CALCULATE (
    COUNTX (
        FILTER ( qabin, qabin[Submitter] = CALCULATE ( MAX ( taskbin[User] ) ) ),
        qabin[Submitter]
    )
)
 

Решение

Комментарии:

1. Почему MAX(taskbin[User]) ? Не уверен, что понимаю, что это значит

2. Код передает отфильтрованную таблицу COUNTX . FILTER фильтруется qabin[Submitter] по текущему видимому taskbin[User] , доступному через CALCULATE ( MAX ( taskbin[User] ) , и поскольку код завернут внутрь COUNTX , он выполняет итерацию, т. Е. выбирает видимое taskbin[User] в данный момент и сканирует все qabin , чтобы найти совпадение, где qabin[Submitter]=currently visible taskbin[User] и возвращает количество.

3. По какой-то причине я получаю одинаковые значения при просмотре количества полей Отправителя и получателя. На самом деле мне нужно получить их обоих. Это показывает, что все вытащили/отправили одинаковые суммы. Я знаю, что в приведенном мною примере они равны, но на самом деле они должны быть разными, и все числа идентичны независимо от того, смотрю ли я на количество Отправителей или отправителей.

4. Возможно, я на самом деле проделал чертовски плохую работу, объясняя свои настройки столов. Таблицы на самом деле представляют собой сотни строк, в которых задачи/кредиты являются СУММОЙ всех сложенных строк. Я показываю их в таблице, которая показывает их сумму. Таблица QAs также содержит сотни строк, в каждой из которых перечислены QAer и Отправитель. Идк, если это вообще поможет — извините.

5. Пожалуйста, предоставьте примеры данных, характерных для вашей проблемы.