Я пытаюсь форматировать 1 столбец, чтобы иметь числовой формат в зависимости от значения:

Моя текущая таблица введите описание изображения здесь

Я пытаюсь получить процентную ставку, за исключением случаев, когда в описании говорится о фиксированном налоге, тогда я хочу, чтобы это была валюта.

Любые идеи?

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
Femmer 9 Ноя 2016 в 23:36

2 ответа

Лучший ответ

Попробуй это:

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

ОБНОВЛЕНИЕ: Похоже, вы передаете значение 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
alejandro zuleta 9 Ноя 2016 в 21:24

Добавьте выражение для столбца Сумма налога.

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

0
SS_DBA 9 Ноя 2016 в 20:54