When you use ALL ( Online Sales ) you remove filters from every table that connects to Online Sales using Many to 1 relationship or the LEFT JOIN in SQL terms, this is the foundation of DAX, which is also known as expanded tables which basically means every time you use a full table you are referring to the expanded version.
This is why you are able to use RELATED, otherwise RELATED is useless if expanded version of the table isn’t being used because RELATED only acts like a ID Card/gate pass to allow access to columns of an expanded table.
Behind the scenes Sales is a big fat table with all the columns of Sales, Calendar, Promotions, Customers, Stores, and Products
Read more here: Expanded tables in DAX - SQLBI
Red cross means filter is removed from whole model when you use ALL ( OnlineSales )
When you use ALL ( Product[Category] ) You only remove filters from Products[Category] and any other filter from any table will still be active.
In case of a Snow Flake schema like the one below, Products expands to itself plus ProductsSubcategory and ProductsCategory. So If I use ALL ( Products ) I would remove filters from Products but also from Category and Subcategory as well. And Similarly Sales would expand to itself, plus Products, ProductsSubcategory, and ProductsCategory and other tables following Many to 1 relationship
There are ways to restore filters over ProductsSubcategory and Category using following:
I you use ALLEXCEPT you will notice that intellisense suggest all the columns of expanded tables related to the base table that you mention in the first argument of ALLEXCEPT
Measure 3 =
ALL ( Products ),
VALUES ( ProductsSubcategory )
If you use VALUES ( ProductsSubcategory ) Then you will also restore filters over ProductsCategory due to expanded tables.
In the Measure 3 the following happens, first you remove Filters from expanded Products Table and then you restore filters over expanded ProductSubcategory table.