1
1
from typing import List
2
2
3
3
from dl_formula .core .datatype import DataType
4
+ from dl_formula .inspect .function import supports_ordering
4
5
from dl_formula_ref .categories .window import CATEGORY_WINDOW
5
6
from dl_formula_ref .examples .config import (
6
7
ExampleConfig ,
52
53
53
54
54
55
def _make_standard_window_examples (func : str ) -> List [DataExample ]:
56
+ order_by_str = " ORDER BY [City], [Category]" if supports_ordering (name = func .lower (), is_window = True ) else ""
55
57
func = func .upper ()
56
58
examples = [
57
59
DataExample (
@@ -67,9 +69,9 @@ def _make_standard_window_examples(func: str) -> List[DataExample]:
67
69
("City" , "[City]" ),
68
70
("Category" , "[Category]" ),
69
71
("Order Sum" , "[Order Sum]" ),
70
- (f"{ func } 1" , f"{ func } ([Order Sum] TOTAL)" ),
71
- (f"{ func } 2" , f"{ func } ([Order Sum] WITHIN [City])" ),
72
- (f"{ func } 3" , f"{ func } ([Order Sum] WITHIN [Category])" ),
72
+ (f"{ func } 1" , f"{ func } ([Order Sum] TOTAL{ order_by_str } )" ),
73
+ (f"{ func } 2" , f"{ func } ([Order Sum] WITHIN [City]{ order_by_str } )" ),
74
+ (f"{ func } 3" , f"{ func } ([Order Sum] WITHIN [Category]{ order_by_str } )" ),
73
75
],
74
76
],
75
77
override_formula_fields = [
@@ -623,18 +625,18 @@ def _make_mfunc_examples(func: str) -> List[DataExample]:
623
625
("City" , "[City]" ),
624
626
("Category" , "[Category]" ),
625
627
("Order Sum" , "[Order Sum]" ),
626
- (f"{ func } 1" , f"{ func } ([Order Sum], 1 TOTAL)" ),
627
- (f"{ func } 2" , f"{ func } ([Order Sum], 1 WITHIN [City])" ),
628
- (f"{ func } 3" , f"{ func } ([Order Sum], 1 WITHIN [Category])" ),
628
+ (f"{ func } 1" , f"{ func } ([Order Sum], 1 TOTAL ORDER BY [City], [Category] )" ),
629
+ (f"{ func } 2" , f"{ func } ([Order Sum], 1 WITHIN [City] ORDER BY [Category] )" ),
630
+ (f"{ func } 3" , f"{ func } ([Order Sum], 1 WITHIN [Category] ORDER BY [City] )" ),
629
631
],
630
632
],
631
633
override_formula_fields = [
632
634
("City" , "[City]" ),
633
635
("Category" , "[Category]" ),
634
636
("Order Sum" , "SUM([Orders])" ),
635
- (f"{ func } 1" , f"{ func } (SUM([Orders]), 1 TOTAL ORDER BY [City] )" ),
636
- (f"{ func } 2" , f"{ func } (SUM([Orders]), 1 WITHIN [City] ORDER BY [City] )" ),
637
- (f"{ func } 3" , f"{ func } (SUM([Orders]), 1 AMONG [City] ORDER BY [City] )" ),
637
+ (f"{ func } 1" , f"{ func } (SUM([Orders]), 1 TOTAL)" ),
638
+ (f"{ func } 2" , f"{ func } (SUM([Orders]), 1 WITHIN [City])" ),
639
+ (f"{ func } 3" , f"{ func } (SUM([Orders]), 1 AMONG [City])" ),
638
640
],
639
641
),
640
642
),
0 commit comments