diff --git a/bin/release/TOMWrapper.dll b/bin/release/TOMWrapper.dll index 373eb47f..6e1ef72b 100644 Binary files a/bin/release/TOMWrapper.dll and b/bin/release/TOMWrapper.dll differ diff --git a/bin/release/TOMWrapper.xml b/bin/release/TOMWrapper.xml index 484d62e8..08ebae24 100644 --- a/bin/release/TOMWrapper.xml +++ b/bin/release/TOMWrapper.xml @@ -4,6 +4,97 @@ TOMWrapper + + + Represents a collection of Calculation Items. + This metadata object is only supported when the compatibility level of the database is at 1470 or above. + + + + The expression defined on this object will be applied to the selected measure in DAX queries, when multiple calculation items are applied. + + + + + The description of the CalculationGroupExpression, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio. + + + + + The format string expression defined on this object will be applied to the selected measure in DAX queries, when multiple calculation items are applied. + + + + + The expression defined on this object will be applied to the selected measure in DAX queries, when no calculation items are applied. + + + + + The description of the CalculationGroupExpression, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio. + + + + + The format string expression defined on this object will be applied to the selected measure in DAX queries, when no calculation items are applied. + + + + Removes all annotations from this object. + + + The collection of Annotations on the current Calculation Group. + + + Gets the value of the annotation with the given index, assuming it exists. + + + Returns true if an annotation with the given name exists. Otherwise false. + + + Gets the value of the annotation with the given name. Returns null if no such annotation exists. + + + Sets the value of the annotation with the given index, assuming it exists. + + + Returns a unique name for a new annotation. + + + Sets the value of the annotation having the given name. If no such annotation exists, it will be created. If value is set to null, the annotation will be removed. + + + Remove an annotation by the given name. + + + Gets the number of annotations on the current Calculation Group. + + + Gets a collection of all annotation names on the current Calculation Group. + + + + The description of the CalculationGroup, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio. + + + + + Defines an evaluation order of CalculationGroup objects. + + + + The parent table of the current Calculation Group. + + + + The collection of CalculationItem objects on this CalculationGroup. + + + + + CTOR - only called from static factory methods on the class + + Deploys the specified database to the specified target server and database ID, using the specified options. @@ -99,6 +190,66 @@ Indicates whether the user is providing credentials for a data source that already exists in the destination model + + + + + + + + + + + + + + Indicates that the model should be refreshed after successful deployment + + + + + + + + + + + + + + + Indicates that the model should be refreshed after successful deployment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates that the model should be refreshed after successful deployment + Default deployment. Does not overwrite connections, partitions or role members. @@ -140,11 +291,21 @@ Return a list of tokens representing the DAX expression on the current object. + + + Return a list of tokens representing the DAX expression on the current object. + + Return a list of tokens representing the specified DAX property on the current object. + + + Return a list of tokens representing the specified DAX property on the current object. + + A DependsOnList holds a dictionary of all objects that a specific opject depends on. Each entry contains @@ -257,34 +418,10 @@ getting and setting the data model json, as well as saving the content back to a .pbit file. - - - When enabled, Tabular Editor uses the DAX Semantic Analyzer to infer static information (syntax errors, data types, calculated table columns). - - - - - Set to true to always add a PowerQuery (M) partition by default to newly created tables - - - - - Specifies whether an AS trace should be started to monitor the server for changes - made by other applications. - - - - - Specifies whether object name changes (tables, column, measures) should result in - automatic DAX expression updates to reflect the changed names. When set to true, - all expressions in the model are parsed, to build a dependency tree. - - - + - If this is set to TRUE, only features supported by Power BI may be browsed/edited - through the TOMWrapper. This is useful for example when a .pbit file has been loaded, - or when connected to a Power BI Desktop instance. + A base class for objects that can be displayed in a PropertyGrid, having properties which may be hidden + or set to read-only at runtime. @@ -825,9 +962,14 @@ - Allows support for dual mode of Import as well as DirectQuery. + Uses both Import and DirectQuery storage modes to support queries in composite models with high performance. This value is only supported when the compatibility level of the database is at 1455 or above. + + + Data will be loaded into memory from the data lake or queried dynamically if DirectLake fallback is enabled. + This value is only supported when the compatibility level of the database is at 1604 or above. + Determines which partitions are to be selected to run queries against the model. @@ -1248,6 +1390,61 @@ Basic refresh policy + + + Fallback behavior for Direct Lake models. + This enum is only supported when the compatibility level of the database is at 1604 or above. + + + + Adaptive fallback, shipped in public preview. + + + + + Disables fallback. Uses Direct Lake unconditionally. + + + + + Enforces fallback. Uses DirectQuery unconditionally. + + + + + Determines value filter behavior for SummarizeColumns + This enum is only supported when the compatibility level of the database is at 1606 or above. + + + + Automatically determines value filter behavior based on database compability level. + + + + + Value filters in SummarizeColumns are applied independently to measure. + + + + + Value filters in SummarizeColumns are applied to table first, then to measure. + + + + + Data source edit varaibles override behaviour type. E.g. Disallow or Allow. + This enum is only supported when the compatibility level of the database is at 1475 or above. + + + + Queries won't allow data source variables override. + + + + + Queries allow data source variables override. + + Variation object. @@ -1660,16 +1857,6 @@ Represents a base class of a column object of a Tabular model, used to specify a DataColumn, RowNumberColumn, CalculatedColumn, or CalculatedTableColumn. - - - For a DataColumn, specifies the data type. See for a list of supported data types. - - - - - A boolean value indicating whether the datatype is inferred. - - Removes all annotations from this object. @@ -1870,6 +2057,16 @@ Indicates that the column defining this property will be sorted by the values of the column referenced by this property. + + + For a DataColumn, specifies the data type. See for a list of supported data types. + + + + + A boolean value indicating whether the datatype is inferred. + + Collection of perspectives in which this Column is visible. @@ -2016,16 +2213,6 @@ Calling this method will populate the ColumnCollection with objects based on the MetadataObjects in the corresponding MetadataObjectCollection. - - - Sets the DataType property of all objects in the collection at once. - - - - - Sets the IsDataTypeInferred property of all objects in the collection at once. - - Sets the DataCategory property of all objects in the collection at once. @@ -2126,6 +2313,16 @@ Sets the SortByColumn property of all objects in the collection at once. + + + Sets the DataType property of all objects in the collection at once. + + + + + Sets the IsDataTypeInferred property of all objects in the collection at once. + + Represents a user culture. It is a child of a Model object, used for translating strings and formatting values. @@ -2851,111 +3048,254 @@ Gets the list of objects that reference this measure. - + - Represents a level in a hierarchy that provides a logical hierarchical drilldown path for client applications. It is a child of a Hierarchy object. The level is based on the values in a column. - + Represents an abstract RefreshPolicy object. It is a child of a Table object. + This metadata object is only supported when the compatibility level of the database is at 1450 or above. - + Removes all annotations from this object. - - The collection of Annotations on the current Level. + + The collection of Annotations on the current Refresh Policy. - + Gets the value of the annotation with the given index, assuming it exists. - + Returns true if an annotation with the given name exists. Otherwise false. - + Gets the value of the annotation with the given name. Returns null if no such annotation exists. - + Sets the value of the annotation with the given index, assuming it exists. - + Returns a unique name for a new annotation. - + Sets the value of the annotation having the given name. If no such annotation exists, it will be created. If value is set to null, the annotation will be removed. - + Remove an annotation by the given name. - - Gets the number of annotations on the current Level. + + Gets the number of annotations on the current Refresh Policy. - - Gets a collection of all annotation names on the current Level. + + Gets a collection of all annotation names on the current Refresh Policy. - + Removes all Extended Properties from this object. - - The collection of Extended Properties on the current Level. + + The collection of Extended Properties on the current Refresh Policy. - + Returns true if an ExtendedProperty with the given name exists. Otherwise false. - + Gets the type of the ExtendedProperty with the given index, assuming it exists. - + Gets the type of the ExtendedProperty with the given name, assuming it exists. - + Gets the value of the ExtendedProperty with the given index, assuming it exists. - + Gets the value of the ExtendedProperty with the given name. Returns null if no such ExtendedProperty exists. - + Sets the value of the ExtendedProperty with the given index, optionally specifiying the type (string or JSON) of the ExtendedProperty. - + Returns a unique name for a new ExtendedProperty. - + Sets the value of the ExtendedProperty having the given name. If no such ExtendedProperty exists, it will be created. If value is set to null, the ExtendedProperty will be removed. - + Remove an ExtendedProperty by the given name. - + Gets the number of ExtendedProperties on the current object. - + Gets a collection of all ExtendedProperty names on the current object. - + - The position of the level within the hierarchy. The levels in the hierarchy must be properly ordered, starting with 1 and increasing monotonically. + Specifies the type of the refresh policy - + - The description of the level, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio. - + Defines the mode of a refresh policy applied during incremental refresh. + This property is only supported when the compatibility level of the database is at 1565 or above. - - - A tag that represents the lineage of the object. - This property is only supported when the compatibility level of the database is at 1540 or above. + + The parent table of the current Refresh Policy. - + - A tag that represents the lineage of the source for the object. - This property is only supported when the compatibility level of the database is at 1550 or above. + CTOR - only called from static factory methods on the class + - + - A reference to a Hierarchy object that owns this level. + Represents a BasicRefreshPolicy object. It is a child of a Table object. + This metadata object is only supported when the compatibility level of the database is at 1450 or above. + + Represents a - + - A reference to a Column object associated with this Level. + Target granularity of the rolling window for the whole data set + + + + + Number of periods for the rolling window for the whole data set + + + + + Granularity of the (most recent) incremental refresh range + + + + + Number of periods for the incremental refresh range + + + + + Lag or leading periods from Now() to the rolling window head + + + + + If not null, M expression that is evaluated and stored for each partition upon each refresh or merge operation. Result is stored in Partition.RefreshBookmark + + + + + M expression that is used as the source M expression for new partitions. It includes the date filter by referring to 2 M parameters named [RangeStart] and [RangeEnd], which can be dates or integers depending on IntegerDateKey below + + + + + CTOR - only called from static factory methods on the class + + + + + Represents a level in a hierarchy that provides a logical hierarchical drilldown path for client applications. It is a child of a Hierarchy object. The level is based on the values in a column. + + + + Removes all annotations from this object. + + + The collection of Annotations on the current Level. + + + Gets the value of the annotation with the given index, assuming it exists. + + + Returns true if an annotation with the given name exists. Otherwise false. + + + Gets the value of the annotation with the given name. Returns null if no such annotation exists. + + + Sets the value of the annotation with the given index, assuming it exists. + + + Returns a unique name for a new annotation. + + + Sets the value of the annotation having the given name. If no such annotation exists, it will be created. If value is set to null, the annotation will be removed. + + + Remove an annotation by the given name. + + + Gets the number of annotations on the current Level. + + + Gets a collection of all annotation names on the current Level. + + + Removes all Extended Properties from this object. + + + The collection of Extended Properties on the current Level. + + + Returns true if an ExtendedProperty with the given name exists. Otherwise false. + + + Gets the type of the ExtendedProperty with the given index, assuming it exists. + + + Gets the type of the ExtendedProperty with the given name, assuming it exists. + + + Gets the value of the ExtendedProperty with the given index, assuming it exists. + + + Gets the value of the ExtendedProperty with the given name. Returns null if no such ExtendedProperty exists. + + + Sets the value of the ExtendedProperty with the given index, optionally specifiying the type (string or JSON) of the ExtendedProperty. + + + Returns a unique name for a new ExtendedProperty. + + + Sets the value of the ExtendedProperty having the given name. If no such ExtendedProperty exists, it will be created. If value is set to null, the ExtendedProperty will be removed. + + + Remove an ExtendedProperty by the given name. + + + Gets the number of ExtendedProperties on the current object. + + + Gets a collection of all ExtendedProperty names on the current object. + + + + The position of the level within the hierarchy. The levels in the hierarchy must be properly ordered, starting with 1 and increasing monotonically. + + + + + The description of the level, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio. + + + + + A tag that represents the lineage of the object. + This property is only supported when the compatibility level of the database is at 1540 or above. + + + + A tag that represents the lineage of the source for the object. + This property is only supported when the compatibility level of the database is at 1550 or above. + + + + A reference to a Hierarchy object that owns this level. + + + + + A reference to a Column object associated with this Level. @@ -3215,11 +3555,6 @@ - - - Returns a count indicating the number of children of this objects that have errors - - A string that explains the error state associated with the current object. It is set by the engine only when the state of the object is one of these three values: SemanticError, DependencyError, or EvaluationError. It is applicable only to columns of the type Calculated or CalculatedTableColumn. It will be empty for other column objects. @@ -3337,11 +3672,6 @@ A Tabular model created at compatibility level 1200 or above. - - - Returns the status of local changes made to the model, which haven't been saved to the server. - If the model is not connected, this value is always False. - Removes all annotations from this object. @@ -3464,6 +3794,11 @@ Determines whether to discourage the report measures. This property is only supported when the compatibility level of the database is at Internal or above. + + + Controls whether this model allows data source variables to be overriden. + This property is only supported when the compatibility level of the database is at 1475 or above. + DataSourceDefaultMaxConnections will be used for connections to a data source if MaxConnections is set to -1 on the data source object or if there is no corresponding data source object for the data source. @@ -3484,11 +3819,6 @@ Determines whether to discourage composite models. This property is only supported when the compatibility level of the database is at 1560 or above. - - - Disable auto exists behavior for SummarizeColumns - This property is only supported when the compatibility level of the database is at 1566 or above. - Determines the max possible number of parallel tasks in data refresh, within the resource constraints of the hosting service. @@ -3504,11 +3834,26 @@ Disable system defined default expression behavior for calculation groups. This property is only supported when the compatibility level of the database is at Preview or above. + + + Define the fallback behavior of Direct Lake tables. + This property is only supported when the compatibility level of the database is at 1604 or above. + + + + Determines value filter behavior for SummarizeColumns + This property is only supported when the compatibility level of the database is at 1606 or above. + A reference to a default measure. This property is only supported when the compatibility level of the database is at 1400 or above. + + + Gets an indication if the model has local changes that have not been saved to the engine yet. + True, if the model has local changes; otherwise, false.A disconnected model, will always return a value of false. + Collection of localized descriptions for this Model. @@ -4064,11 +4409,6 @@ Represents a partition in a table. Partitions define the query against external data sources that return the rowsets of a . - - - The type of source used by the Partition. This is either a query against a DataSource, or for calculated tables, an expression. - - Removes all annotations from this object. @@ -4174,6 +4514,11 @@ QueryGroup associated with the partition. This property is only supported when the compatibility level of the database is at 1480 or above. + + + The type of source used by the Partition. This is either a query against a DataSource, or for calculated tables, an expression. + + Creates a new Partition and adds it to the parent Table. @@ -4203,11 +4548,21 @@ The expression which is used to populate this partition with data. + + + A reference to an optional DataCoverageDefinition that provides the hint regarding the data that is covered by the partition. + + The Data Source used by this partition. + + + Gets the list of objects that this measure depends on. + + Collection class for Partition. Provides convenient properties for setting a property on multiple objects at once. @@ -4644,16 +4999,6 @@ Represents a logical relationship between two Table objects. It is a child of a Model object. - - - Gets the destination table in a directional table relationship. - - - - - Gets the starting table in a directional table relationship. - - Removes all annotations from this object. @@ -4761,6 +5106,16 @@ Indicates how relationships influence filtering of data when evaluating row-level security expressions. Possible values are as follows. OneDirection (1): The rows selected in the 'To' end of the relationship will automatically filter scans of the table in the 'From' end of the relationship. BothDirections (2): Filters on either end of the relationship will automatically filter the other table. + + + Gets the starting table in a directional table relationship. + + + + + Gets the destination table in a directional table relationship. + + The parent Model of the current Relationship. @@ -4825,24 +5180,24 @@ SingleColumnRelationship object. - + - Gets or sets the starting column in a single column relationship. + Indicates whether the "From" end of the relationship has a cardinality of One (1) or Many (2). - + - Gets or sets the destination column in a single column relationship. + Indicates whether the "To" end of the relationship has a cardinality of One (1) or Many (2). - + - Indicates whether the "From" end of the relationship has a cardinality of One (1) or Many (2). + Gets or sets the starting column in a single column relationship. - + - Indicates whether the "To" end of the relationship has a cardinality of One (1) or Many (2). + Gets or sets the destination column in a single column relationship. @@ -5115,7 +5470,7 @@ - Adds a new Entity (DQ over AS) partition to the table and returns a reference to the partition. + Adds a new Entity (DQ over AS or DirectLake) partition to the table and returns a reference to the partition. The name of the partition The name of the entity (source table) to assign to the partition. @@ -5256,6 +5611,22 @@ A DAX expression specifying default detail rows for this table (drill-through in client tools). + + + Gets or sets the Refresh Policy of the Table. + + + + + Adds a to this measure. + + + + + + Removes the from this measure. + + Defines the mode of a refresh policy applied during incremental refresh. @@ -5614,102 +5985,41 @@ Sets the ExpressionSource property of all objects in the collection at once. - + - Represents a collection of Calculation Items. + A Tabular Calculation Item. This metadata object is only supported when the compatibility level of the database is at 1470 or above. - - Removes all annotations from this object. + + + The description of the CalculationItem, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio. + - - The collection of Annotations on the current Calculation Group. + + + Provides information on the state of the Expression. Possible values and their interpretation are as follows. Ready (1) The Expression is queryable and has up-to-date data. SemanticError (5) The Expression has a semantic error. DependencyError (7) A dependency associated with this Expression is in an error state (SemanticError, EvaluationError, or DependencyError). SyntaxError (9) The Expression has a syntax error. + - - Gets the value of the annotation with the given index, assuming it exists. + + + The DAX expression that is evaluated for this CalculationItem. + - - Returns true if an annotation with the given name exists. Otherwise false. + + + The zero-based ordinal value associated with a Calculation Item. + This property is only supported when the compatibility level of the database is at 1500 or above. - - Gets the value of the annotation with the given name. Returns null if no such annotation exists. + + + Creates a new CalculationItem and adds it to the parent CalculationGroup. + Also creates the underlying metadataobject and adds it to the TOM tree. + - - Sets the value of the annotation with the given index, assuming it exists. - - - Returns a unique name for a new annotation. - - - Sets the value of the annotation having the given name. If no such annotation exists, it will be created. If value is set to null, the annotation will be removed. - - - Remove an annotation by the given name. - - - Gets the number of annotations on the current Calculation Group. - - - Gets a collection of all annotation names on the current Calculation Group. - - - - The description of the CalculationGroup, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio. - - - - - Defines an evaluation order of CalculationGroup objects. - - - - The parent table of the current Calculation Group. - - - - The collection of CalculationItem objects on this CalculationGroup. - - - - - CTOR - only called from static factory methods on the class - - - - - A Tabular Calculation Item. - This metadata object is only supported when the compatibility level of the database is at 1470 or above. - - - - The description of the CalculationItem, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio. - - - - - Provides information on the state of the Expression. Possible values and their interpretation are as follows. Ready (1) The Expression is queryable and has up-to-date data. SemanticError (5) The Expression has a semantic error. DependencyError (7) A dependency associated with this Expression is in an error state (SemanticError, EvaluationError, or DependencyError). SyntaxError (9) The Expression has a syntax error. - - - - - The DAX expression that is evaluated for this CalculationItem. - - - - - The zero-based ordinal value associated with a Calculation Item. - This property is only supported when the compatibility level of the database is at 1500 or above. - - - - Creates a new CalculationItem and adds it to the parent CalculationGroup. - Also creates the underlying metadataobject and adds it to the TOM tree. - - - - - Creates an exact copy of this CalculationItem object. - + + + Creates an exact copy of this CalculationItem object. + The parent Calculation Group of the current Calculation Item. @@ -5729,11 +6039,6 @@ A string that explains the error state associated with the current object. It is set by the engine only when the state of the object is one of these three values: SemanticError, DependencyError, or EvaluationError. It is applicable only to columns of the type Calculated or CalculatedTableColumn. It will be empty for other column objects. - - - Indicates if this object needs validation - - A DAX expression that returns a Format String for this calculation item. @@ -6025,6 +6330,74 @@ Sets the Description property of all objects in the collection at once. + + + A tabular DataCoverageDefinition object. The expression defined on this object gives hint about the data in a partition. + This metadata object is only supported when the compatibility level of the database is at 1603 or above. + + + Removes all annotations from this object. + + + The collection of Annotations on the current Data Coverage Definition. + + + Gets the value of the annotation with the given index, assuming it exists. + + + Returns true if an annotation with the given name exists. Otherwise false. + + + Gets the value of the annotation with the given name. Returns null if no such annotation exists. + + + Sets the value of the annotation with the given index, assuming it exists. + + + Returns a unique name for a new annotation. + + + Sets the value of the annotation having the given name. If no such annotation exists, it will be created. If value is set to null, the annotation will be removed. + + + Remove an annotation by the given name. + + + Gets the number of annotations on the current Data Coverage Definition. + + + Gets a collection of all annotation names on the current Data Coverage Definition. + + + + The description of the DataCoverageDefinition, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio. + + + + + The DAX expression that is evaluated for the DataCoverageDefinition. + + + + + Provides information on the state of the Expression. Possible values and their interpretation are as follows. Ready (1) The Expression is queryable and has up-to-date data. CalculationNeeded (4): The Expression is not queryable and needs to be refreshed to become functional. SemanticError (5) The Expression has a semantic error. DependencyError (7) A dependency associated with the Expression is in an error state (SemanticError, EvaluationError, or DependencyError). SyntaxError (9) The Expression has a syntax error. + + + + + The string that explains the error state associated with the DataCoverageDefinition. It is set by the engine only when the state of the Expression is one of these four values: EvaluationError, SemanticError, DependencyError or SyntaxError. + + + + + A reference to the Partition object that owns the DataCoverageDefinition. + + + + + CTOR - only called from static factory methods on the class + + Adds a new Calculated Table column to the table. @@ -6060,6 +6433,11 @@ + + + Gets the error message currently reported on this calculation group table. + + Set to true, when multiple calculation items are going to be re-ordered as one action. @@ -6090,24 +6468,44 @@ The collection of items on the of this table. - + - Executes the specified TMSL script against the connected instance of Analysis Services. + The expression defined on this object will be applied to the selected measure in DAX queries, when multiple calculation items are aplied. - + - Executes the specified DAX query against the connected database and returns an AmoDataReader object that enumerates the result + The format string expression defined on this object will be applied to the selected measure in DAX queries, when multiple calculation items are aplied. - + - Executes the specified DAX query against the connected database and returns a data set containing the result + The description of the CalculationGroupExpression, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio. - + - Evaluates the specified DAX expression against the connected database and returns a data table or scalar value containing the result + The expression defined on this object will be applied to the selected measure in DAX queries, when no calculation items are applied. + + + + + The format string expression defined on this object will be applied to the selected measure in DAX queries, when no calculation items are applied. + + + + + The description of the CalculationGroupExpression, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio. + + + + + Executes the specified TMSL script against the connected instance of Analysis Services. + + + + + Executes the specified DAX query against the connected database and returns an AmoDataReader object that enumerates the result @@ -6120,6 +6518,16 @@ Return false if automatic undo of the property change is not needed. Return true if the property change should not apply. + + + Executes the specified DAX query against the connected database and returns a data set containing the result + + + + + Evaluates the specified DAX expression against the connected database and returns a data table or scalar value containing the result + + Additional metadata that may be added to the model annotations during deployment @@ -6152,7 +6560,12 @@ - IntelliSense("The Expression Source used by this partition.") + The Expression Source used by this partition. + + + + + Reserved for future use. @@ -6307,7 +6720,8 @@ - Objects that can have error messages in TOM + Objects that can have error messages in TOM. These are only shown for objects that are not IDaxDependantObjects, + as we do our own error handling for objects with DAX expressions. @@ -6320,6 +6734,36 @@ Objects that have an expression (measure, calculated column, partition, etc.) + + + Gets all supported expression properties on the current object. + + + + + Gets the specified expression from the current object. + + Thrown when the current object does not support the specified + + + + + Sets the specified expression on the current object. + + Thrown when the current object does not support the specified + + + + + + Gets the default expression property on the current object. + + + + + Gets the expression of the current object (which is the value of its default expression property). + + Objects that can depend on one or more DAXObjects through expression dependencies @@ -6391,14 +6835,6 @@ of the type held by the array. - - - Sanitize a string to turn it into a valid file name - - - Set to true when the name represents a folder (which cannot end with a blank char) - - Saves the model to the specified folder using the specified serialize options. @@ -6438,6 +6874,11 @@ + + + A positive value indicates that the TMDL serializer should use this number of spaces for indentation levels. A negative value or zero indicate that the TMDL serializer should use tabs for indentation. + + Stores all translations on the current instance of an ITranslatableObject as annotations on the object. @@ -6462,7 +6903,31 @@ - + + + Returns true if one or more partitions on the table is in DirectQuery mode + + + + + + + Determines whether a table can be refreshed using the specified refresh type. + + + + + Gets the of a partition, considering also the of the . + + + + + + + Determines whether a partition can be refreshed using the specified refresh type. + + + Provide a lambda statement that is executed once for each object in the collection. @@ -6654,6 +7119,16 @@ For certain unit tests, it is useful to prevent the SerializationOptions annotation from being added to the model. In that case, set this to false. + + + Sets the internal database ID through reflection (used before serializing to file) + + + + + Sets the internal database name through reflection (used before serializing to file) + + Indicates if this model handler is connected to an instance of Analysis Services @@ -6669,14 +7144,14 @@ Saves the Model Schema to an existing .pbit (Power BI Template) file - + - Saves the Model Schema together with a Visual Studio Tabular Project file and user settings file + Saves the Model Schema as a Tabular Editor folder structure - + - Saves the Model Schema as a Tabular Editor folder structure + Tabular Model Definition Language @@ -6694,11 +7169,57 @@ Model.bim exploded into a folder structure by Tabular Editor + + + Tabular Model Definition Language + + Power BI Template file (.pbit) + + + When enabled, Tabular Editor uses the DAX Semantic Analyzer to infer static information (syntax errors, data types, calculated table columns). + + + + + Set to true to always add a PowerQuery (M) partition by default to newly created tables + + + + + Specifies whether an AS trace should be started to monitor the server for changes + made by other applications. + + + + + Specifies whether object name changes (tables, column, measures) should result in + automatic DAX expression updates to reflect the changed names. When set to true, + all expressions in the model are parsed, to build a dependency tree. + + + + + When tables are added to a DirectLake model, they will need to be explicitly + refreshed once. Otherwise, all queries will fall back to DirectQuery mode. + + + + + If this is set to TRUE, only features supported by Power BI may be browsed/edited + through the TOMWrapper. This is useful for example when a .pbit file has been loaded, + or when connected to a Power BI Desktop instance. + + + + + When this is set to true, the TOMWrapper will not allow you to create DirectLake partitions. + + A TabularObject is a wrapper for the Microsoft.AnalysisServices.Tabular.NamedMetadataObject class. @@ -6784,6 +7305,12 @@ The name of this object. Warning: Changing the name can break formula logic, if Automatic Formula Fix-up is disabled. + + + Classes that can have an error state, in addition to the error message provided by the TOM, should implement this interface, + to communicate to the UI that the object has an error state. + + TabularObjects that can contain other objects should use this interface, to allow easy enumerator of child objects. @@ -6892,6 +7419,19 @@ The number of items in this collection. + + + Various helper (extension) methods, for working with objects. + + + + + Returns a list of all children of the specified container, including all children of child containers. + + The object to iterate + Indicates whether the current object should be included in the iteration output + + The TabularTree represents the logical structure of objects in the TOM, that we are going to @@ -7016,6 +7556,24 @@ interaction when these interactions are expected to happen in short succession. + + + Sanitize a string to turn it into a valid file name + + + Set to true when the name represents a folder (which cannot end with a blank char) + + + + + Formats the specified expression using VB6 format strings (which are also used by Analysis Services) + Returns true if formatting succeeds, otherwise false (for example, when the format string is invalid) + + + + + + A strongly-typed resource class, for looking up localized strings, etc. @@ -7034,7 +7592,7 @@ - Looks up a localized string similar to Adding a {0} to a Power BI Data Model is not allowed.. + Looks up a localized string similar to Adding a {0} to a Power BI semantic model is not allowed.. @@ -7049,7 +7607,7 @@ - Looks up a localized string similar to Deleting a {0} from a Power BI Data Model is not allowed.. + Looks up a localized string similar to Deleting a {0} from a Power BI semantic ,odel is not allowed.. @@ -7117,6 +7675,27 @@ Looks up a localized string similar to A table must have at least one partition.. + + + Looks up a localized string similar to Unable to perform insert. + + + + + Looks up a localized string similar to There was en error inserting objects from the clipboard. Most likely, the copied objects originate from a model that has a different CompatibilityLevel and/or CompatibilityMode, than the current model. Consider upgrading the current model to match the CompatibilityLevel of the source. + + Error message: + + {0}. + + + + + Looks up a localized string similar to There was an error inserting objects from the clipboard: + + {0}. + + This Collection Editor for Cultures takes care of removing unassigned cultures @@ -7137,6 +7716,148 @@ form is closed. + + + Provide a structured way to talk about currencies, capturing the symbol, + a friendly name, and positioning of the symbol, for use in integrating + with existing number formating schemes. + + + + + Create a new Currency + + Friendly label (for UI display), e.g. "US Dollar" + The currency symbol only (no spaces) + Enum capturing position before or after the number and whether there is a space + + + + Create a currency from TomExplorerPreferences settings + + A string with a currency symbol + A string indicating the symbol comes *"before"* or *"after"* the number + Whether to include a space between the number and the symbol + Position is determined with a string match and falls through to coming before the number + + + + Friendly label for currency (for UI display), e.g. "US Dollar" + + + + + Symbol of the currency only (no spaces or anything else) + + + + + Position and spacing information for the currency symbol + + + + + Wrap a string in double quotes to avoid conflicts with control characters in + format strings + + + + + + + Generate the appropriate string to append to a number format + + A quoted string with appropriate spacing, suitable for use in a number format. + + + + True when the symbol goes at the end of the string + + + + + True when the symbol goes at the start of the string + + + + + Test if the format string snippet of the currency is in the format string + + A format string that may hold the currency snippet + + + + Put the currency symbol in the correct place relative to an existing number format string + + A number format string that already handles thousands and decimals + numberFormat with a currency symbol before or after it. + + + + Remove the currency format from the string, if it is there + + a format string that may contain the symbol snippet + a format string that definitely does not contain the symbol snippet + + + + Position and spacing definition for a currency symbol. + + + + + Put the symbol after the number, with no space, e.g. "#,#.00$" + + + + + Put the symbol after the number, with a space, e.g., "#,#.00 $" + + + + + Put the symbol before the number with no space, e.g., "$#,#.00" + + + + + Put the symbol before the number with a space, e.g., "$ #,#.00" + + + + + Map CurrencyPositivePattern values to our enum for positions + + int 1-4 (inclusive) + based on https://learn.microsoft.com/en-us/dotnet/api/system.globalization.numberformatinfo.currencypositivepattern?view=net-8.0 + + + + Provide an interface to list and look up known currencies. + + + + + Default list of currencies to populate the UI combo box + + + + + Map currency names to currencies + + + + + List default currency names + + + + + Look up a currency by its friendly label + + Currency Label (friendly name, e.g. "US Dollar") + Currency matching the label, or first default configured value + Allows the user to select any column on the same table as the current item, except the selected item(s) itself. @@ -7199,23 +7920,11 @@ the drop down. - + - Implement this interface on objects that should be able to show/hide or change readonly - state of properties at runtime. For example, an object that has a DataType and a FormatString - property, might not want the FormatString property to show up whenever a certain DataType is - in use. - - Make sure that the implementing class uses the DynamicPropertyConverter as its TypeConverter, - by decorating the class with: - - [TypeConverter(typeof(DynamicPropertyConverter))] - - - - - - This TypeConverter + Apply this attribute to properties that should not be shown in the property grid, when more than object is selected + For example, a 'Name' or 'ID' property may be unique across all objects - therefore, it doesn't make sense to + show that property when multiple objects are selected. @@ -7364,6 +8073,13 @@ + + + Returns a list of all XMLA warnings encountered. + + + + Provides various extension methods to make it easier to work with the Tabular Object Model diff --git a/bin/release/TabularEditor3.Shared.dll b/bin/release/TabularEditor3.Shared.dll index be029b19..126bfe1d 100644 Binary files a/bin/release/TabularEditor3.Shared.dll and b/bin/release/TabularEditor3.Shared.dll differ diff --git a/bin/release/TabularEditor3.Shared.xml b/bin/release/TabularEditor3.Shared.xml index 2cb4aea2..17298351 100644 --- a/bin/release/TabularEditor3.Shared.xml +++ b/bin/release/TabularEditor3.Shared.xml @@ -4,6 +4,42 @@ TabularEditor3.Shared + + Provides a scheduler that uses STA threads. + + + Stores the queued tasks to be executed by our pool of STA threads. + + + The STA threads used by the scheduler. + + + Initializes a new instance of the StaTaskScheduler class with the specified concurrency level. + The number of threads that should be created and used by this scheduler. + + + Queues a Task to be executed by this scheduler. + The task to be executed. + + + Provides a list of the scheduled tasks for the debugger to consume. + An enumerable of all tasks currently scheduled. + + + Determines whether a Task may be inlined. + The task to be executed. + Whether the task was previously queued. + true if the task was successfully inlined; otherwise, false. + + + Gets the maximum concurrency level supported by this scheduler. + + + + Cleans up the scheduler by indicating that no more tasks will be queued. + This method blocks until all threads successfully shutdown. + + Indicates whether this rule should be ignored on this particular object @@ -21,12 +57,15 @@ - + - Call this method from the main thread, to set up a pointer to the main window handle - and to store the synchronization context for later use + This object must be constructed on the UI thread, as it uses the WindowsFormsSynchronizationContext. + + + + + This object must be created on the UI thread, as it captures the synchronization context for use when the custom web UI is invoked. - @@ -164,6 +203,18 @@ Set to true to perform a case-sensitive search Set to true to search for whole words only + + + Specify a search pattern and a replacement value, that will be applied to the Names of the objects in the collection. + + Search pattern (i.e. what to find) + Replacement (the text to replace) + Set to true if the search pattern and replacement strings use regular expressions + Set to true if the replacement should be performed in the metadata name translations as well + Set to true to perform a case-sensitive search + Set to true to search for whole words only + + Specify a search pattern and a replacement value, that will be applied to the Expression of the objects in the collection. @@ -408,6 +459,11 @@ Indicates where in the Explorer Tree the current selection has been made. + + + The name of the current table group (if exactly one table group is selected, or if one or more tables within a single table group is selected) + + Iterates through the passed list of nodes, to return the combined context of the items represented by the nodes. @@ -1293,6 +1349,77 @@ TODO: Handle DirectQuery / user-delegated credentials + + + This object must be constructed on the UI thread, as it uses the WindowsFormsSynchronizationContext. + + + + + This object must be constructed on the UI thread, as it uses the WindowsFormsSynchronizationContext + + + + + Extension for calling the ODBC low-level GetTablesW method directly. + + + + + Extension for calling the ODBC low-level GetColumnsW method directly. + + + + + Extension for calling the ODBC low-level GetColumnsW method directly. + + + + + Extension for calling the ODBC low-level GetColumnsW method directly. + + + + + Gets the ODBC driver names from the SQLGetInstalledDrivers function. + + a string array containing the ODBC driver names, if the call to SQLGetInstalledDrivers was successfull; null, otherwise. + + + + Method that gives one ODBC DSN object + + + + + ODBC DSN object + + + + Method that returns the registry key for a complex string that + represents the key that is to be returned. The 'baseKey' parameter + passed to this method is the root registry key on which the + complex sub key has to be created. The 'complexKeyStr' is the + stirng representation of the key to be created over the 'baseKey'. + The syntax of the 'complexKeyStr' is "KEY1//KEY2//KEY3//...//". + The "..." in the above syntax represents the repetetion. This + method parses the 'compleKeyStr' parameter value and keep building + the keys following the path of the keys listed in the string. Each + key is built upon its previous key. First Key (KEY1) is built based + on the 'basKey' parameter. Second key (KEY2) is based on the first + key (Key creatd for KEY1) and so on... . The writable parameter + represents whether final key has to be writable or not. + + + + + RegistryKey For the complex Subkey. + + + + This object must be constructed on the UI thread, as it uses the WindowsFormsSynchronizationContext. + + Returns the directory of the provided filePath. @@ -1354,11 +1481,41 @@ A file with the .te3diag extension + + + A file with the .te3pivot extension + + Any other extension + + + True to allow DAX debugging. + + + + + True to allow XMLA connectivity. + + + + + True to allow Enterprise features, such as DirectLake in Power BI, or Perspectives/Multi-partitions in SSAS/Azure AS + + + + + True to allow PBI Desktop connectivity. + + + + + True to allow opening/saving semantic models from/to files. + + When this feature switch is enabled, end users may enable the Git Integration Preview feature (through the preferences dialog) @@ -1390,6 +1547,11 @@ Indicates that the model is loaded from a PBIT (Power BI Template) file + + + Indicates that the model is loaded from a TMDL folder structure + + Indicates that the model has been created in Tabular Editor and not yet saved to disk @@ -1415,6 +1577,11 @@ Model is saved to a Tabular Editor folder structure + + + Model is saved to a TMDL folder structure + + Model is not yet saved to disk @@ -1466,6 +1633,13 @@ + + + This method handles M object references to other M objects - for example, an M expression may refer to a shared expression or an explicit data source. + + + + Indicate whether the system credentials of the application are sent with requests. @@ -1501,16 +1675,6 @@ - - - Extension for calling the ODBC low-level GetTablesW method directly. - - - - - Extension for calling the ODBC low-level GetColumnsW method directly. - - Indicates that every identifier must be enclosed in a pair of backticks @@ -1527,11 +1691,25 @@ + + + Properties that do not contain sensitive/PII data (or have already been stripped of sensitive/PI info). + There is no need to mask the values of these properties. + + Process telemetry exceptions to ensure that the exception message does not contain sensitive data + + Can be a folder or a file + + + + This flag, if true, indicates that the TOM model has to be reconstructed from the VPAX model + + Call this method to ensure that a source has the necessary passwords, etc. for connection to be established. @@ -1545,19 +1723,31 @@ https://chromium.googlesource.com/chromium/src/+/HEAD/net/docs/proxy.md#overriding-the-implicit-bypass-rules - + - This class ensures that a connection string is encrypted/decrypted in case it contains sensitive data. + SnapshotObjects do not hold actual references to TOM objects. Instead, we include a WeakReference, + a LineageTag, and a Name. Given a TOM model, we can then attempt to resolve the object represented + by the SnapshotObject. In general, the priority of resolving is: + 1) WeakReference that is still attached to the model tree + 2) LineageTag + 3) Name + + + + + If an EVALUATE statement uses a START AT clause, or if the main table expression returned is surrounded by "TOPN", the assumption is that + the user knows what they're doing, and so this flag will be set to false, indicating that we should not limit the number of rows by wrapping + the expression in a TOPN. - + - Runs the specified action asynchronously on the UI thread + This class ensures that a connection string is encrypted/decrypted in case it contains sensitive data. - + - Runs the specified action synchronously on the UI thread + Represents fixed or ignored recommendations at the model level @@ -1567,6 +1757,11 @@ True if the current operation can proceed (possibly causing loss of changes). False to cancel the current operation. Set to true to close all documents. Set to false will leave documents that persist across models open. + + + Interface that allows various sections of the status bar to be updated from other parts of the application. + + Microsoft provided class. It allows dynamic string based querying.