Использование SELECTEDVALUE в PowerBI - PullRequest
1 голос
/ 16 июня 2020

У меня есть таблица, содержащая образцы данных из прикрепленного изображения.

sample data

Образец таблицы можно интерпретировать следующим образом: У меня есть список клиентов с Customer_id, Customer_name и Email, у которых есть учетная запись на одном или нескольких сайтах электронной коммерции. Каждый сайт электронной торговли можно идентифицировать по столбцу EcommerceSite_Id. Если у клиента более одной учетной записи (например, на EcommerceSite_Id = 111, а также на EcommerceSite_Id = 112) GlobalClient_Id будет иметь то же значение (например, у Джона есть учетная запись на следующих EcommerceSite_Id: 111, 113 и 114. Следовательно, у него есть тот же GlobalClient_Id - «11», который присваивается на основе некоторых автоматических c критериев - в этом примере адрес электронной почты).

Чего я хочу достичь:

Используя срез с в столбце EcommerceSite_Id при выборе EcommerceSite_Id 114 он должен отображать всех клиентов с уникальным адресом электронной почты, у которых нет учетной записи в 114, с учетом GlobalClient_Id.

Следовательно, вывод должен быть

Output:

Таким образом, как вы можете видеть, я исключил следующие customer_ids: 5 и 9. У них нет учетной записи на 114, но я исключил их, потому что у них одинаковый ClientGlobal_Id с customers_ids 10 и 8, клиенты, у которых есть учетная запись на 114.

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

Не могли бы вы дать мне идею, как решить эту проблему?

1 Ответ

0 голосов
/ 19 июня 2020

Добро пожаловать в SO. Вот одно из решений, которое может сработать для вас:

Шаг 1. EcommerceSite_Id необходимо добавить в отдельную таблицу - он будет содержать отдельные идентификаторы:

enter image description here

Вот как должна выглядеть модель данных:

enter image description here

Шаг 2. Создать меру

Для каждого клиента мера будет подсчитывать количество строк, в которых появился выбранный EcommerceSite_Id:

mExclude = 
    var EcommerceSite = SELECTEDVALUE(ES[EcommerceSite_Id])
    var ThisCustomer = SELECTEDVALUE(CustomerData[Customer_name])
    var Check = COUNTROWS(FILTER(ALL(CustomerData), CustomerData[Customer_name] = ThisCustomer && CustomerData[EcommerceSite_Id] = EcommerceSite))
return
    Check + 0

При добавлении в таблицу и выборе одного EcommerceSite_Id (используйте ваша новая таблица в качестве среза), вы получите следующие результаты:

enter image description here

Шаг 3. Завершение

Наконец, удалите mExclude из таблицы и добавьте его в фильтры таблицы. Установите для него значения фильтрации, равные нулю.

enter image description here

Конечный результат:

enter image description here

...