![]() It is assumed that the reader is already somewhat familiar with C# and LINQ, as these aspects of Tabular Editors scripting capabilities will not be covered here. Furthermore, the wrapper provides convenient methods that turn many common tasks into simple one-liners. Simply press CTRL+Z after executing a script, and you will see that all changes made by the script are immediately undone. The main advantage of working through this wrapper is, that all changes will be undoable from the Tabular Editor UI. Please see Scripting API for a complete listing of objects, properties and methods in the Tabular Editor wrapper library. ![]() which all have corresponding wrapper objects. The same applies to any descendant objects, such as Table, Measure, Column, etc. The Model object is a wrapper of the class, exposing a subset of it’s properties, with some additional methods and properties for easier operations on translations, perspectives and object collections. The former contains methods and properties that allow you to manipulate all objects in the Tabular Model, whereas the latter exposes only objects that are currently selected in the explorer tree. The scripting API provides access to two top-level objects, Model and Selected. For this reason, Tabular Editor introduces Advanced Scripting, which lets advanced users write a script using C# syntax, to more directly manipulate the objects in the loaded Tabular Model. There may be many other common workflow tasks, which are not as easily performed through the UI however. The right-click context menu of the explorer tree provides a convenient way to perform many of these tasks, such as adding/removing objects from perspectives, renaming multiple objects, etc. For example, changing the Display Folder of multiple measures at once is just a matter of selecting the objects in the explorer tree and then dragging and dropping them around. The goal of the UI of Tabular Editor is to make it easy to perform most tasks commonly needed when building Tabular Models. Also, make sure to check out our script library C# Script Library, for some more real-life examples of what you can do with the scripting capabilities of Tabular Editor. Information in this document is subject to change. I'll report back here if anyone else is searching about this issue.This is an introduction to the Advanced Scripting capabilities of Tabular Editor. I submitted a ticket with Microsoft, so we'll see what they say. Currently you can't change the format string expression for datasets that might be connected to through excel, or risk what happened above. ![]() Now why this is occurring, and if there is a work around, i'm not sure. In this scenario it's returning around 3 x 10 x 1,513 x 12 x 198 = 107.8M rows. I highlighted the "CrossApply" line, because the engine is performing a crossjoin on all of these tables. You can see that additional SE queries are sent for each dimension table, returning the values of that column. Now lets look at what happens when we run the same query after modifying the format string expression: With Format String Expression I created a simple query with analyze in excel with 2,437 rows (removed grand totals as well): I'll recreate it below with Contoso: Without Format String Expression The formula engine then performs a cross join on each dimension table, so the record count can increase dramatically when bringing fields from 3+ dimension tables. Additional SE requests will be sent for columns you bring in from each dimension table. This generates an inefficient physical query plan, especially when brining in multiple columns from different dimension tables. It returns only one line: ScaLogOp DependOnCols()() Unknown DominantValue=#,0.00. Whenever you modify the format string expression and try to execute a MDX query, the logical query plan seems to break. ,, ,, ran into this same issue and I believe I know the issue.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |