Как получить данные в соответствии с определенной пользователем датой в таблице?

#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.

Тем не менее, как, когда и где вы пытаетесь ВЫЧИСЛИТЬ ПАРАМЕТР, не говоря уже о том, чтобы основываться на нем самом?