Search code examples
tableau-apireportingtableau-desktop

How to get data according to a user defined date in Tableau?


I am creating a tableau dashboard and it should load data according to the date the user enters. This is the logic that I am trying.

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) > ('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

Here is what I tried. First created a parameter called ref_Month. Then created a calculated field with this.

[Ref_Month]=MAKEDATE(DATETRUNC('year',(DATEADD('month', 1, [Ref_Month])), 07))

But I am getting an error. I am using a live connection. Is there any method to achive this?


Solution

  • I don't understand what this statement is trying to do: [Ref_Month]=MAKEDATE(DATETRUNC('year',(DATEADD('month', 1, [Ref_Month])), 07))

    If Ref_Month is a date, which it has to be for DATEADD to be a valid operation, why not make it the 7th of whatever starting month and year you are starting with? Then DATEADD('month',1, [Ref_Month]) will be a month later, still on the 7th. So you don't need DATETRUNC or MAKEDATE at all.

    That said, how, when, and where are you trying to COMPUTE a PARAMETER, let alone based on itself?