The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi guys,
Has anyone successfully constructed a reverse hybrid table with incremental refresh? (having the cold data in DQ and hot data in import mode)
I was trying to follow some tutorials but just couldn't ever get it to work.
The dataCoverageDefinition property is great, but where do I apply it? Do I just set up a standard incremental refresh and have it refreshed first, then go to edit the partitions?
https://www.youtube.com/watch?v=Hpx52kOodPc
https://www.youtube.com/watch?v=1GvVCHeqJz4
could someone have done similar practices to share some experience with me? Really appreciated!
Solved! Go to Solution.
Hi @dmkblesser ,
Thanks for your response. You're looking for a Reverse Hybrid Table where recent data is in Import mode and historical data is in DirectQuery.
Have you tried this approach.
Set up Incremental Refresh in Power BI to create partitions.
Use Tabular Editor or TOM API to convert older partitions to DirectQuery.
Apply dataCoverageDefinition to specify which partitions should be Import vs. DirectQuery.
Validate Queries to ensure smooth performance.
Have you tried modifying partitions after setting up incremental refresh? Let us know where you're facing challenges.
Helpful References : Use hot and cold table partitions to optimize very large Power BI data models | Microsoft Learn.
Regards,
Yugandhar.
Hi! we have tried to implement the hybrid model. The idea behind this was that one partition would include recent data no longer than 2 years, and the second partition would include data that is older than 2 years.
1 fact table multiptple partitions
1) Recent data less then 2 years - Import mode
2) Data older then two years - Direct mode
we have created partitions.tmdl file where we have set all partitions for the fact table (example view), like it was suggested in the article: https://learn.microsoft.com/en-us/analysis-services/tom/table-partitions?view=sql-analysis-services-...
Hi @Kidata , I was able to make it work with only the fact table. That was purely for experiment and it won't apply to business use case. In my experiment, I only have one fact table which has the date column, then I create a year column based of that date column. In the DataCoverageDefinition, I defined it something like 'Fact'[year] in {2024,2023}. With all the other set up similar to your desciption, it worked. However, it just not realstic that you only have a fact table and I'm not able to make it work with combinations between fact and dim table.
Hi @dmkblesser ,
we wanted to check in as we haven't heard back from you. Did our solution work for you? If you need any more help, please don't hesitate to ask. Your feedback is very important to us. We hope to hear from you soon.
Thank You.
Hi @dmkblesser ,
We noticed we haven't received a response from you yet, so we wanted to follow up and ensure the solution we provided addressed your issue. If you require any further assistance or have additional questions, please let us know.
Your feedback is valuable to us, and we look forward to hearing from you soon.
Thank You.
Hi @dmkblesser ,
As we haven’t heard back from you, we wanted to kindly follow up to check if the solution we provided for your issue worked for you or let us know if you need any further assistance?
Your feedback is important to us, Looking forward to your response.
Thank You.
Hi @dmkblesser ,
Thanks for reaching out to the Microsoft Fabric community. On the basis of your question and the suggested solution by the @lbendlin , We reaching out to check whether you have managed to set up the desired configuration using TMSL/XMLA commands. Do you get a hybrid table successfully configured with incremental refresh or have any issues in setting up the partitioning?
Thank you, @lbendlin for sharing your valuable insights.
If you need any additional details, feel free to ask we are here to assist you.
Best regards,
Yugandhar.
Hi @V-yubandi-msft , unfortunately, it didn't work out for me. Could you please provide some examples or detailed steps to set up a sample table? Thank you!
Hi @dmkblesser ,
Thanks for reaching out. We found a related thread that might help you with your issue. Check out the link below. it could have the answers you're looking for.
Link: Incremental Refresh and Hybrid Tables in Power BI - Microsoft Fabric Community
If you need any more help or additional info, don't hesitate to let us know we're here and happy to assist.
If my response resolved your query, kindly mark it as the Accepted Solution to assist others. Additionally, I would be grateful for a 'Kudos' if you found my response helpful.
Hi @V-yubandi-msft , the link you shared is a regular hybrid table. but I'd like to have it in a reversed order. What I mean is having import for the most recent data and DQ for the historical portion.
Hi @dmkblesser ,
Thanks for your response. You're looking for a Reverse Hybrid Table where recent data is in Import mode and historical data is in DirectQuery.
Have you tried this approach.
Set up Incremental Refresh in Power BI to create partitions.
Use Tabular Editor or TOM API to convert older partitions to DirectQuery.
Apply dataCoverageDefinition to specify which partitions should be Import vs. DirectQuery.
Validate Queries to ensure smooth performance.
Have you tried modifying partitions after setting up incremental refresh? Let us know where you're facing challenges.
Helpful References : Use hot and cold table partitions to optimize very large Power BI data models | Microsoft Learn.
Regards,
Yugandhar.
It's also possible to convert an Import table to a hybrid table by adding a DirectQuery partition using Tabular Model Scripting Language (TMSL) or the Tabular Object Model (TOM) or by using a third-party tool. For example, you can partition a fact table such that the bulk of the data is left in the data warehouse while only a fraction of the most recent data is imported. This approach can help to optimize performance if the bulk of this data is historical data that is infrequently accessed. A hybrid table can have multiple Import partitions, but only one DirectQuery partition.
Is that what you are trying to do?
Hi @lbendlin, thanks for the reply. The part you refered to, it covers the hybrid table part but not the incremental refresh part. what I'm trying to achieve is say I have data from 2020 till now.
I want 2020-01-01 - 2023-12-31 in DQ and 2024-01-01 to 7 days before today in archive (Import) and incrementally refresh the past 7 days data (import).
Use your favorite tool to set the partition refresh policy and the partition type