Преобразование sql statemnt в Dax - PullRequest
0 голосов
/ 29 октября 2018

У меня есть заявление SQL с несколькими случаями, теперь я должен написать заявление в Dax Я попытался с помощью переключателя, но вывод не совпадает заявление sql:

CASE WHEN @STRIKER!='' OR @NONSTRIKER!='' THEN   (RUNS + (CASE WHEN BYES = 0 AND LEGBYES = 0 THEN OVERTHROW ELSE 0 END))            
             WHEN @BOWLER!='' THEN (RUNS + WIDE+ (CASE WHEN BALL.NOBALL > 0 AND (BALL.BYES > 0 OR BALL.LEGBYES > 0) THEN BALL.BYES + BALL.NOBALL + BALL.LEGBYES            
                        WHEN BALL.NOBALL > 0 AND BALL.BYES = 0 AND BALL.LEGBYES = 0 THEN BALL.NOBALL            
                        ELSE 0 END) + (CASE WHEN BYES = 0 AND LEGBYES = 0 THEN OVERTHROW ELSE 0 END))            
             ELSE GRANDTOTAL END ) AS RUNS  

1 Ответ

0 голосов
/ 02 ноября 2018

Во-первых, я бы упростил формулировку кейса,

Я полагаю, у вас есть утверждения case, потому что в вашем результате могут существовать NULLS? Вы можете просто попробовать

RUNS + 
WIDE + 
ISNULL(BALL.NOBALL,0) + 
ISNULL(BALL.BYES,0) + 
ISNULL(BALL.LEGBYES,0) + 
ISNULL(OVERTHROW,0)

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

Total = RUNS + WIDE + NOBALL + BYES + LEGBYES + OVERTHROW

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

удачи!

...