#tableau-api #reporting #tableau-desktop
Вопрос:
Я создаю панель мониторинга таблицы, и она должна загружать данные в соответствии с датой, которую вводит пользователь. Это та логика, которую я пытаюсь использовать.
select distinct XX.ACCOUNT_NUM, (A.TOTAL_BILLED_TOT-A.TOTAL_PAID_TOT)/1000 arrears, ((A.TOTAL_BILLED_TOT-A.TOTAL_PAID_TOT)/1000 - XX.SUM_BILL ) TILL_REF_JUL20 FROM ( select /* parallel (bill ,40 ) */ distinct account_num, sum(INVOICE_NET_mny INVOICE_TAX_mny)/1000 SUM_BILL from bill where account_num in (Select account_num from MyTable) and trunc(bill_dtm) gt; ('07-Aug-2021') –-Refmonth 1 month and 07 is a constant. Only month and year is changing and cancellation_dtm is null group by account_num )xx , account a where xx.ACCOUNT_NUM = A.account_num
Вот что я попробовал. Сначала был создан параметр с именем ref_Month. Затем создал вычисляемое поле с этим.
[Ref_Month]=MAKEDATE(DATETRUNC('year',(DATEADD('month', 1, [Ref_Month])), 07))
Но я получаю ошибку. Я использую живое соединение. Есть ли какой-нибудь способ достичь этого?
Ответ №1:
Я не понимаю, что пытается сделать это утверждение: [Ref_Month]=MAKEDATE(DATETRUNC(‘год’, (ДАТА начала(‘месяц’, 1, [Ref_Month])), 07))
Если Ref_Month-это дата, которая должна быть для того, чтобы DATEADD был действительной операцией, почему бы не сделать ее 7-м числом любого начального месяца и года, с которого вы начинаете? Тогда DATEADD («месяц», 1, [Ref_Month]) будет месяцем позже, все еще 7-го числа. Таким образом, вам вообще не нужны DATETRUNC или MAKEDATE.
Тем не менее, как, когда и где вы пытаетесь ВЫЧИСЛИТЬ ПАРАМЕТР, не говоря уже о том, чтобы основываться на нем самом?