can Semantic metrics join with normal dim table

Hi All,
have some question regarding to the semantic fetures:
1.i have several metrics and want to join them to normal dim table and get dimension attributions for the metrics. wondering what would be the approach.
2. can we create metrics without aggregation fields? like if i want to create one metrics with multiple dim table to build a hierarchy metrics(without aggregation) how can i do that,
3. if i want to join different metrics together, can i restrict the join conditions or dbt will only allow it to automatically detect the join condition and now able to allow user to join by ourselves?

Thanks,
C