Hello, can someone please help me write a MAQL met...
# gd-beginners
j
Hello, can someone please help me write a MAQL metric that uses CASE with aggregation?
m
Hi Jab, please see the following documentation that will help you with this and which also covers aggregation: https://www.gooddata.com/docs/cloud/create-metrics/maql/conditionals/case/
j
Hi @Michael Ullock - the documentation mentioned is the documentation I was guided by when I wrote my metric, but I'm getting errors around various points in the code. Do you have any thoughts by any chance?
Copy code
SELECT SUM(
    SELECT CASE 
        WHEN #Q124
          As Of Date >= 2024-01-01 
          AND As Of Date <= 2024-03-31 
          AND CURRENT_DATE() >= As Of Date
          THEN Balance Sheet Balance,
        WHEN #Q224
          As Of Date >= 2024-04-01 
          AND As Of Date <= 2024-06-30 
          AND CURRENT_DATE() >= As Of Date
          THEN Balance Sheet Balance,
        WHEN #Q324
          As Of Date >= 2024-07-01 
          AND As Of Date <= 2024-09-30 
          AND CURRENT_DATE() >= As Of Date
          THEN Balance Sheet Balance,
        WHEN #Q424
          As Of Date >= 2024-10-01 
          AND As Of Date <= 2024-12-31
          AND CURRENT_DATE() >= As Of Date
          THEN Balance Sheet Balance
        ELSE 0
    END
 ) AS QTD_Delta
[9:14 AM] Jad Jabareen I also tried a version where the Date casting would contain the As Of Date field:
Copy code
SELECT SUM(
    SELECT CASE 
        WHEN #Q124
          Date (As Of Date) >= 2024-01-01 
          AND Date (As Of Date) <= 2024-03-31 
          AND CURRENT_DATE() >= Date (As Of Date)
          THEN Balance_Sheet_Balance,
        WHEN #Q224
          Date (As Of Date) >= 2024-04-01 
          AND Date (As Of Date) <= 2024-06-30 
          AND CURRENT_DATE() >= Date (As Of Date)
          THEN Balance_Sheet_Balance,
        WHEN #Q324
          Date (As Of Date) >= 2024-07-01 
          AND Date (As Of Date) <= 2024-09-30 
          AND CURRENT_DATE() >= Date (As Of Date)
          THEN Balance_Sheet_Balance,
        WHEN #Q424
          Date (As Of Date) >= 2024-10-01 
          AND Date (As Of Date) <= 2024-12-31
          AND CURRENT_DATE() >= Date (As Of Date)
          THEN Balance_Sheet_Balance
        ELSE 0
    END
) AS QTD_Delta
m
I have responded to your DM 🙂