-
Notifications
You must be signed in to change notification settings - Fork 77
Expand file tree
/
Copy pathtestCreateMember.java
More file actions
38 lines (31 loc) · 1.86 KB
/
Copy pathtestCreateMember.java
File metadata and controls
38 lines (31 loc) · 1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package mdx;
import gudusoft.gsqlparser.EDbVendor;
import gudusoft.gsqlparser.TBaseType;
import gudusoft.gsqlparser.TGSqlParser;
import gudusoft.gsqlparser.nodes.mdx.TMdxAxisNode;
import gudusoft.gsqlparser.nodes.mdx.TMdxCaseNode;
import gudusoft.gsqlparser.nodes.mdx.TMdxWithMemberNode;
import gudusoft.gsqlparser.stmt.mdx.TMdxCreateMember;
import gudusoft.gsqlparser.stmt.mdx.TMdxSelect;
import junit.framework.TestCase;
public class testCreateMember extends TestCase {
public void test1() {
TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvmdx);
sqlparser.sqltext = "CREATE MEMBER CURRENTCUBE.Measures.[_Internet Current Quarter Sales Performance Status] \n" +
"AS 'Case When IsEmpty(KpiValue(\"Internet Current Quarter Sales Performance\")) Then Null When KpiValue(\"Internet Current Quarter Sales Performance\") < 1 Then -1 When KpiValue(\"Internet Current Quarter Sales Performance\") >= 1 And KpiValue(\"Internet Current Quarter Sales Performance\") < 1.07 Then 0 Else 1 End', \n" +
"ASSOCIATED_MEASURE_GROUP = 'Internet Sales';";
int i = sqlparser.parse();
assertTrue( i== 0);
TMdxCreateMember createMember = (TMdxCreateMember)sqlparser.sqlstatements.get(0);
TMdxWithMemberNode withMemberNode = createMember.getSpecification();
String newQuery = "select "+TBaseType.getStringInsideLiteral(withMemberNode.getExprNode().toString())+" on 1 from t";
sqlparser.sqltext = newQuery;
i = sqlparser.parse();
assertTrue( i== 0);
//System.out.println(sqlparser.sqlstatements.get(0).sqlstatementtype);
TMdxSelect select = (TMdxSelect)sqlparser.sqlstatements.get(0);
TMdxAxisNode axisNode = select.getAxes().getElement(0);
TMdxCaseNode caseNode = (TMdxCaseNode)axisNode.getExpNode();
assertTrue(caseNode.getWhenList().size() == 3);
}
}