Are you connecting to an extract? If so I often use Custom SQL, it's faster for the user as there are fewer calculations required in Tableau. Personally I prefer a faster dashboard that takes longer for the extract to load than a fast loading extract and slower dashboard.
Yes, currently I am creating an extract with this custom SQL and prepare dashboard in order to have faster dashboards (as you have mentioned above).
But as we know we something like Data Extract filters which we can define while creating extract itself. I was wondering if it is possible to create a condition/filter over there while creating extract using the joins I have made on Data canvas of tableau for above tables.
Not that I'm aware of - I think data extract filters are generally very simple allowing selection of a value from a field in the data - i.e. selecting North from the Region field. Happy to stand corrected on this one if things have moved on and this is now possible.