Как составить список записей с фильтром "NOT IN" на основе двух атрибутов в GoodData

Например, у меня есть эти таблицы:

 __vendors___     _______sales_______
|V_Cod|Name  |   |S_Cod |Item  |Price|
|1    |Alan  |   |2     |apple |10   |
|2    |Fred  |   |2     |sugar |5    |
|3    |Alex  |   |3     |rice  |9    |
|4    |David |   |3     |meat  |20   |

Я хочу перечислить всех продавцов, у которых нет записей в таблице продаж, но в редакторе MAQL следующая метрика не работает:

select count(V_Cod) where V_Cod not in (S_Cod)

Я также попытался подсчитать каждый код отдельно и затем вычесть один из них другим, но это не сработало (этот показатель действителен, но мне нужно увидеть имя поставщика в отчете, а GoodData - нет). позвольте мне выбрать vendor_name на вкладке HOW с этим показателем):

select (select count(V_Cod)) - (select count(S_Cod))

Есть еще один способ заставить этот счет работать?

1 ответ

Решение

Это рабочий подход. Вы можете использовать внутреннюю метрику для подсчета продаж по поставщикам и использовать ее вместе с функцией IFNULL. Затем вы можете использовать такую ​​метрику для фильтрации внешней метрики, которая является простым подсчетом поставщиков.

SELECT COUNT(V_Cod) WHERE (SELECT IFNULL(COUNT(S_Cod), 0) BY V_Cod)=0

В настоящее время необходимо использовать IFNULL, потому что поставщики, у которых нет продаж, иначе не будут возвращены внутренней метрикой, и, следовательно, условие не будет выполнено.

Эта метрика имеет размерность поставщика, так что вы сможете использовать V_Cod и Name в HOW.

Примечание: из примера не похоже, что S_Cod является точкой подключения в Sales (скорее всего, это похоже на ссылку на V_Cod). С точки зрения производительности, чтобы рассчитать количество продаж на одного поставщика, может быть лучше использовать COUNT(записи продаж) или COUNT(независимо от точки подключения продаж), а не COUNT(S_Cod), потому что механизм может выполнять простой подсчет без четкого,

SELECT COUNT(V_Cod) WHERE (SELECT IFNULL(COUNT(Records of sales), 0) BY V_Cod)=0
Другие вопросы по тегам