Best practice Azure Datawarehouse for less data-movements
For Azure SQL Data Warehouse, unless you have have millions of records, then it's unlikely you will really benefit from clustered columnstore indexes.  In fact this could even be detrimental to performance.  For smaller volume tables, you would probably be better off with either heap (for fast load) or clustered index.  ROUND_ROBIN will at least ensure even distribution.  If you do plan to hash distribute your table, ensure your chosen hash column will give even distribution, ie has a large number of distinct values.  What is EMP_BK for example?

I would generally recommend having a table to store dates, rather than some trick construct.  The table is likely to scale better.  As the datatype is date, it again seems unlikely there will be enough rows in this table to justify clustered columnstore.  Try this with clustered index instead.

Have a read through the 'Hash distribute large tables' section in this article:

https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-best-practices

Just as an observation, all columns in your tables are nullable, which would be bad for a dimensional model (you cannot build cubes on NULLs) and generally does not represent good data modelling.

If you have a genuine performance problem, consider posting an EXPLAIN plan and give an idea of the number of rows in your table and the type of data.  As mentioned, for your larger tables, to avoid data movement, hash distribute your tables on the same column.