2016-11-09 36 views
0

我試圖格式1列基礎上有數字的格式是什麼值是不同的數字格式:SSRS同一列

我現在的表 enter image description here

我想獲得它是一個百分比,除非說明中說的是固定稅,那麼我希望它是一種貨幣。

任何想法?

SELECT t1.property, '100' AS tran_code, 'ROOM RATE' AS description, NULL AS tax_amt, @rate AS amount 
    FROM z_taxtype_detail t1 INNER JOIN z_trancode t2 ON t1.tran_code = t2.code 
     WHERE t1.tax_type = 'ROTX' 
     AND t1.property = @property 
      GROUP BY t1.property 
UNION ALL 
SELECT t1.property, t2.code, t2.description, (t1.tax_amt/100), 
     (CASE WHEN t1.tax_base = '1' THEN @rate * (t1.tax_amt/100) 
      WHEN t1.tax_base = '4' THEN t1.tax_amt ELSE 0 END) AS tax_amt 
    FROM z_taxtype_detail t1 INNER JOIN z_trancode t2 ON t1.tran_code = t2.code 
     WHERE t1.tax_type = 'ROTX' 
     AND t1.property = @property 

回答

0

試試這個:

=IIF(Fields!Description.Value="FLAT TAX", 
Format(CDBL(Fields!Tax_Amount.Value),"C3"),Format(CDBL(Fields!Tax_Amount.Value),"P2") 
) 

UPDATE:看來你是從查詢,這可能會導致錯誤,而表達式求值傳遞NULL值。

嘗試使用此查詢:

SELECT t1.property, '100' AS tran_code, 'ROOM RATE' AS description, 0 AS tax_amt, @rate AS amount 
    FROM z_taxtype_detail t1 INNER JOIN z_trancode t2 ON t1.tran_code = t2.code 
     WHERE t1.tax_type = 'ROTX' 
     AND t1.property = @property 
      GROUP BY t1.property 
UNION ALL 
SELECT t1.property, t2.code, t2.description, (t1.tax_amt/100), 
     (CASE WHEN t1.tax_base = '1' THEN @rate * (t1.tax_amt/100) 
      WHEN t1.tax_base = '4' THEN t1.tax_amt ELSE 0 END) AS tax_amt 
    FROM z_taxtype_detail t1 INNER JOIN z_trancode t2 ON t1.tran_code = t2.code 
     WHERE t1.tax_type = 'ROTX' 
     AND t1.property = @property 

讓我知道,如果這有助於。

+0

它給我一個錯誤信息:文本框'tax_amt'的值表達式指的是'Description'字段。報告項目表達式只能引用當前數據集範圍內的字段,或者如果在聚合內部,則指定指定的數據集範圍。字段中的字母必須使用正確的大小寫。 – Femmer

+0

@Femmer,我已更新表達式 –

+0

同樣的錯誤消息。 – Femmer

0

爲「稅額」列添加一個表達式。

=IIF(Fields!Description.Value <> "Flat Tax", FormatPercent(Fields!Tax_Amt.Value,3), FormatNumber(Fields!Tax_Amt,2))

+0

它給了我一個錯誤消息:文本框'tax_amt'的值表達式指的是'Description'字段。報告項目表達式只能引用當前數據集範圍內的字段,或者如果在聚合內部,則指定指定的數據集範圍。字段中的字母必須使用正確的大小寫。 – Femmer

+0

說明列在數據集中是否有其他名稱? –

+0

不,這只是描述 – Femmer