From 9064ba096851cef8ae4a0b730872847556e3d015 Mon Sep 17 00:00:00 2001 From: Svetoslav Petkov Date: Mon, 29 Sep 2025 18:09:23 +0300 Subject: [PATCH 1/7] v1.5 ATSCALE-28484 excel pivot definitions --- sml-reference/dimension.md | 130 ++++++++++++++++++++----------------- 1 file changed, 71 insertions(+), 59 deletions(-) diff --git a/sml-reference/dimension.md b/sml-reference/dimension.md index 3ead200..bf9de96 100644 --- a/sml-reference/dimension.md +++ b/sml-reference/dimension.md @@ -1,6 +1,6 @@ # Dimension -Dimension files define the dimensions used in the model. A *dimension* +Dimension files define the dimensions used in the model. A _dimension_ is a logical collection of attributes that are bound to specific columns in a source dataset. These attributes are in turn used to group and filter metric data at query time. @@ -36,14 +36,12 @@ label: Store Dimension type: standard hierarchies: - - unique_name: Store Dimension label: Store Dimension folder: Store Attributes filter_empty: "yes" levels: - - unique_name: d_store_country - unique_name: d_store_state @@ -55,7 +53,6 @@ hierarchies: - unique_name: Store Dimension secondary_attributes: - - unique_name: d_s_floor_space label: Store Floor Space folder: Store Attributes @@ -102,7 +99,6 @@ hierarchies: sort_column: s_store_name level_attributes: - - unique_name: d_store_city label: Store City dataset: store @@ -165,7 +161,7 @@ classDiagram CalculationGroup *-- CalculatedMembers SecondaryAttribute *-- CustomEmptyMember Alias *-- CustomEmptyMember - MetricalAttribute *-- CustomEmptyMember + MetricalAttribute *-- CustomEmptyMember namespace Dimensions{ class Dimension{ String unique_name @@ -298,6 +294,8 @@ namespace Dimensions{ CustomEmptyMember custom_empty_member Boolean is_hidden Boolean contains_unique_names + Boolean exclude_from_pivot_table + Boolean exclude_from_user_defined_properties } class CustomEmptyMember{ Array~String~ key @@ -375,7 +373,7 @@ Supported values: - **Type:** boolean - **Required:** N -Determines whether the dimension is degenerate. +Determines whether the dimension is degenerate. ## hierarchies @@ -550,7 +548,7 @@ A description of the calculation group. - **Type:** boolean - **Required:** N -Determines whether the calculation group is visible in BI tools. +Determines whether the calculation group is visible in BI tools. Supported values: @@ -581,7 +579,7 @@ Supported values: - **Type:** string - **Required:** Y - + The name of the calculated member. This must be unique within the dimension. ## description @@ -609,7 +607,7 @@ If you do not want to use a built-in template, you can define a custom expressio - **Type:** boolean - **Required:** N -Determines whether the attribute is visible in BI tools. +Determines whether the attribute is visible in BI tools. Supported values: @@ -632,11 +630,11 @@ You can alternatively use the `template` property (see above) to use one of SML' - **Type:** String - **Required:** N -The format in which query results are returned. You can use one of SML's built-in named formats or a custom format string. +The format in which query results are returned. You can use one of SML's built-in named formats or a custom format string. -Supported named formats: +Supported named formats: -`fixed`,`general number`, `none`, `percent`, `scientific`, `standard` +`fixed`,`general number`, `none`, `percent`, `scientific`, `standard` Custom format strings should be in quotes and contain one to four sections, separated by semicolons. @@ -686,8 +684,8 @@ The name of the folder in which to display this hierarchy in BI tools. If your m - **Type:** string - **Required:** N -Configures the join behavior for the hierarchy, which determines how empty values are handled in client BI tools. The value you specify must be in quotes. - +Configures the join behavior for the hierarchy, which determines how empty values are handled in client BI tools. The value you specify must be in quotes. + Supported values: - `yes`: Query results in BI tools only include members that join to @@ -713,8 +711,8 @@ Defines a default member for the hierarchy. Default members of dimensional hiera When adding default hierarchies, be aware of the following: -- If a query specifies a level in a hierarchy that has a default member, the default is not used. -- Default hierarchy members are *not* used in queries that populate select fields and filter dialogs in BI clients. +- If a query specifies a level in a hierarchy that has a default member, the default is not used. +- Default hierarchy members are _not_ used in queries that populate select fields and filter dialogs in BI clients. - You cannot specify secondary attributes as default dimension members. Doing so will cause queries to fail. - Setting default members on dimensions with multiple hierarchies can produce unexpected results, as it is easy to forget about the default member filtering on another hierarchy. @@ -729,7 +727,7 @@ When adding default hierarchies, be aware of the following: - **Required:** Y Defines the levels within the hierarchy. You can include as many levels as needed in the list. - + # Level Properties ## unique_name @@ -785,7 +783,7 @@ You can define as many parallel periods for a level as needed. - **Type:** boolean - **Required:** N -Determines whether the level is visible in BI tools. +Determines whether the level is visible in BI tools. # Secondary Attributes Properties @@ -822,19 +820,19 @@ The name of the folder in which the attribute is displayed in BI tools. - **Type:** boolean - **Required:** N -Determines whether the attribute is visible in BI tools. +Determines whether the attribute is visible in BI tools. Supported values: - `false` (default) - `true` -## contains\_unique\_names +## contains_unique_names - **Type:** boolean - **Required:** N -Determines whether each member of this attribute has a unique name. Do not enable this functionality if two members have different keys but the same name. +Determines whether each member of this attribute has a unique name. Do not enable this functionality if two members have different keys but the same name. Supported values: @@ -845,7 +843,7 @@ Supported values: - **Type:** string - **Required:** Y - + The dataset that contains the `key_columns` the secondary attribute is based on. ## name_column @@ -869,14 +867,14 @@ A list of the key columns that the attribute is based on. If the attribute has a The column used to sort the attribute's values in result sets. (This only applies to MDX queries.) -## allowed\_calcs\_for_dma +## allowed_calcs_for_dma - **Type:** array - **Required:** N A list of the calculation types that can be used to create dimensionally modified aggregates for the secondary attribute. Note that when working with a time dimension, you can only define calculation types if the `time_unit` property for the level is set to `day` or longer. -## exclude\_from\_dim_agg +## exclude_from_dim_agg - **Type:** boolean - **Required:** N @@ -890,20 +888,36 @@ Excludes this attribute from system generated dimension-only aggregates. This is Determines whether the attribute's member values can be aggregated. When enabled, an `All` member is created for the attribute, whose value is the aggregation of all of the attribute's member values. The `All` member sits at the top of the attribute's hierarchy, though it is not a part of the attribute itself. It often serves as the attribute's default member. -## exclude\_from\_fact_agg +## exclude_from_fact_agg - **Type:** boolean - **Required:** N Excludes this attribute from system generated fact-based aggregates. This is useful if the attribute contains a large number (millions) of distinct values that you don't want to aggregate. -## custom\_empty\_member +## custom_empty_member - **Type:** object - **Required:** N Defines a custom empty member for the attribute. This feature allows fact data with missing or invalid foreign key values to be isolated and independently aggregated from those with valid foreign key values. Because fact records with invalid foreign keys are aggregated separately from records referencing valid dimension members, analysts can easily spot data integrity problems and further investigate them. Use this feature to ensure that un-joinable values are included in query results and aggregated under a specially designated dimension member called the Custom Empty Member. +## exclude_from_pivot_table + +- **Type:** boolean +- **Required:** N +- **Default:** false + +If set to true - this will prevent Excel users from using the Secondary Attribute in the Pivot Table Designer but allow Excel Users to add the Attribute to the Report using the “Properties” Context Menu. + +## exclude_from_user_defined_properties + +- **Type:** boolean +- **Required:** N +- **Default:** false + +If set to true Excel and MDX Users will **NOT** be able to retrieve this attribute as a Member Property using the .Properties function and Property MDX syntax. + # Alias Properties ## unique_name @@ -933,17 +947,17 @@ A description of the alias. - **Required:** N The name of the folder in which the alias appears in BI tools. - + ## format - **Type:** String - **Required:** N -The format in which query results are returned. You can use one of SML's built-in named formats or a custom format string. +The format in which query results are returned. You can use one of SML's built-in named formats or a custom format string. -Supported named formats: +Supported named formats: -`fixed`,`general number`, `none`, `percent`, `scientific`, `standard` +`fixed`,`general number`, `none`, `percent`, `scientific`, `standard` Custom format strings should be in quotes and contain one to four sections, separated by semicolons. @@ -980,7 +994,7 @@ Supported values: - `true` - `false` -## exclude\_from\_dim_agg +## exclude_from_dim_agg - **Type:** boolean - **Required:** N @@ -1001,7 +1015,7 @@ Supported values: Determines whether the alias's member values can be aggregated. When enabled, an `All` member is created for the alias, whose value is the aggregation of all of the alias's member values. The `All` member sits at the top of the alias's hierarchy, though it is not a part of the alias itself. It often serves as the alias's default member. -## exclude\_from\_fact_agg +## exclude_from_fact_agg - **Type:** boolean - **Required:** N @@ -1015,14 +1029,13 @@ Supported values: - `true` - `false` -## custom\_empty\_member +## custom_empty_member - **Type:** object - **Required:** N Defines custom empty member values for the alias. This feature allows fact data with missing or invalid foreign key values to be isolated and independently aggregated from those with valid foreign key values. Because fact records with invalid foreign keys are aggregated separately from records referencing valid dimension members, analysts can easily spot data integrity problems and further investigate them. Use this feature to ensure that un-joinable values are included in query results and aggregated under a specially designated dimension member called the Custom Empty Member. - # Metrical Attribute Properties ## unique_name @@ -1058,11 +1071,11 @@ The name of the folder in which the metrical attribute appears in BI tools. - **Type:** String - **Required:** N -The format in which query results are returned. You can use one of SML's built-in named formats or a custom format string. +The format in which query results are returned. You can use one of SML's built-in named formats or a custom format string. -Supported named formats: +Supported named formats: -`fixed`,`general number`, `none`, `percent`, `scientific`, `standard` +`fixed`,`general number`, `none`, `percent`, `scientific`, `standard` Custom format strings should be in quotes and contain one to four sections, separated by semicolons. @@ -1081,16 +1094,17 @@ The source dataset that contains the column that the metrical attribute is based The dataset column that the metrical attribute is based on. ## calculation_method + - **Type:** string - **Required:** Y -The calculation to apply to the data. +The calculation to apply to the data. -Supported values: +Supported values: `average`, `count distinct`,`count non-null`, `estimated count distinct`, `maximum`, `minimum`, - `percentile`, `stddev_pop`, `stddev_samp`, `sum`, `var_pop`,`var_samp` - +`percentile`, `stddev_pop`, `stddev_samp`, `sum`, `var_pop`,`var_samp` + ## is_hidden - **Type:** boolean @@ -1103,7 +1117,7 @@ Supported values: - `true` - `false` -## exclude\_from\_dim_agg +## exclude_from_dim_agg - **Type:** boolean - **Required:** N @@ -1124,7 +1138,7 @@ Supported values: Determines whether the metrical attribute's member values can be aggregated. When enabled, an `All` member is created for the attribute, whose value is the aggregation of all of the attribute's member values. The `All` member sits at the top of the attribute's hierarchy, though it is not a part of the attribute itself. It often serves as the metrical attribute's default member. -## exclude\_from\_fact_agg +## exclude_from_fact_agg - **Type:** boolean - **Required:** N @@ -1138,14 +1152,14 @@ Supported values: - `true` - `false` -## custom\_empty\_member +## custom_empty_member - **Type:** object - **Required:** N Defines custom empty member values for the metrical attribute. This feature allows fact data with missing or invalid foreign key values to be isolated and independently aggregated from those with valid foreign key values. Because fact records with invalid foreign keys are aggregated separately from records referencing valid dimension members, analysts can easily spot data integrity problems and further investigate them. Use this feature to ensure that un-joinable values are included in query results and aggregated under a specially designated dimension member called the Custom Empty Member. -## unrelated\_dimensions\_handling +## unrelated_dimensions_handling - **Type:** enum - **Required:** N @@ -1244,9 +1258,9 @@ Defines the dimension as a shared degenerate dimension (one composed of data fro Shared degenerate dimensions must meet the following requirements: -- You must use the same number of columns from each fact dataset. +- You must use the same number of columns from each fact dataset. - The data types across the columns used must be consistent: - + - The name columns must all have the same data type. - The key columns must all have the same data type. @@ -1259,7 +1273,7 @@ Supported properties: - `dataset`: String, required. A fact dataset the shared degenerate dimension is based on. - `name_column`: String, required. The column from the dataset whose values appear for the dimension in the consumption tool. For example, you can use a product ID column as they `key_columns`, but use a product name column as the `name_column`. All name columns must have the same data type. -- `key_columns`: Array, required. The column from the dataset that the shared degenerate dimension is based on. You can only include one `key_columns` value per dataset. All key columns must have the same data type. +- `key_columns`: Array, required. The column from the dataset that the shared degenerate dimension is based on. You can only include one `key_columns` value per dataset. All key columns must have the same data type. - `sort_column`: String, optional. Defines the column from the dataset that is used to sort query results. If this property is specified for one dataset, it must be specified for all others. Additionally, all sort columns must have the same data type. - `is_unique_key`: Boolean, optional. Determines whether values of the `key_columns` column are unique for each row. @@ -1267,10 +1281,9 @@ For example: ```yaml level_attributes: - - unique_name: Order Degen Shared Level label: Order Degen Shared Level - + shared_degenerate_columns: - name_column: salesordernumber key_columns: @@ -1305,7 +1318,7 @@ Supported values: - `true` - `false` -## is\_unique\_key +## is_unique_key - **Type:** boolean - **Required:** N @@ -1319,7 +1332,7 @@ Supported values: - `false`: The key column values are multi-valued. The join behavior considers all matching rows at query runtime. -## contains\_unique\_names +## contains_unique_names - **Type:** boolean - **Required:** N @@ -1333,7 +1346,7 @@ Supported values: - `true` - `false` -## exclude\_from\_dim_agg +## exclude_from_dim_agg - **Type:** boolean - **Required:** N @@ -1354,7 +1367,7 @@ Supported values: Determines whether the level attribute's member values can be aggregated. When enabled, an `All` member is created for the attribute, whose value is the aggregation of all of the attribute's member values. The `All` member sits at the top of the attribute's hierarchy, though it is not a part of the attribute itself. It often serves as the level attribute's default member. -## exclude\_from\_fact_agg +## exclude_from_fact_agg - **Type:** boolean - **Required:** N @@ -1380,7 +1393,7 @@ a different column. **Note:** This only applies to MDX queries (queries received through the XMLA interface). -## allowed\_calcs\_for_dma +## allowed_calcs_for_dma - **Type:** array - **Required:** N @@ -1403,7 +1416,7 @@ tools. For time dimensions only. The unit of time to use. -Supported values: +Supported values: `year`, `halfyear`, `trimester`, `quarter`, `month`, `week`, `day`, `hour`, `minute`, `second`, `undefined` @@ -1414,7 +1427,7 @@ Supported values: - **Type:** array - **Required:** Y - + A list of the empty member values to use for key fields. ## name @@ -1430,4 +1443,3 @@ The empty member value to use for name fields. - **Required:** N The empty member value to use for the attribute's sort column, if one is specified. - From 231fe19b655461a0133795202e74250dcc4da3f6 Mon Sep 17 00:00:00 2001 From: Svetoslav Petkov Date: Wed, 1 Oct 2025 12:12:57 +0300 Subject: [PATCH 2/7] rename attributes --- sml-reference/dimension.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sml-reference/dimension.md b/sml-reference/dimension.md index bf9de96..cd10fc8 100644 --- a/sml-reference/dimension.md +++ b/sml-reference/dimension.md @@ -294,8 +294,8 @@ namespace Dimensions{ CustomEmptyMember custom_empty_member Boolean is_hidden Boolean contains_unique_names - Boolean exclude_from_pivot_table - Boolean exclude_from_user_defined_properties + Boolean is_excel_pivot_table_property + Boolean is_user_defined_property } class CustomEmptyMember{ Array~String~ key @@ -902,21 +902,21 @@ Excludes this attribute from system generated fact-based aggregates. This is use Defines a custom empty member for the attribute. This feature allows fact data with missing or invalid foreign key values to be isolated and independently aggregated from those with valid foreign key values. Because fact records with invalid foreign keys are aggregated separately from records referencing valid dimension members, analysts can easily spot data integrity problems and further investigate them. Use this feature to ensure that un-joinable values are included in query results and aggregated under a specially designated dimension member called the Custom Empty Member. -## exclude_from_pivot_table +## is_excel_pivot_table_property - **Type:** boolean - **Required:** N -- **Default:** false +- **Default:** true -If set to true - this will prevent Excel users from using the Secondary Attribute in the Pivot Table Designer but allow Excel Users to add the Attribute to the Report using the “Properties” Context Menu. +If set to true (or not set at all) - this enables Excel users from using the Secondary Attribute in the Pivot Table Designer but allow Excel Users to add the Attribute to the Report using the “Properties” Context Menu. -## exclude_from_user_defined_properties +## is_user_defined_property - **Type:** boolean - **Required:** N -- **Default:** false +- **Default:** true -If set to true Excel and MDX Users will **NOT** be able to retrieve this attribute as a Member Property using the .Properties function and Property MDX syntax. +If set to true (or not set at all) Excel and MDX Users will be able to retrieve this attribute as a Member Property using the .Properties function and Property MDX syntax. # Alias Properties From 15132ca84d22f35d103599c805a1e0b42fb5944f Mon Sep 17 00:00:00 2001 From: Svetoslav Petkov Date: Wed, 1 Oct 2025 14:54:15 +0300 Subject: [PATCH 3/7] fix: added doc for level alias --- sml-reference/dimension.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/sml-reference/dimension.md b/sml-reference/dimension.md index cd10fc8..39172ab 100644 --- a/sml-reference/dimension.md +++ b/sml-reference/dimension.md @@ -228,6 +228,8 @@ namespace Dimensions{ Boolean is_aggregatable Boolean exclude_from_fact_agg Array~CustomEmptyMember~ custom_empty_member + Boolean is_excel_pivot_table_property + Boolean is_user_defined_property } class MetricalAttribute{ String unique_name @@ -907,6 +909,7 @@ Defines a custom empty member for the attribute. This feature allows fact data w - **Type:** boolean - **Required:** N - **Default:** true +- **Added in** v1.5 If set to true (or not set at all) - this enables Excel users from using the Secondary Attribute in the Pivot Table Designer but allow Excel Users to add the Attribute to the Report using the “Properties” Context Menu. @@ -915,6 +918,7 @@ If set to true (or not set at all) - this enables Excel users from using the Sec - **Type:** boolean - **Required:** N - **Default:** true +- **Added in** v1.5 If set to true (or not set at all) Excel and MDX Users will be able to retrieve this attribute as a Member Property using the .Properties function and Property MDX syntax. @@ -1036,6 +1040,24 @@ Supported values: Defines custom empty member values for the alias. This feature allows fact data with missing or invalid foreign key values to be isolated and independently aggregated from those with valid foreign key values. Because fact records with invalid foreign keys are aggregated separately from records referencing valid dimension members, analysts can easily spot data integrity problems and further investigate them. Use this feature to ensure that un-joinable values are included in query results and aggregated under a specially designated dimension member called the Custom Empty Member. +## is_excel_pivot_table_property + +- **Type:** boolean +- **Required:** N +- **Default:** true +- **Added in** v1.5 + +If set to true (or not set at all) - this enables Excel users from using the Secondary Attribute in the Pivot Table Designer but allow Excel Users to add the Attribute to the Report using the “Properties” Context Menu. + +## is_user_defined_property + +- **Type:** boolean +- **Required:** N +- **Default:** true +- **Added in** v1.5 + +If set to true (or not set at all) Excel and MDX Users will be able to retrieve this attribute as a Member Property using the .Properties function and Property MDX syntax. + # Metrical Attribute Properties ## unique_name From f265bf12862829f9f8df734ac9432f6f20f9ec6b Mon Sep 17 00:00:00 2001 From: Svetoslav Petkov Date: Fri, 3 Oct 2025 17:35:36 +0300 Subject: [PATCH 4/7] fix: object reference diagram. metric calc may reference another metric calc --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 58664dd..6686bdb 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,7 @@ erDiagram MODEL ||--|{ ROW_SECURITY : "may reference" DIMENSION ||--|{ ROW_SECURITY : "may reference" METRIC ||--|{ DATASET : references + METRIC_CALC ||--|{ METRIC_CALC : "may reference" METRIC_CALC ||--|{ METRIC : "may reference" METRIC_CALC ||--|{ DIMENSION : "may reference" DATASET ||--|{ CONNECTION : references From 0197b3474aa12baadef163c4601b419643354e23 Mon Sep 17 00:00:00 2001 From: svetoslavpetkov Date: Mon, 6 Oct 2025 15:03:24 +0300 Subject: [PATCH 5/7] fix: description --- sml-reference/dimension.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sml-reference/dimension.md b/sml-reference/dimension.md index 410984a..8a1a315 100644 --- a/sml-reference/dimension.md +++ b/sml-reference/dimension.md @@ -921,7 +921,7 @@ Defines a custom empty member for the attribute. This feature allows fact data w - **Default:** true - **Added in** v1.5 -If set to true (or not set at all) - this enables Excel users from using the Secondary Attribute in the Pivot Table Designer but allow Excel Users to add the Attribute to the Report using the “Properties” Context Menu. +If set to true (or not set at all) - this prohibits Excel users from using the Secondary Attribute in the Pivot Table Designer but allows Excel Users to add the Attribute to the Report using the “Properties” Context Menu. ## is_user_defined_property @@ -1057,7 +1057,7 @@ Defines custom empty member values for the alias. This feature allows fact data - **Default:** true - **Added in** v1.5 -If set to true (or not set at all) - this enables Excel users from using the Secondary Attribute in the Pivot Table Designer but allow Excel Users to add the Attribute to the Report using the “Properties” Context Menu. +If set to true (or not set at all) - this prohibits Excel users from using the Secondary Attribute in the Pivot Table Designer but allows Excel Users to add the Attribute to the Report using the “Properties” Context Menu. ## is_user_defined_property From fa5fee63e8dda3d1c6eb3f380182fe407ef98648 Mon Sep 17 00:00:00 2001 From: svetoslavpetkov Date: Mon, 6 Oct 2025 15:04:13 +0300 Subject: [PATCH 6/7] change on readme --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6686bdb..4c4f7a1 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,14 @@ ![logo](images/sml-logo-large.png) -# SML version 1.4 +# SML version 1.5 -This is documentation for SML spec version `1.4`. For earlier versions browse the repository tags. Examples: +This is documentation for SML spec version `1.5`. For earlier versions browse the repository tags. Examples: - [SML version 1.0](https://github.com/semanticdatalayer/SML/tree/v1.0) - [SML version 1.1](https://github.com/semanticdatalayer/SML/tree/v1.1) - [SML version 1.2](https://github.com/semanticdatalayer/SML/tree/v1.2) - [SML version 1.3](https://github.com/semanticdatalayer/SML/tree/v1.3) +- [SML version 1.4](https://github.com/semanticdatalayer/SML/tree/v1.4) # What is SML? From 12324d80e063a1c67edf1e7bebe7617e95999dae Mon Sep 17 00:00:00 2001 From: Svetoslav Petkov Date: Tue, 7 Oct 2025 12:20:40 +0300 Subject: [PATCH 7/7] fix: PR comments --- sml-reference/dimension.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sml-reference/dimension.md b/sml-reference/dimension.md index 8a1a315..12a57a7 100644 --- a/sml-reference/dimension.md +++ b/sml-reference/dimension.md @@ -921,7 +921,7 @@ Defines a custom empty member for the attribute. This feature allows fact data w - **Default:** true - **Added in** v1.5 -If set to true (or not set at all) - this prohibits Excel users from using the Secondary Attribute in the Pivot Table Designer but allows Excel Users to add the Attribute to the Report using the “Properties” Context Menu. +If set to false (default true) Excel users are not able to use the attribute in the Pivot Table Designer. Note: The attribute will still be usable with other interfaces like SQL and DAX if the "visible" property is true. ## is_user_defined_property @@ -930,7 +930,7 @@ If set to true (or not set at all) - this prohibits Excel users from using the S - **Default:** true - **Added in** v1.5 -If set to true (or not set at all) Excel and MDX Users will be able to retrieve this attribute as a Member Property using the .Properties function and Property MDX syntax. +If set to true Excel and MDX users can retrieve the attribute as a Member Property using the .Properties function and Property MDX syntax # Alias Properties @@ -1057,7 +1057,7 @@ Defines custom empty member values for the alias. This feature allows fact data - **Default:** true - **Added in** v1.5 -If set to true (or not set at all) - this prohibits Excel users from using the Secondary Attribute in the Pivot Table Designer but allows Excel Users to add the Attribute to the Report using the “Properties” Context Menu. +If set to false (default true) Excel users are not able to use the attribute in the Pivot Table Designer. Note: The attribute will still be usable with other interfaces like SQL and DAX if the "visible" property is true. ## is_user_defined_property @@ -1066,7 +1066,7 @@ If set to true (or not set at all) - this prohibits Excel users from using the S - **Default:** true - **Added in** v1.5 -If set to true (or not set at all) Excel and MDX Users will be able to retrieve this attribute as a Member Property using the .Properties function and Property MDX syntax. +If set to true Excel and MDX users can retrieve the attribute as a Member Property using the .Properties function and Property MDX syntax # Metrical Attribute Properties