While scripting we have many fields which only used to join with other tables like "IDs" etc. Now these fields also show on sheets where we create analysis. These fields are very much irrelevant for end users and annoying. Can we somehow hide these fields so that don't display on sheets and only make it limited to develop a data model and joining only.
You could use the feature of HidePrefix. After them these fields would be treated like the system-fields $Table, $Field and so on and are hidden in all objects unless the show system-fields checkbox is enabled. For this you need to prefix the fieldnames to a certain sign, for example an underscore:
I don't think you can remove them, I have had the same issue in the past. The solution I used was to start the ID fields with a Z. Such as ZCustomerId. This will put all of the IDs to the end of the drop down lists so not getting in the war of the user, putting them all in the same place but still there.