как рассчитать оборот в пауэрби - PullRequest
0 голосов
/ 28 августа 2018

Я хочу создать отчет в силе Bi, который показывает оборот за каждый год, но в моей базе данных оборот не может быть равен общей сумме счетов, потому что могут быть вычеты активов. поэтому в моей базе данных есть таблица operation_code , которая содержит столбец SENS. Этот столбец указывает, является ли эта операция входной или выходной, и оборот будет рассчитываться следующим образом: if (CODE_OP.SENS = output), + sum (ENT.HTMT / ENT .DEVP) иначе, если (CODE_OP.SENS = input), - sum (ENT.HTMT / ENT.DEVP) я сделал тест с утверждениями SQL:

SELECT YEAR(ENT.PIDT) ,T020.SENS,
CASE 
     WHEN T020.SENS= 2 THEN 
      sum (ENT.HTMT / ENT.DEVP) 
      WHEN T020.SENS = 1 THEN -1 * sum (ENT.HTMT / ENT.DEVP) 
    END as CA FROM ENT
left join T020  on 
    T020.OP = ENT.OP 
WHERE ENT.PICOD=4 AND ENT.TICOD='C'  AND ENT.DOS=998
GROUP BY YEAR(ENT.PIDT)--,T020.SENS

но когда я пытаюсь сделать это в мощном BI, используя DAX, создав меру

Measure = 

Switch ( True();

 ALL(T020[SENS])=2,0;SUM(ENT[HTMT])/SUM(ENT[DEVP]) ;

 ALL(T020[SENS])=1,0; SUM(ENT[HTMT])/(SUM(ENT[DEVP])) 
 ) 

ошибка появляется, когда я пытаюсь использовать меру, что невозможно отобразить визуальный элемент. введите описание изображения здесь

1 Ответ

0 голосов
/ 28 августа 2018

Следующий DAX должен сделать трюк:

Measure = 
CALCULATE(
    SUMX(ENT, DIVIDE(ENT[HTMT], ENT[DEVP])),
    T020[SENS] = 2
) 
- CALCULATE(
    SUMX(ENT, DIVIDE(ENT[HTMT], ENT[DEVP])),
    T020[SENS] = 1
)
...