Как получить не присоединенные предметы, используя Dax - PullRequest
0 голосов
/ 14 декабря 2018

Я работаю над проблемой Power BI dax.У меня есть таблица счетов-фактур (M) и таблица дилеров (1).Таблица счетов-фактур объединяется с несколькими другими таблицами, такими как распространители, товары и т. Д. Таким образом, я могу разделить данные счетов-фактур.Поскольку таблица дилеров соединена с таблицей счетов, я всегда получаю дилеров со значениями счетов.Как я могу получить "не выставленных счетов" дилеров, используя заявление Dax.Мне нужно, чтобы дилеры не выставляли счета, но их нужно выбирать по странам, регионам.Эквивалентный SQL-запрос должен выглядеть следующим образом.

выберите a. * из левого внешнего соединения b для a.id = b.a_id, где b.a_id равен нулю

Data Model enter image description here enter image description here

Вот то, что я пытался, но я думаю, что значения не верны.

TotalDealers = CALCULATE (COUNTROWS («дилеры»), ALL («дилеры»))

Спасибо!

1 Ответ

0 голосов
/ 14 декабря 2018

Если вам нужно количество дилеров без счетов, вы можете использовать что-то вроде этого:

Uninvoiced Dealers = 
COUNTROWS ( 
    FILTER ( 
        tbl_dealers,
        COUNTROWS ( RELATEDTABLE( tbl_invoice ) ) = 0
    )
)

Однако ваша схема не позволяет вам разделять неоплаченных дилеров по регионам, так как нет никакой связиопределить регион дилеров без счета-фактуры ...

Если регион неоплаченных дилеров определен с помощью таблицы salesrep, то необходимо добавить (неактивное) отношение между отделами продаж и регионами и использовать USERELATIONSHIP в качестве фильтра в вашей мере:

Uninvoiced Dealers = 
CALCULATE ( 
    COUNTROWS ( 
        FILTER ( 
            tbl_dealers,
            COUNTROWS ( RELATEDTABLE( tbl_invoice ) ) = 0
        )
    ),
    USERELATIONSHIP ( tbl_salesreps[region_id], tbl_regions[id] )
)
...