
Explanation:
Box 1: Import
Import is the best storage mode for the Customer table in this scenario.
For a table with 0.5 million rows updated only once a day, Import mode offers the best balance of performance and functionality.
Why Import is the Best Choice
Performance: Data is stored in-memory using the VertiPaq engine, providing the fastest query response times compared to DirectQuery.
Manageable Size: A 0.5 million-row table is relatively small for Power BI's compression engine and will easily fit within the memory limits of even a Pro license (1 GB).
Update Frequency: Since the table is updated only daily, the near real-time capabilities of DirectQuery are unnecessary. A single scheduled refresh per day is sufficient to keep the data current.
Full DAX Support: Import mode supports the complete range of Data Analysis Expressions (DAX) and Power Query transformations, which are often restricted in DirectQuery.
Box 2: DirectQuery
For a FactSales table with 500 million rows that is updated once a minute, the best storage mode is DirectQuery.
Why DirectQuery is the optimal choice:
Real-time Data Freshness: Because the table updates every minute, Import mode is impractical; it would require constant, resource-intensive refreshes that likely couldn't keep up with a one- minute interval.
Large Data Volume: Handling 500 million rows in Import mode can lead to significant memory consumption and potentially exceed the 1 GB dataset limit for Power BI Pro. DirectQuery leaves the data in the source Azure SQL database, avoiding these local storage constraints.
Optimized Performance (Composite Model): By setting the FactSales table to DirectQuery and the small, static Dimension tables (Date and Product) to Import, you create a Composite Model.
This allows Power BI to cache the dimension data for fast slicing and dicing while querying the FactSales table in real-time only when necessary.

Box 3: Import
The best storage mode for the Fact Marketing table is Import.
Here is a breakdown of why Import mode is best compared to DirectQuery or Dual:
Size and Performance: The table has only 10 thousand rows, which is a very small dataset for Power BI's high-performance in-memory engine (VertiPaq). Data in Import mode is cached in memory, providing lightning-fast query performance when users interact with reports.
Update Frequency: The table is updated daily, which works well with scheduled refreshes in Import mode. Real-time data is not required, as is the case with the main Fact Sales table which updates every minute and uses DirectQuery.
Composite Model Interaction: The overall model is a composite model with the large Fact Sales table in DirectQuery mode. When small, relatively static tables (like your dimension tables and this small fact table) are set to Import, Power BI can generate efficient native SQL queries and optimize performance by leveraging cached data for those parts of the query.
Reference:
https://www.excelgoodies.com/blog/import-vs-directquery-vs-live-connection-power-bi-guide
https://www.thedataschool.co.uk/zainul-abedin-natha/power-bi-storage-modes-explained-import- directquery-and-dual