Class KPI
  
  
  
    - Inheritance
- 
      
      
      
      KPI 
    - Implements
- 
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    - Inherited Members
- 
    
    
    
    
    
    
    
    
    
    
    
    
  
    - Namespace
- TabularEditor.TOMWrapper
- Assembly
- TOMWrapper.dll
 
  Represents a Key Performance Indicator object. It is a child of a Measure object.
    public sealed class KPI : TabularObject, ICustomTypeDescriptor, INotifyPropertyChanging, IDescriptionObject, IAnnotationObject, IExtendedPropertyObject, IDaxDependantObject, IExpressionObject, ITabularTableObject, IDaxObject, ITabularNamedObject, ITabularObject, INotifyPropertyChanged, IHandlerObject, INamedObject
   
  
    - Extension Methods
- 
  
  
  
  
  
  
Properties
  
  
  Annotations
  
  
  The collection of Annotations on the current KPI.
    [Browsable(true)]
public AnnotationCollection Annotations { get; }
   
  Property Value
  
  
  
  DaxObjectFullName
  
  
  
  
  
    [Browsable(false)]
public string DaxObjectFullName { get; }
   
  Property Value
  
  
  
  DaxObjectName
  
  
  
  
  
    [Browsable(false)]
public string DaxObjectName { get; }
   
  Property Value
  
  
  
  DaxTableName
  
  
  
  
  
    [Browsable(false)]
public string DaxTableName { get; }
   
  Property Value
  
  
  
  DependsOn
  
  
  Gets the list of objects that this KPI depends on.
    [Browsable(false)]
public DependsOnList DependsOn { get; }
   
  Property Value
  
  
  
  Description
  
  
  The description of the KPI, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio.
    public string Description { get; set; }
   
  Property Value
  
  
  
  Expression
  
  
  An expression that is use to calculate the status of this KPI. Alias for StatusExpression
    [Browsable(false)]
public string Expression { get; set; }
   
  Property Value
  
  
  
  ExtendedProperties
  
  
  The collection of Extended Properties on the current KPI.
    public ExtendedPropertyCollection ExtendedProperties { get; }
   
  Property Value
  
  
  
  Measure
  
  
  A reference to a Measure object that owns this KPI.
    public Measure Measure { get; }
   
  Property Value
  
  
  
  MeasureName
  
  
  
  
  
    public string MeasureName { get; }
   
  Property Value
  
  
  
  
  
  
    [Browsable(false)]
public int MetadataIndex { get; }
   
  Property Value
  
  
  
  Name
  
  
  
  
  
    [Browsable(false)]
public string Name { get; set; }
   
  Property Value
  
  
  
  ReferencedBy
  
  
  Gets the list of objects that reference this measure.
    [Browsable(false)]
public ReferencedByList ReferencedBy { get; }
   
  Property Value
  
  
  
  StatusDescription
  
  
  A description of the Status value for the KPI.
    public string StatusDescription { get; set; }
   
  Property Value
  
  
  
  StatusExpression
  
  
  An expression that is used to calculate the status of the KPI.
    public string StatusExpression { get; set; }
   
  Property Value
  
  
  
  StatusGraphic
  
  
  The recommended graphic to represent the status of this KPI.
    [TypeConverter(typeof(KPIStatusGraphicConverter))]
public string StatusGraphic { get; set; }
   
  Property Value
  
  
  
  Table
  
  
  
  
  
    [Browsable(false)]
public Table Table { get; }
   
  Property Value
  
  
  
  TargetDescription
  
  
  The description of the target value of the KPI.
    public string TargetDescription { get; set; }
   
  Property Value
  
  
  
  TargetExpression
  
  
  An expression that evaluates to a number and indicates the goal for the KPI.
    public string TargetExpression { get; set; }
   
  Property Value
  
  
  
  The format string to be used when presenting the target value for the KPI.
    [TypeConverter(typeof(FormatStringConverter))]
public string TargetFormatString { get; set; }
   
  Property Value
  
  
  
  TrendDescription
  
  
  A description of the trend value of the KPI.
    public string TrendDescription { get; set; }
   
  Property Value
  
  
  
  TrendExpression
  
  
  An expression representing the trend of the KPI.
    public string TrendExpression { get; set; }
   
  Property Value
  
  
  
  TrendGraphic
  
  
  A string that identifies the graphic to show for the trend of the KPI.
    [TypeConverter(typeof(KPITrendGraphicConverter))]
