簡體   English   中英

如何在 sql 或 power bi 中創建計算行?

[英]How to create a calculated row in sql or power bi?

我正在嘗試對我寫的 SQL 的 2 行進行計算,這樣我就可以有3 行將是利潤並顯示金額是否可能

這個虛擬數據對任何公司都不真實!

見下文:

SELECT a.pcg_type GL_Acoount_Group,
     Abs(sum(b.debit-b.credit)) GL_Amount
FROM dolibarr.llx_accounting_account a
JOIN dolibarr.llx_accounting_bookkeeping b
  ON a.account_number = b.numero_compte
WHERE a.pcg_type IN ('INCOME', 'EXPENSE')
    ANDa.fk_pcg_version = 'PCG99-BASE'
GROUP BY a.pcg_type

結果:

團體。 金額

收入 379200

費用 65700

預期成績:

團體。 金額

收入 379200

費用 65700

利潤 313500

使用 ROLLUP 添加額外的行並在 SUM() function 中使用 CASE 語句將費用值視為負數進行計算

--MySQL
SELECT COALESCE(acc_type, 'Profit') "Group"
     , ABS(SUM(CASE WHEN acc_type = 'EXPENSE' THEN -amount ELSE amount END)) amt
FROM test
GROUP BY acc_type WITH ROLLUP

使用 UNION ALL 的另一種方法

SELECT acc_type "Group"
     , SUM(amount) Amt
FROM test
GROUP BY acc_type

UNION ALL

SELECT 'Profit' AS "Group"
     , SUM(CASE WHEN acc_type = 'EXPENSE' THEN -amount ELSE amount END) Amt
FROM test

請檢查這個 url https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=f859036ffcb3d808330bce5346daee1e

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM