Support SQL Server Tabular Model now ?

Aug 12, 2014 at 4:53 PM
The latest version Support SQL Tabular Model now?
Coordinator
Jun 22, 2015 at 5:32 PM
Edited Jun 22, 2015 at 5:55 PM
SparkZou wrote:
The latest version Support SQL Tabular Model now?
All the controls Ranet OLAP are working correctly with Tabular Model. They have always worked.

For a source in-memory necessary to use the application Ranet Analytics. In Ranet OLAP no datagrid (flat table). In Ranet Analytics we use Datagrid and Chart from the DevExpress. Details of Tabular Model and In-memory analytics in Ranet.
Coordinator
Jan 6, 2016 at 12:35 PM
Edited Jan 6, 2016 at 12:39 PM
The new version Ranet UI is implemented generator DAX-query.

The sample code in C # to create a structure of the DAX-query:

AttributeColumn year = new AttributeColumn("Date", "Calendar Year");
year.FilterValues.Add("2006");

AttributeColumn date = new AttributeColumn("Date", "Date", true);
date.FilterValues.Add("DATE(2006,1,1)");
date.FilterValues.Add("DATE(2006,1,2)");

AttributeColumn countryRegion = new AttributeColumn("Geography", "Country Region Name", true);

AttributeColumn product = new AttributeColumn("Product", "Product Category Name", true);
product.FilterValues.Add("\"Bikes\"");
product.FilterValues.Add("\"Clothing\"");

MeasureColumn totalSales = new MeasureColumn("Sales Territory", "Total Sales");

QueryStructure queryStructure = new QueryStructure();
queryStructure.Columns.Add(year);
queryStructure.Columns.Add(date);
queryStructure.Columns.Add(countryRegion);
queryStructure.Columns.Add(product);
queryStructure.Columns.Add(totalSales);

Operator exp1 = new Operator(new Column(year), "=", new DaxFragment("2007"));
Operator exp2 = new Operator(new Column(countryRegion), "=", new DaxFragment("\"United States\""));
Operator exp3 = new Operator(exp1, "&&", exp2);
Parentheses exp4 = new Parentheses(exp3);
Operator exp5 = new Operator(new Column(year), "=", new DaxFragment("2008"));
Operator exp6 = new Operator(new Column(countryRegion), "=", new DaxFragment("\"United Kingdom\""));
Operator exp7 = new Operator(exp5, "&&", exp6);
Parentheses exp8 = new Parentheses(exp7);
Operator exp9 = new Operator(exp4, "||", exp8);
Operator exp10 = new Operator(new Column(new MeasureColumn("Internet Sales", "Internet Total Sales")), ">", new DaxFragment("200000"));
Operator exp11 = new Operator(exp9, "||", exp10);
queryStructure.Filters = exp11;

string daxQuery = DaxGenerator.Generate(queryStructure);
In the performance of the above will be generated when the next DAX query:
EVALUATE
SUMMARIZE(
    SUMMARIZE(
        FILTER(
            CROSSJOIN(
                FILTER(
                    FILTER(
                        SUMMARIZE(
                            'Date',
                            'Date'[Calendar Year],
                            'Date'[Date]
                        ),
                        ('Date'[Calendar Year] = 2006)
                        &&
                        ('Date'[Date] = DATE(2006,1,1) || 'Date'[Date] = DATE(2006,1,2))
                    ),
                    (NOT ISBLANK('Sales Territory'[Total Sales]))
                ),
                FILTER(
                    VALUES(
                        'Geography'[Country Region Name]
                    ),
                    (NOT ISBLANK('Sales Territory'[Total Sales]))
                ),
                FILTER(
                    FILTER(
                        VALUES(
                            'Product'[Product Category Name]
                        ),
                        ('Product'[Product Category Name] = "Bikes" || 'Product'[Product Category Name] = "Clothing")
                    ),
                    (NOT ISBLANK('Sales Territory'[Total Sales]))
                )
            ),
            (NOT ISBLANK('Sales Territory'[Total Sales]))
            &&
            (
                (
                    'Date'[Calendar Year]
                    =
                    2007
                    &&
                    'Geography'[Country Region Name]
                    =
                    "United States"
                )
                ||
                (
                    'Date'[Calendar Year]
                    =
                    2008
                    &&
                    'Geography'[Country Region Name]
                    =
                    "United Kingdom"
                )
                ||
                'Internet Sales'[Internet Total Sales]
                >
                200000
            )
        ),
        ROLLUP(
            'Date'[Date],
            'Geography'[Country Region Name],
            'Product'[Product Category Name]
        ),
        'Date'[Calendar Year],
        "Total Sales",
        'Sales Territory'[Total Sales]
    ),
    'Date'[Calendar Year],
    'Date'[Date],
    'Geography'[Country Region Name],
    'Product'[Product Category Name],
    [Total Sales]
)
ORDER BY
    'Date'[Calendar Year],
    'Date'[Date],
    'Geography'[Country Region Name],
    'Product'[Product Category Name]