def _to_model_measure(self, table): return aa.Measure( id=f"{self.plural.title()}", resolve_table_name=self.name, function="Count", variable_name=None, )
def _to_model_measure(self, table): return aa.Measure( id=self.label if self.label is not None else self._name, resolve_table_name=table.name, function=self._model_function, variable_name=self.operand.name, )
def test_variance_to_model_measure(self, chy_numeric_var_duration, chy_website_visits_table): variance_statistic = Variance(chy_numeric_var_duration) expected_variance_measure_model = aa.Measure( id="Variance(Duration)", resolve_table_name="WebsiteVisits", function="Variance", variable_name="weDurtn", ) assert (variance_statistic._to_model_measure(chy_website_visits_table) == expected_variance_measure_model)
def test_max_to_model_measure_custom_name_different_table( self, chy_numeric_var_cost, chy_donations_table): max_statistic = Max(chy_numeric_var_cost, label="Largest donation") expected_max_measure_model = aa.Measure( id="Largest donation", resolve_table_name="Donations", function="Maximum", variable_name="caCost", ) assert (max_statistic._to_model_measure(chy_donations_table) == expected_max_measure_model)
def test_max_to_model_measure(self, chy_numeric_var_cost, chy_campaigns_table): max_statistic = Max(chy_numeric_var_cost) expected_max_measure_model = aa.Measure( id="Max(Cost)", resolve_table_name="Campaigns", function="Maximum", variable_name="caCost", ) assert (max_statistic._to_model_measure(chy_campaigns_table) == expected_max_measure_model)
def test_sum_to_model_measure(self, chy_numeric_var_cost, chy_campaigns_table): sum_statistic = Sum(chy_numeric_var_cost) expected_sum_measure_model = aa.Measure( id="Sum(Cost)", resolve_table_name="Campaigns", function="Sum", variable_name="caCost", ) assert (sum_statistic._to_model_measure(chy_campaigns_table) == expected_sum_measure_model)
def test_populated_to_model_measure(self, chy_numeric_var_age, chy_supporters_table): populated_statistic = Populated(chy_numeric_var_age) expected_populated_measure_model = aa.Measure( id="Populated(Age)", resolve_table_name="Supporters", function="VariableCount", variable_name="suAge", ) assert (populated_statistic._to_model_measure(chy_supporters_table) == expected_populated_measure_model)
def test_count_distinct_numeric_to_model_measure(self, chy_numeric_var_age, chy_supporters_table): count_distinct_statistic = CountDistinct(chy_numeric_var_age) expected_count_distinct_measure_model = aa.Measure( id="Count Distinct(Age)", resolve_table_name="Supporters", function="CountDistinct", variable_name="suAge", ) assert (count_distinct_statistic._to_model_measure( chy_supporters_table) == expected_count_distinct_measure_model)
def test_sum_to_model_measure_custom_name_different_table( self, chy_numeric_var_cost, chy_supporters_table): sum_statistic = Sum(chy_numeric_var_cost, label="Total cost") expected_sum_measure_model = aa.Measure( id="Total cost", resolve_table_name="Supporters", function="Sum", variable_name="caCost", ) assert (sum_statistic._to_model_measure(chy_supporters_table) == expected_sum_measure_model)
def test_mean_to_model_measure_custom_name_different_table( self, chy_numeric_var_amount, chy_campaigns_table): mean_statistic = Mean(chy_numeric_var_amount, label="Average donated") expected_mean_measure_model = aa.Measure( id="Average donated", resolve_table_name="Campaigns", function="Mean", variable_name="doAmount", ) assert (mean_statistic._to_model_measure(chy_campaigns_table) == expected_mean_measure_model)
def test_count_mode_numeric_to_model_measure(self, chy_numeric_var_amount, chy_donations_table): count_mode_statistic = CountMode(chy_numeric_var_amount) expected_count_mode_measure_model = aa.Measure( id="Count Mode(Amount)", resolve_table_name="Donations", function="MaxDistinctCount", variable_name="doAmount", ) assert (count_mode_statistic._to_model_measure(chy_donations_table) == expected_count_mode_measure_model)
def test_mean_to_model_measure(self, chy_numeric_var_amount, chy_donations_table): mean_statistic = Mean(chy_numeric_var_amount) expected_mean_measure_model = aa.Measure( id="Mean(Amount)", resolve_table_name="Donations", function="Mean", variable_name="doAmount", ) assert (mean_statistic._to_model_measure(chy_donations_table) == expected_mean_measure_model)
def test_count_mode_selector_to_model_measure(self, chy_selector_var, chy_supporters_table): count_mode_statistic = CountMode(chy_selector_var) expected_count_mode_measure_model = aa.Measure( id="Count Mode(Membership)", resolve_table_name="Supporters", function="MaxDistinctCount", variable_name="suMember", ) assert (count_mode_statistic._to_model_measure(chy_supporters_table) == expected_count_mode_measure_model)
def test_min_to_model_measure_custom_name_different_table( self, chy_numeric_var_cost, chy_website_visits_table): min_statistic = Min(chy_numeric_var_cost, label="Smallest donation") expected_min_measure_model = aa.Measure( id="Smallest donation", resolve_table_name="WebsiteVisits", function="Minimum", variable_name="caCost", ) assert (min_statistic._to_model_measure(chy_website_visits_table) == expected_min_measure_model)
def test_std_dev_to_model_measure(self, chy_numeric_var_duration, chy_website_visits_table): std_dev_statistic = StdDev(chy_numeric_var_duration) expected_std_dev_measure_model = aa.Measure( id="Std Dev(Duration)", resolve_table_name="WebsiteVisits", function="StandardDeviation", variable_name="weDurtn", ) assert (std_dev_statistic._to_model_measure(chy_website_visits_table) == expected_std_dev_measure_model)
def test_upper_quartile_to_model_measure(self, chy_numeric_var_age, chy_supporters_table): upper_quartile_statistic = UpperQuartile(chy_numeric_var_age) expected_upper_quartile_measure_model = aa.Measure( id="Upper Quartile(Age)", resolve_table_name="Supporters", function="UpperQuartile", variable_name="suAge", ) assert (upper_quartile_statistic._to_model_measure( chy_supporters_table) == expected_upper_quartile_measure_model)
def test_variance_to_model_measure_custom_name_different_table( self, chy_numeric_var_duration, chy_campaigns_table): variance_statistic = Variance(chy_numeric_var_duration, label="Duration var") expected_variance_measure_model = aa.Measure( id="Duration var", resolve_table_name="Campaigns", function="Variance", variable_name="weDurtn", ) assert (variance_statistic._to_model_measure(chy_campaigns_table) == expected_variance_measure_model)
def test_count_mode_selector_to_model_measure_custom_name_different_table( self, chy_selector_var, chy_campaigns_table): count_mode_statistic = CountMode(chy_selector_var, label="Size largest membership type") expected_count_mode_measure_model = aa.Measure( id="Size largest membership type", resolve_table_name="Campaigns", function="MaxDistinctCount", variable_name="suMember", ) assert (count_mode_statistic._to_model_measure(chy_campaigns_table) == expected_count_mode_measure_model)
def test_count_distinct_selector_to_model_measure_custom_name_different_table( self, chy_selector_var, chy_website_visits_table): count_distinct_statistic = CountDistinct(chy_selector_var, label="No. membership types") expected_count_distinct_measure_model = aa.Measure( id="No. membership types", resolve_table_name="WebsiteVisits", function="CountDistinct", variable_name="suMember", ) assert (count_distinct_statistic._to_model_measure( chy_website_visits_table) == expected_count_distinct_measure_model)
def test_count_distinct_numeric_to_model_measure_custom_name_different_table( self, chy_numeric_var_age, chy_donations_table): count_distinct_statistic = CountDistinct( chy_numeric_var_age, label="No. different ages of supporters") expected_count_distinct_measure_model = aa.Measure( id="No. different ages of supporters", resolve_table_name="Donations", function="CountDistinct", variable_name="suAge", ) assert (count_distinct_statistic._to_model_measure(chy_donations_table) == expected_count_distinct_measure_model)
def test_mode_to_model_measure_custom_name_different_table( self, chy_numeric_var_amount, chy_website_visits_table): mode_statistic = Mode(chy_numeric_var_amount, label="Most common amount") expected_mode_measure_model = aa.Measure( id="Most common amount", resolve_table_name="WebsiteVisits", function="Mode", variable_name="doAmount", ) assert (mode_statistic._to_model_measure(chy_website_visits_table) == expected_mode_measure_model)
def test_populated_to_model_measure_custom_name_different_table( self, chy_numeric_var_age, chy_donations_table): populated_statistic = Populated(chy_numeric_var_age, label="Number age known") expected_populated_measure_model = aa.Measure( id="Number age known", resolve_table_name="Donations", function="VariableCount", variable_name="suAge", ) assert (populated_statistic._to_model_measure(chy_donations_table) == expected_populated_measure_model)
def test_lower_quartile_to_model_measure_custom_name_different_table( self, chy_numeric_var_age, chy_campaigns_table): lower_quartile_statistic = LowerQuartile(chy_numeric_var_age, label="LQ Age") expected_lower_quartile_measure_model = aa.Measure( id="LQ Age", resolve_table_name="Campaigns", function="LowerQuartile", variable_name="suAge", ) assert (lower_quartile_statistic._to_model_measure(chy_campaigns_table) == expected_lower_quartile_measure_model)
def test_std_dev_to_model_measure_custom_name_different_table( self, chy_numeric_var_duration, chy_supporters_table): std_dev_statistic = StdDev(chy_numeric_var_duration, label="Duration st dev") expected_std_dev_measure_model = aa.Measure( id="Duration st dev", resolve_table_name="Supporters", function="StandardDeviation", variable_name="weDurtn", ) assert (std_dev_statistic._to_model_measure(chy_supporters_table) == expected_std_dev_measure_model)
def test_to_model_measure(self, rtl_table_purchases, rtl_table_customers): expected_measures_model = aa.Measure( id="Purchases", resolve_table_name="Purchases", function="Count", variable_name=None, ) assert ( Table._to_model_measure(rtl_table_purchases, rtl_table_customers) == expected_measures_model )
def test_inter_quartile_range_to_model_measure_custom_name_different_table( self, chy_numeric_var_duration, chy_donations_table): inter_quartile_range_statistic = InterQuartileRange( chy_numeric_var_duration, label="IQR Duration") expected_inter_quartile_range_measure_model = aa.Measure( id="IQR Duration", resolve_table_name="Donations", function="InterQuartileRange", variable_name="weDurtn", ) assert (inter_quartile_range_statistic._to_model_measure( chy_donations_table) == expected_inter_quartile_range_measure_model )
def test_inter_quartile_range_to_model_measure(self, chy_numeric_var_duration, chy_website_visits_table): inter_quartile_range_statistic = InterQuartileRange( chy_numeric_var_duration) expected_inter_quartile_range_measure_model = aa.Measure( id="Inter Quartile Range(Duration)", resolve_table_name="WebsiteVisits", function="InterQuartileRange", variable_name="weDurtn", ) assert (inter_quartile_range_statistic._to_model_measure( chy_website_visits_table) == expected_inter_quartile_range_measure_model)
def test_cube(self): selection = aa.Selection(table_name="Flight Route", name="Blank Query", ancestor_counts=False) query = aa.Query(selection=selection) dimension = aa.Dimension( id="Dates", type="Selector", variable_name=REPORTING_PERIOD_YEARS_CODE, none_cell=True, omit_unclassified=True, ) dimension2 = aa.Dimension( id="Reporting Airport", type="Selector", variable_name=REPORTING_AIRPORT_CODE, none_cell=True, omit_unclassified=True, ) dimensions = [dimension, dimension2] measure = aa.Measure(id="Routes1", resolve_table_name="Flight Route", function="Count") cube = aa.Cube( base_query=query, resolve_table_name="Flight Route", storage="Full", dimensions=dimensions, measures=[measure], ) cube_api = aa.CubesApi(session.api_client) cube_calculation = cube_api.cubes_calculate_cube_synchronously( session.data_view, session.system, cube=cube) test_row = cube_calculation.measure_results[0].rows[7] self.assertEqual( test_row, "0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t179\t1633\t1765\t1896\t5473", )
def create_measure(): """ Return count measure on Flight Route table. """ return aa.Measure(id="Count", resolve_table_name="Flight Route", function="Count")