You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"Name": "Avoid division (use DIVIDE function instead)",
5
+
"Category": "DAX Expressions",
6
+
"Description": "Calculated Columns, Measures or Calculated Tables should not use the division symbol in their expressions (/). Instead, it is advised to always use the DIVIDE(\u003cnumerator\u003e,\u003cdenominator\u003e) function.",
"Remarks": "This rule may flag false positives, if a slash (/) is used in an object name or in a comment. To fix this, we need access to the tokens from lexing the expression.",
11
+
"Source": "standard\\DAX Expressions"
12
+
},
13
+
{
14
+
"ID": "DAX_TODO",
15
+
"Name": "Revisit TODO expressions",
16
+
"Category": "DAX Expressions",
17
+
"Description": "Objects with an expression containing the word \"TODO\" (typically as a comment), should most likely be revisited.",
"Description": "Set the SummarizeBy property of all visible numeric columns to \"None\", to avoid unintentional summarization in client tools. Create measures for columns that are supposed to be summarized.",
"Description": "Visible tables, columns, measures and hierarchies should be assigned to at least one perspective, if the Tabular Model uses perspectives. Otherwise, the objects will only be visible when connecting directly to the model.",
"Expression": "Model.Perspectives.Any() and not IsHidden and not InPerspective.Any(it)",
53
+
"Source": "standard\\Model Layout"
54
+
},
55
+
{
56
+
"ID": "LAYOUT_COLUMNS_HIERARCHIES_DF",
57
+
"Name": "Organize columns and hierarchies in display folders",
58
+
"Category": "Model Layout",
59
+
"Description": "Tables with more than 10 visible columns and/or hierarchies should have them organized in display folders for improved usability.",
60
+
"Severity": 1,
61
+
"Scope": "Table",
62
+
"Expression": "not IsHidden and \n (Columns.Count(not IsHidden and string.IsNullOrEmpty(DisplayFolder)) +\n Hierarchies.Count(not IsHidden and string.IsNullOrEmpty(DisplayFolder))\n) \u003e 10",
63
+
"Source": "standard\\Model Layout"
64
+
},
65
+
{
66
+
"ID": "LAYOUT_HIDE_FK_COLUMNS",
67
+
"Name": "Hide foreign key columns",
68
+
"Category": "Model Layout",
69
+
"Description": "Columns used on the Many side of a relationship should be hidden, as the related (dimension) table is likely the best place to apply a filter context.",
"Expression": "Model.Relationships.Any(FromColumn = outerIt) and not IsHidden and not Table.IsHidden",
73
+
"FixExpression": "IsHidden = true",
74
+
"Source": "standard\\Model Layout"
75
+
},
76
+
{
77
+
"ID": "LAYOUT_LOCALIZE_DF",
78
+
"Name": "Translate Display Folders",
79
+
"Category": "Model Layout",
80
+
"Description": "Display Folder translations should be assigned for objects where the base DisplayFolder property has been assigned. Otherwise, users connecting to the model using a specific Culture will not see the Display Folder structure.",
"Description": "Tables with more than 10 visible measures should have them organized in display folders for improved usability",
92
+
"Severity": 1,
93
+
"Scope": "Table",
94
+
"Expression": "not IsHidden and Measures.Count(not IsHidden and string.IsNullOrEmpty(DisplayFolder)) \u003e 10",
95
+
"Source": "standard\\Model Layout"
96
+
},
97
+
{
98
+
"ID": "PERF_UNUSED_COLUMNS",
99
+
"Name": "Remove unused columns",
100
+
"Category": "Performance",
101
+
"Description": "Hidden columns, which do not have any dependencies, are not used in any relationships, not used in any hierarchies and not used as the SortByColumn for other columns, will likely not be used by clients and thus take up unnecessary space. Consider removing the columns from the model to save space and improve processing time, if you are certain that no external DAX or MDX queries make use of the columns.",
0 commit comments