public string TrendGraphic { get; set; }
   
  Property Value
  
  Methods
  
  
  CanDelete()
  
  
  
  
  
  Returns
  
  
  
  CanDelete(out string)
  
  
  
  
  
    public bool CanDelete(out string message)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | string | message |  | 
    
  
  Returns
  
  
  
  ClearAnnotations()
  
  
  Removes all annotations from this object.
    public void ClearAnnotations()
   
  
  
  ClearExtendedProperties()
  
  
  Removes all Extended Properties from this object.
    public void ClearExtendedProperties()
   
  
  
  
  
  
    public static KPI CreateFromMetadata(Measure parent, KPI metadataObject)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Measure | parent |  | 
      
        | KPI | metadataObject |  | 
    
  
  Returns
  
  
  
  CreateNew(Measure)
  
  
  
  
  
    public static KPI CreateNew(Measure parent)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Measure | parent |  | 
    
  
  Returns
  
  
  
  Delete()
  
  
  
  
  
    public override void Delete()
   
  
  
  GetAnnotation(int)
  
  
  Gets the value of the annotation with the given index, assuming it exists.
    public string GetAnnotation(int index)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | int | index |  | 
    
  
  Returns
  
  
  
  GetAnnotation(string)
  
  
  Gets the value of the annotation with the given name. Returns null if no such annotation exists.
    public string GetAnnotation(string name)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | string | name |  | 
    
  
  Returns
  
  
  
  GetAnnotations()
  
  
  Gets a collection of all annotation names on the current KPI.
    public IEnumerable<string> GetAnnotations()
   
  Returns
  
  
  
  GetAnnotationsCount()
  
  
  Gets the number of annotations on the current KPI.
    public int GetAnnotationsCount()
   
  Returns
  
  
  
  GetExtendedProperties()
  
  
  Gets a collection of all ExtendedProperty names on the current object.
    public IEnumerable<string> GetExtendedProperties()
   
  Returns
  
  
  
  GetExtendedProperty(int)
  
  
  Gets the value of the ExtendedProperty with the given index, assuming it exists.
    public string GetExtendedProperty(int index)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | int | index |  | 
    
  
  Returns
  
  
  
  GetExtendedProperty(string)
  
  
  Gets the value of the ExtendedProperty with the given name. Returns null if no such ExtendedProperty exists.
    public string GetExtendedProperty(string name)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | string | name |  | 
    
  
  Returns
  
  
  
  GetExtendedPropertyCount()
  
  
  Gets the number of ExtendedProperties on the current object.
    public int GetExtendedPropertyCount()
   
  Returns
  
  
  
  GetExtendedPropertyType(int)
  
  
  Gets the type of the ExtendedProperty with the given index, assuming it exists.
    public ExtendedPropertyType GetExtendedPropertyType(int index)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | int | index |  | 
    
  
  Returns
  
  
  
  GetExtendedPropertyType(string)
  
  
  Gets the type of the ExtendedProperty with the given name, assuming it exists.
    public ExtendedPropertyType GetExtendedPropertyType(string name)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | string | name |  | 
    
  
  Returns
  
  
  
  GetNewAnnotationName()
  
  
  Returns a unique name for a new annotation.
    public string GetNewAnnotationName()
   
  Returns
  
  
  
  GetNewExtendedPropertyName()
  
  
  Returns a unique name for a new ExtendedProperty.
    public string GetNewExtendedPropertyName()
   
  Returns
  
  
  
  HasAnnotation(string)
  
  
  Returns true if an annotation with the given name exists. Otherwise false.
    public bool HasAnnotation(string name)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | string | name |  | 
    
  
  Returns
  
  
  
  HasExtendedProperty(string)
  
  
  Returns true if an ExtendedProperty with the given name exists. Otherwise false.
    public bool HasExtendedProperty(string name)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | string | name |  | 
    
  
  Returns
  
  
  
  OnPropertyChanged(string, object, object)
  
  
  Fired after a property is changed
    protected override void OnPropertyChanged(string propertyName, object oldValue, object newValue)
   
  Parameters
  
  
  
  RemoveAnnotation(string)
  
  
  Remove an annotation by the given name.
    public void RemoveAnnotation(string name)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | string | name |  | 
    
  
  
  
  RemoveExtendedProperty(string)
  
  
  Remove an ExtendedProperty by the given name.
    public void RemoveExtendedProperty(string name)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | string | name |  | 
    
  
  
  
  SetAnnotation(int, string)
  
  
  Sets the value of the annotation with the given index, assuming it exists.
    public void SetAnnotation(int index, string value)
   
  Parameters
  
  
  
  SetAnnotation(string, string)
  
  
  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.
    public void SetAnnotation(string name, string value)
   
  Parameters
  
  
  
  SetExtendedProperty(int, string, ExtendedPropertyType)
  
  
  Sets the value of the ExtendedProperty with the given index, optionally specifiying the type (string or JSON) of the ExtendedProperty.
    public void SetExtendedProperty(int index, string value, ExtendedPropertyType type)
   
  Parameters
  
  
  
  SetExtendedProperty(string, string, ExtendedPropertyType)
  
  
  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.
    public void SetExtendedProperty(string name, string value, ExtendedPropertyType type)
   
  Parameters