Data Model
The CData Python Connector for SAP BusinessObjects BI models SAP BusinessObjects BI universes as relational views. The API allows you by default to retrieve only 5000 records unless changes in the Universe settings.
Schemas for most database reports are defined in simple, text-based configuration files.
Views
The universes of your SAP BusinessObjects BI instance will be listed as separate views you can query against. A universe can have several 'business views'. If that's the case, each 'business view' will be listed as a separate view you can run queries against. If the universe has no business views, than all the universe's objects will be listed as columns.
For example, let's suppose we have a universe named, EFashion. And it has these objects: Year (dimension), StoreName (dimension), SalesRevenue (measure), ThisYear (filter).
The CData Python Connector for SAP BusinessObjects BI will expose the EFashion view that will have the following columns: Year, StoreName, SalesRevenue, ThisYear (input only column). Some queries you can run:
SELECT Year, StoreName, SalesRevenue FROM EFashion WHERE ThisYear = true SELECT Year, StoreName, SalesRevenue FROM EFashion WHERE StoreName LIKE '%boston%' SELECT Year, StoreName, SalesRevenue FROM EFashion WHERE Year BETWEEN 2016 AND 2018 AND StoreName LIKE '%austin%'Note: On dynamically listed views, when you run a 'SELECT *' query, only one default dimension will be selected by default. This is done to improve performance and to make the report more readable. Since a universe can have many dimensions, the report can be unreadable.
For example, in the above example, if we'd run a 'SELECT *' query, only one of the dimensions, Year or StoreName would be selected. If you want to select all dimensions, you must explicitly write them in the query.
Query with multiple flows: If you run queries that include objects that are not related to each other, even though they are in the same universe, the SAP BusinessObjects BI will generate two query flows in the background. In that case, the CData Python Connector for SAP BusinessObjects BI will raise an error stating that the query is ambiguous.
Custom Schemas
You can create your own views (reports), using the CreateSchema, by providing a list of dimensions IDs and measures IDs, that will be the columns of your custom schema.Note: If the dimension and measures you have provided generates multiple query flows, then the respective schemas will be created for each query flow. The naming in this case will be, MyReport_Flow0, MyReport_Flow1 etc.
Supported Operators
The CData Python Connector for SAP BusinessObjects BI does not support client side filtering, which means that all the queries you run, must be supported by the SAP BusinessObjects BI API. Otherwise an error will be raised, stating that the query is not supported. The supported operators will depend on the universe. The CData Python Connector for SAP BusinessObjects BI will dynamically retrieve the supported operators of each universe. Some of these can be: AND, OR, NOT, =, !=, <=, <, >=, >, IS, IS NOT, LIKE, NOT IN, IN.Some examples:
SELECT StoreName, City, NameOfManager FROM EFashion WHERE SalesRevenue > 1000 AND (City = 'Houston' OR City = 'Boston') SELECT StoreName, City, NameOfManager FROM EFashion WHERE SalesRevenue <= 1000 AND City NOT IN ('Houston', 'Boston') SELECT StoreName, City, NameOfManager FROM EFashion WHERE City LIKE ('%ston') AND NameOfManager IS NOT NULL