TabularEditor3 icon indicating copy to clipboard operation
TabularEditor3 copied to clipboard

Detect Schema Change not working with some tables

Open edhans opened this issue 1 year ago • 3 comments

Describe the issue I created a Shared Expression that was a connection to a dataflow. It contained just the necessary navigation steps.

Then I created a table that used that dataflow as the source, and then selected a few columns. When I right-click to detect schema change, it says there are no changes detected. But my table has NO columns, so there should be a lot of changes.

If I load the M code from the Shared Expression into the table partition directly, detect schema change works. However, I need it in the Shared Expression because there are some changes that I will ultimately need to do that will affect the table and other downstream Shared Expressions and Tables.

One thing that is interesting is when I tell it to detect schema changes, it immediately comes back with no schema changes detected. It doesn't show the "detecting changes" dialog box while it is thinking. So something is either broken, or I have an improper setting. The Shared Expression is set to Kind: M, the Table property Mode: Import, and the partition Mode is set to Import, though it was Default when I started, but changing to Import didn't help.

image

So either there is some sort of bug, or I am missing something in the settings. I am constantly creating tables using Shared Expressions as the source, so a bit stumped.

** Which version are you currently using? ** Tabular Editor 3.9 Enterprise

To Reproduce Power BI Service

Steps to reproduce the behavior:

  1. Create Shared Expression with connection to dataflow. I used the PowerPlatform.Dataflows() connector. Set the kind to M
  2. Create a table that is essentially let Source = #"Shared Expression" in Source
  3. Save model
  4. Right-click on the table and Detect Schema changes.

It should bring in the columns. It isn't.

Windows 10.

Full table properties: image

full partition properties image

full shared expression properties: image

edhans avatar Aug 02 '23 21:08 edhans

I am leaning towards this is a bug with how the PowerPlatform.Dataflows connector is read. If I use PowerBI.Dataflows in the shared expression it works, or if I use PowerPlatform.Dataflows in the table partition directly it works.

edhans avatar Aug 02 '23 21:08 edhans

Hi @edhans

This seems like a bug - we'll investigate and get back to you.

Best Regards

David - Tabular Editor 3 Support

DBojsen avatar Aug 04 '23 06:08 DBojsen

Thanks David. I've done a little more testing and here is what I have witnessed so far:

  • PowerPlatform.Dataflows() connector in the partition works.
  • PowerPlatform.Dataflows() connector in the Shared Expression for detecting schema changes doesn't work. Refreshing data works fine.
  • PowerBI.Dataflows() connector works in both the partition and shared expression.

My current workaround is to use PowerBI.Dataflows() to get the table schema set, then swap it out for PowerPlatform.Dataflows() when I need to take advantage of query folding against a dataflow with the enhanced compute engine turned on. If I subsequently need to make any other minor changes (adding removing < 3 columns or so) I do it manually.

edhans avatar Aug 04 '23 14:08 edhans