Table Editor Limitations
As with all custom visuals developed for Power BI, VTE is subject to the following limitations due to Microsoft policies:
- Naming Restrictions: Editable columns and tables in the Power BI report must retain the same names as in the data source.
- SSAS Models: Names should match the entities visible in your model or report Fields sections.
- SQL Data Source: Entity names must match those in the SQL tables (example, if your table in SQL is called Customer, it should not be called Customers in your report). This rule also applies to field/column names. Column headers can be modified in the [Column properties] section of the visual.
- Unsupported Characters: Table names cannot contain characters such as . (dot), [, ], {, }, and system-reserved ones. Dots can exist in schema names. If your table name contains unsupported characters, create a view that complies with the required format and use that view for write-back.
- Aggregation Limitations: You cannot perform aggregations on fields if you want to modify their values. Fields must be set to “Don’t summarize” in the Visualizations » Fields » Values section. While you can display aggregated values, you cannot modify those inputs.
- Record Display Limit: Custom visuals in Power BI have a default limitation set by Microsoft, allowing only 30,000 records to be displayed at one time. If your table has more rows, use slicers to edit a subset of the data for a seamless workflow.
- Write-Back to Measures: VTE does not support write-back to measures, only row-level data can be modified. To change measure values, use the Data Entry Matrix (DEMx) visual. VTE is intended for modifying descriptive, dimension-type data.
- Data Types for Selection and Search Box: Columns used as data sources for Selection and Search boxes cannot have TEXT or NTEXT data types unless you use the SmartFilter technique (described in the Selection column type section under [Column properties]). To ensure compatibility, execute a SELECT DISTINCT on the column. If an error occurs, change the data type to VARCHAR(MAX) or NVARCHAR(MAX).
- Slowly Changing Dimensions: Modifying Slowly Changing Dimensions is not supported automatically. Implement your own logic, such as a SQL trigger, to handle this scenario.
- Complex Security Rules: Implement complex security rules using built-in SSAS roles with DAX or Row Level Security policies in SQL Server. You can control write-back at the row level both front-end and back-end, as detailed in the Write-Back Security chapter.
- Non-Writable Views: Views that serve as data sources for the table must be writable. If not, materialize the view into a physical table, reduce its complexity, or create INSTEAD OF INSERT | UPDATE triggers. Non-writable views typically contain complex SQL queries with multiple joins, CASE statements, CTEs, and aggregations. Test the view by duplicating it and executing an INSERT statement. If write-back still fails, use SELECT DISTINCT in the view definition.
- On-Premises Power BI Report Server: Ensure you have at least the January 2019 version of Power BI Report Server and Power BI Desktop 2019 January or newer versions.