2016-08-23 6 views
0

Пытается написать расчет в таблице, который позволяет мне исправить уровень детализации по категории, где год равен назначенной дате.LOD (Уровень детализации), где Год =

Представьте выглядит как

{FIXED [REPORT CATEGORY] : AVG(DOLLARS PAID)} WHERE YEAR = 2015

ответ

1

У вас есть несколько вариантов.

1) Вы добавляете измерение YEAR к расчету LOD, а затем добавляете Year на карточку фильтра и устанавливаете на «2015». Ваш расчет будет выглядеть так:

Поскольку у вас нет YEAR, вам нужно создать рассчитанное поле для него, а затем ссылаться на него.

"ГОД": YEAR(APCD PAID ACCNTS DATE)

{ FIXED [REPORT CATEGORY], [YEAR]: AVG(DOLLARS PAID) }

2) Вы можете ограничить агрегацию только конкретный год в расчете, например, так:

{ FIXED [REPORT CATEGORY]: AVG(IF YEAR([APCD PAID ACCNTS DATE]) = 2015 THEN DOLLARS PAID END) }

- EDIT - -

Обновлено выше, потому что вы заявили, что используете DATE не число года.

+0

Благодарим за отзыв Nicarus! У меня на самом деле нет [ГОД] в качестве измерения, а полная дата в разделе [ПЛАТНАЯ ЧАСТОТА АККЕТ] как измерение. Я получаю ошибку, не могу сравнить значения datetime и string. Каков наилучший способ решить эту ошибку и ограничить данные до 2015 года? –

+0

{FIXED [PH_REPORT_CAT_DESC]: AVG (CASE [APCD PAID ACCNTS DATE] WHEN [APCD PAID ACCNTS DATE] = "2015" THEN [APCD_PAID_AMT] END)} –

+0

См. Мои обновления. Не сравнивайте строку «2015» с DATE - это не сработает. – Nicarus