PyMeasures
Bases: PyObjects
Groups together multiple measures.
See PyObjects
class for what more it can do.
You can interact with PyMeasures
straight from model. For ex: model.Measures
.
Or through individual tables model.Tables[TABLE_NAME].Measures
.
You can even filter down with .find()
.
For example find all measures with ratio
in name.
model.Measures.find('ratio')
.
Source code in pytabular/measure.py
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
|
__init__(objects, parent=None)
__call__(*args, **kwargs)
add_measure(name, expression, auto_save=True, **kwargs)
Add or replace measures from PyMeasures
class.
Required is just name
and expression
.
But you can pass through any properties you wish to update as a kwarg.
This method is also used when calling the class,
so you can create a new measure that way.
kwargs will be set via the settr
built in function.
Anything in the .Net Measures properties should be viable.
Measure Class # noqa: E501
Example
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name |
str
|
Name of the measure. Brackets ARE NOT required. |
required |
expression |
str
|
DAX expression for the measure. |
required |
auto_save |
bool
|
Automatically save changes after measure creations.
Defaults to |
True
|
Source code in pytabular/measure.py
The main parent class for grouping your (Tables, Columns, Measures, Partitions, etc.).
Notice the magic methods. __rich_repr__()
starts the baseline for displaying your model.
It uses the amazing rich
python package and
builds your display from the self._display
.
Still building out the magic methods to give PyObjects
more flexibility.
Source code in pytabular/object.py
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
|
find(object_str)
Finds any or all PyObject
inside of PyObjects
that match the object_str
.
It is case insensitive.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
object_str |
str
|
str to lookup in |
required |
Returns:
Name | Type | Description |
---|---|---|
PyObjects |
PyObjects
|
Returns a |