Sei sulla pagina 1di 35

Personal Connection: It is a connection which is created by single user and it can’t be used by

others.

Shared Connection: it is usually made by another user via server which is shared one. It is shared
connection where all users can access the connection.

Secured Connection: It is connection which can be shared between the users and we can also set
rights & permissions in CMS. When it comes to live project, this connection is the best kind of
connection to use because here we can limit the access to different users also this connection can be
accessed from different servers. Since it is saved in a repository, so if your requirement is to publish
the reports over the repository, we can use this connection

Context:

It is a rule that determines which of two paths can be chosen when more than one path is possible in
the database from one table to another. (Or) It is a list of joins that define a logical path through a
universe.

You can use context when your universe has multiple fact tables to connect one-dimension table,
you will need one context for each.

Alias Table: It is a copy from a database object. We normally create an alias if we have one
dimension shared among more than one fact table.

Microcube: It contains the data returned by the query. It works like a cache, once you drag few
objects in results objects pane and run, complete report data will go and store in microcube and
then display in report.

When you create data query in SAP BO the data retrieved and stored in a Microcube, known also as
WEBI Microcube. It is stored along with the report and the report size will vary based on the saved
micro cube size. BO report engine will use this microcube to display data on the report based on the
selected objects and based on the aggregation function associated with each measure.

2 aggregation level on universe measure

Database level: It is an aggregation function applied on the measure at the database level. The query
retrieves less number of rows rather than the normal query, it will lead to a smaller micro size.

Report Level: We can set this aggregation in object properties tab. The function will be used only in
the report level on top of micro cube data to display data on the report.

KPI: It is a metric used to measure and monitor your performance on achieving your goals and it will
give you an indication on your performance.

Cardinality:

It means a relationship between two tables based on a Join. It means how many rows of one table
will match with rows in other tables when these tables are joined. It can be any of one type:

One to one (1-1), one to many (1-N), many to one (N-1), many to many (N-N).

If cardinalities are not specifying in BO we get more results at report level more than the actual
result like a cartesian product. We can’t detect loops & traps.
If you have lots of table in schema, automated cardinality is not good idea, as it might overload the
database with queries. For Ex. A manager can have many employees reporting to him. So
relationship is 1-N.

Automated cardinality will determine the cardinality for this example is:

One query to find number of rows from manager table.

One query to find number of rows from employee table.

One query to find number of rows when these two tables are joined.

Linked Universes: It shares common components such as parameters, classes, objects or joins.

Condition: It forces a query to retrieve only the data that meets specified criteria.

Condition Object:

It is a filter condition created in the universe level. When this object is dragged in the query panel
the filter condition appears in the query SQL.

In the condition object properties check on the boxes use filter as Mandatory in query and Apply on
Universe and Apply on LOV. If no object from the table is dragged in the query panel, the filter
condition will still appear in the query.

Derived Tables:

Using SQL queries from the database level, derived tables are created in the universe. It can be used
in the complex calculations which are difficult to be achieved in the report levels.

Adv:

It will reduce the amount of data returned to the document for analysis.

We can create complex joins, expressions and conditional prompts in DT which we can’t in Normal
Tables.

Many levels of nested DT can be created using @derived table (table name). Nesting level is 20
levels.

Disadv:

It causes poor performance of the report because the DT do not store the data and it will execute
the whole SQL each report run.

Traps: The most common problem caused by a chasm trap is fetching more data than expected.

Chasm Trap:

In a universe structure, we may have one-dimension table joined with two fact tables such that both
of them are one-to-many(F>-D-<F). (OR)

When 2 many to one joins converge on a single table is called Chasm Trap.

Ex: We have Tables like Product, Orders & Sales. If you take 3 values in the same table it will show
cartesian product because it will return every possible combination of rows for one measure with
every possible combination of rows for other measure.
It can be solved by two methods:

Go to Business layer Query Optionscheck the multiple SQL statements for each measure and
dimension. This helps in generating SQL statement for every measure and gives the correct results.

Best and another approach is to create contexts, it creates two SQL statements which business
objects synchronize to return the correct output.

Fan Traps:

In a universe structure, we may have 3 tables joined in such a way that the 1st table has a one-to-
many join with the 2nd table, which in turn has a one-to-many join with the 3rd table(F-<F-<D).
Inflated results are obtained from when fields from all 3 tables are included in the query.

Best way to solve is to create Alias for Fact(Middle) table which is common for both dimension and
fact table.

Create context to get separate SQL statements to get correct output.

Loops: It is a Join path problem which causes query to return less record than expected. It arises
when join between tables forms a closed path.

Resolve the loops by inserting contexts & alias. We can insert both manually and detection tool.
Contexts resolve by defining a set of join that defines specific path through tables in a loop. It makes
sure that join are not included from different path in the same query.

Apart from Context & Alias, Shortcut Join can also be used to resolve the loops in universe.

@Functions:

@Prompt: This function prompts the end user to enter a specific value.

Syntax is @Prompt (‘Prompt text message’, [‘Data Type’], [Lov],[Mono/Multi],[Free/Constrained]

Free: user can type his own value. Constrained: user must select from list of values.

Extended @Prompt: Syntax is @Prompt (‘Prompt text message’, [‘Data Type’], [Lov], [Mono/Multi],
[Free/Constrained], [Not Persistent],[<{default values or leave blank}]

Using Not persistent removes the last prompt used with the report, it purges the value.

@Script: This function recovers the results of visual basic for Applications macro (VBA macro).

@Select: This function enables you to re-use the select statement of an existing object.

@Where: This function lets you re-use the where clause of an existing object.

@Variable: It is used to reference the value assigned to a name or variable.

Class:

A class is a logical grouping of objects within a universe.

Joins:

A join is a relational operation that causes two or more tables with a common domain to be
combined into a single table. (OR)
It is nothing but connecting 2 tables to fetch the records from 2 or more different tables.

Equi/Simple/Natural/Inner Join:

It is based on the equality between the values in the column of one table and the values in the
column of another. (OR)

Retrieves the records which are common between 2 or more tables. Equality operator is used.

Outer Join:

Retrieves the common records from the table as well as uncommon records from left or right table.

Left Outer Join:

All records from first table with matching rows from second table.

Right Outer Join:

All records from second table with matching rows from first table.

Full Outer Join:

All rows in all joined tables are included, whether they are matched or not.

Cross Join:

When each and every record is connected to each and every record from other table.

Shortcut Join:

It is a join provides an alternate path between two tables. It improves the performance of a query by
not taking into account of intermediate tables and so shortening a normal longer join path. This kind
of join does not create loop and cannot be placed in any context. It reduces number of joins in a
query.

Self-Restricting Join:

It is not really a join at all, but a self-restriction on a table. You can use a self-restricting join to
restrict the results returned by a table values using a fixed value.

Theta Join:

It is a join that links between the tables based on the relationship other than Equality between two
columns. It uses any operator other than equal operator. Basically, it uses to define ranges. It uses
between operators to join two tables.

Integrity Check:

It detects any errors in the objects, joins, conditions and cardinalities of your universe. It detects
whether there are any loops in the joins. It detects whether contexts are necessary. It determines
whether any changes were made to the database to which the universe is connected.

Universe Parameters:

Definition: Define your universe by universe name, description & connection.


Summary: we can find summary information about your universe like how many classes, objects,
conditions, tables, joins etc.,

Strategies: we can implement one of the following strategies.

Join strategy can detect joins between tables based on column names. Object strategy is to identify
your measures and dimension and do special grouping based on some pre-defined condition.

Control: you can limit number of returned rows or time execution or both.

SQL: it can be used to customize and control SQL and query generation.

Links: you can link current universe with another universe or you can include another universe in the
current one.

Parameter:

Hierarchies:

It is an ordered sequence of dimensions which is very helpful for multidimensional analysis of data.

Default Hierarchies:

It is based on the order in which dimensions are placed in the class within the universe.

Custom Hierarchies:

The sequence of dimensions is defined by developer based on business needs of analysis or to meet
user requirements. (OR)

The custom hierarchies can be used for defining the universe for facilitating drill down that is
customized and can happen between objects from different or same classes considering the user
requirements.

If two or more hierarchies start with same dimension but follow different dimensions at lower end
and if user performs drill down on dimensions from such hierarchy, then WEBI asks user to select the
drill path.

Row Level Security:

It can be used to restrict the assigned user to see a specific set of data. (OR)

It can be used to restrict the set of rows to a specific user or user group.

You can set multiple restrictions and give priority to them.

IDT (Security profiles): Data Security Profile:

After saving Data Foundation Click the Security EditorShows Universes Published to
repositorySelect UniverseInsert Data Security Profilego to rows tabgive condition using
where clausesaveAdd this restriction to particular user/usergroup.

Business Security Profile:

Basically, used to do any folder level restrictions for a particular user/usergroup. `

Object Level Security:


It is used to hide some of the objects to particular end user in Query panel.

As long as the user security was greater than or equal to the object security level, they could see that
object on the Query panel.

You can assign the following security levels to the object.

a. Private
b. Confidential
c. Restricted
d. Controlled
e. Public

If you assign restricted to the object, then only user with user profile Restricted and higher level
(Confidential, Private)

If your Object level security for the universe is Public, then you could not see the other (Private,
Confidential, Restricted, Controlled) objects in the Query Panel.

List of Values:

It is a distinct list of values associated with an object. These data values can be originated from a
corporate database or a flat file such as text file or excel file.

Cascading LOV: It is a sequence of LOV associated with a hierarchy in universe. Prompts are defined
for each hierarchy level to return a list of values for the level.

ToolsList of ValuesCreate Cascading LOV

If the hierarchy view option is not selected in universe, user will be asked to enter all prompts while
run the report which is same as normal prompt.

If hierarchical view option is selected, only last level prompt will be asked user to select and all other
info can be select internal in list values.

Cascading Prompt: It is an additional feature in BO reports where user wants to input the values
from higher level to granular level which they are not aware. To help, cascading prompt will provides
the facility to input the values from hierarchical way.

Delegated Measures: Some key figures cannot be calculated in the frontend; therefore, they must
be calculated at the backend, the projection function for conducting the calculation in the backend is
called database delegated. It is a feature in universe design that can greatly impact reporting
delivery. It can improve query performance.

A projected aggregation is set for each measure object in the universe design. Database delegated
objects perform the calculation on the database server and return only a calculated result set.

When a user drags or drops objects from the report, the measure value will automatically adjust
accordingly because of projections we set. Measures like Averages and Percentages and any other
calculation that involves division will use database delegated function. It pushes the calculation of
these objects to the database server.

Use a delegated measure when report users manipulate the measures in reports. When they only
need to refresh, view and print their reports, the calculation may be simpler to perform in the
report. Use DM to replace multiple query aggregates, calculations that could give inaccurate results
when calculated in the report (Such as complex averages), measures that requires division.

Do not use DM when you apply a filter to an aggregated value from your query and further
aggregate it within the report.

Delegated measures are not recommended for ad-hoc report usage. It can be used for
standard/static reports which give very good performance. Olap universes automatically define
measure objects as database delegated.

Aggregate Awareness:

It is one of the powerful function in BO. It will speed up the execution of queries, improving the
performance of SQL transactions using database aggregated tables. Highly aggregated tables like
yearly, quarterly, monthly tables instead of daily tables would increase the performance.

When we build a universe with aggregated tables using aggregate function and assign to a single
object. This function will decide which table to choose based on your selection in the query and
bring the data to the report.

This function is used to increase the performance by directing the report query to select objects
from the aggregated table instead of the detailed table.

This function takes multiple fields from multiple tables that have been inserted into the universe and
determines which one to use depending on objects selected for a query by end user.

Using Aggregate awareness, you can use pre-aggregated tables to improve the query performance
by processing less number of rows. When you add an aggregate aware object in query. Query
generator retrieves the data from the table with the highest aggregation level.

Syntax is @aggregate_aware(sum(agg tab1)…..,sum(agg tabn) from highest to lowest aggregate


table.

Set compatible & incompatible objects to each aggregate table to specify which aggregate tables are
disregarded during the generation of SQL in the report.

Rules: When an object is at the same or higher level of aggregation as the table, it is compatible with
the table. When an object is at lower level of aggregation than the table, it is incompatible with the
table.

Index Awareness: It is the ability to take advantage of the indexes on key column to speed data
retrieval.

Object Qualification: For the purpose of multidimensional analysis, objects are qualified as one of
three types dimension, detail,measure.

Dimensions:

It is the object being tracked, it can be considered the focus of the analysis. A dimension can be an
object such as service, price or customer. These are qualitative and do not total a sum.

Detail:

It provides descriptive data about a dimension object. It is always associated with a specific
dimension object. It cannot be used in drill down analysis.
Measures:

This are numeric values that mathematical functions work on. For ex. a sales revenue column is a
measure because you can find out a total or average the data.

Difference between OLAP & ROLAP Connection:

If you need to access data from a table and regular RDBMS then your connection should be a
Relational connection but if your source is an application and data is stored in cube the you would
use a OLAP connection.

Relational connection will always produce a SQL statement, while OLAP connection create a MDX
statement.

Olap connection can be created to connect BI server, multiprovider, infocube and bex query. In IDT
we can create OLAP connection to connect to SAP NetWeaver Business Warehouse using Business
Intelligence Consumer Services (BICS). It is the recommended way to connect to Bex queries on the
SAP NetWeaver BW server.

Universe Best Practices:

a) Keep the number of objects to 700-800.


b) Large universes will require more memory to use, means more java runtime memory
allocated for Web Intelligence users.
c) Reduce complexity where possible.
d) Limit to 20-25 objects per class.
e) Use subclasses and detail objects.
f) Avoid adding SQL in the WHERE clause of any object, especially for ad-hoc queries.
g) Use Delegated Measure feature for AVG, %. This prevents incorrect calculations.
h) Use Condition objects as pre-defined query filters in the report.
i) Remove the unnecessary tables, classes, objects & joins from the universe design.
j) Use shortcut joins for query retrieving fast.
k) Use Index awareness & Aggregate awareness to improve the performance.
l) Disable LOV for measures and unnecessary dimension objects.
m) Partitioning the fact table can boost your query performance.
n) Keep the number of key figures low to increase the performance.

Difference between IDT & UDT:

In UDT there is structure pane & Class n Object pane, but in IDT there is Data Foundation & Business
Layer.

In IDT you can create universe based on multiple data sources, but in UDT you can create universe
on single data source.

In IDT they introduced the concept of views in DF. If you have many tables to be used in the
universe, it would be difficult to manage join and structure. So, we can create multiple views with
tables and join them. For ex. One view is related to client and another is related to product etc.,

In UDT you can add a table at anytime and then drag it to object pane to create objects
automatically, but in IDT automatic classes & objects are created only once when you create the BL
for the first time. After that if you add any table you have to create objects based on it manually.

IDT:
Project: It is a local workshop that contains the resources used to build one or more universes and it
can be shared with multiple designers for same resources.

Connection: It is nothing but parameters that define how a universe can access a relational or olap
data source. All universes must have associated with atleast one connection. One connection can be
used many/several universes.

There are 2 types of connection: Relational & Olap Data Connection.

Data Foundation: It defines relevant tables and joins from one or more relational databases. We can
add derived tables, alias tables, calculated columns, additional joins, contexts, prompts, lov and
other SQL definitions.

While creating Data Foundation you have select your data sources either single or multiple data
source.

LOV can be defined in Data Foundation or in Business layer. It allows the user to choose values for a
prompt.

Parameters is nothing but prompts in universe designer and it can be defined in Data Foundation or
in Business layer. When you define in DF, they are directly inherited to Business layer on top of DF.
These parameters can’t be edited in BL. It has following input types: User input & Pre-defined input
value.

Business Layer: It is a collection of metadata objects (Classes & objects panel in Universe designer)
that map to SQL or MDX definitions in a database. Objects include dimensions, hierarchies,
measures, attributes and predefined conditions.

In Business layer properties Summary tab gives summary of all objects in Business layer. Change DF
is used to change DF. Parameter is used to change the value of query script parameters.

BL editing pane allows you to edit Name of object, description, type and projection function also
check SQL definition, source info, custom properties and advanced properties.

Query options like limit no. of rows, limit execution time, enable query stripping, allow use of
subqueries, multiple SQL statements for each measure.

You can create new folder, dimension, measure and filter by clicking insert. Select dimension it will
show SQL tab, keys tab, advanced tab, source info, custom properties tab. To define keys in keys tab
like Primary, secondary key. To define access level of object R.C on objectChange access level or
we can find in advanced tab.

Olap Business Layer: It is based on Olap cube. No data foundation here.

WEBI:

Section & Breaks:

We can apply Section & Break to a single table or block of data.

When you apply a break to a dimension in a table, each unique value of dimension is sub grouped
within the table. Break is extremely useful for grouping limited amounts of data with aggregated
measures at the end of each grouping. In Break we can have subtotals & Grand totals.

Section is similar to breaks but it affects the entire report.


When you apply a section to a dimension in a table, each unique value of dimension is sub grouped
outside the table, effectively sectioning the entire report. Sections can contain tables, charts and
other type of objects. Tables placed within section can contain breaks. In Section we can have
subtotals only.

Combined Query:

These are multiple queries on the same universe that returns a single set of data. We can combine
queries in 3 relationships:

Union: WEBI takes all the data from both queries, eliminates duplicate rows and builds a combined
data set.

Intersection: WEBI returns the data that is common to both queries.

Minus: WEBI returns the data in the first query that does not appear in the second.

Prompt: It is a dynamic filter that displays a question every time you refresh a report. You can type
or select values that you want to limit the data retrieved from database by a query.

SubQuery:

It is more flexible kind of query filter that allows you to restrict values in sophisticated ways other
than ordinary query filter.

They allow you to restrict the values returned by subquery with a where clause.

They allow you to compare the values of the object whose values are used to restrict the query with
values from other objects.

Filters in WEBI:

Query Filters: This are used to limit the number of rows from the data sources and returned the
same in the WEBI document.

Predefined filters: It is defined in Universe. It limits the data returned by the query to specified
values.

Quick Filters: These are used to quickly retrieve the values you want without the use of filter editor.
This use equal to operator while using a single value or list in operator when you use multiple values.
It can’t be used with Bex queries.

Report Filters: This are used to hide the certain values at report level. This are applied at report level
on blocks, tables, and charts etc.,

Standard report (or) Block filters: These filters are used to filter on a single value or list of values.

Simple report filters: They provide an easy way to create filters using equal to operator. These filters
apply on single value.

Prompt in WEBI report: 2 types of filter that you can use in create query in your WEBI report.

Static Filters: It can be either created in the universe and you can just drag and use them, it appears
like a yellow cone. Again, when you refresh data from your report it will not ask the end user to
enter any values as the filter values already defined.
Dynamic Filters: It will prompt or ask the end user to enter or select filter values before submitting
the query to database. You can create prompt in the universe and make it available and ready for
use.

Linking In WEBI:

Element Linking: It enables linking between the two components within the same report and
dynamically changing the values of one component through the other. It can be used in charts also.

Document Linking: For linking two different reports we use these linking. For example, State wise
sales report and City wise sales report. It is not available in WEBI Rich client.

Hyperlink: Through Hyperlink, we can find detail level information about a particular object.

Hide:

You can hide the dimensions & details in the block without getting calculation errors. In some
scenarios we need to hide objects/blocks/charts/rows/columns based on business needs.

You can Hide dimension object by right click on selected object get a hide option.

You can Hide row/column when dimension/measure is null/empty by right click on the table/block
and uncheck the options show rows for with all empty measure values & show rows with empty
dimension values. By default, these are checked.

You can Hide measure objects which contains “0” as value by right click on the table/block and
uncheck the options show rows for which all measure values=0 & show rows for which the sum of
measure values=0

You can Hide Duplicate records & To get unique/distinct records by:

1. In universe use ‘distinct’ in select clause we will get unique records.


2. In query properties ‘Retrieve duplicate rows’, we need to disable to get unique records.
3. R.C on created blocks and uncheck the option ‘Avoid duplicate row aggregation’.

You can Hide a table or chart can be conditionally set to hide based on a formula. Create different
tables for different scenarios. We are achieving the column hiding by means of two tables which are
dynamically hidden based on condition. In 3.1 combination of the alerter method and conditional
hiding method (written condition on column headers).

Variable: It is a reusable object wherever we want we use this variable.

Drill Mode:

It helps to analyse the data from different level of details. (OR)

It is used to perform analysis based on trends in the required data that can be recognised when
looking at low level detailed data.

Drill Up: It goes back up through the hierarchy to display data on less detailed levels.

Drill Down: It displays the next level of detail in hierarchy.

Drill By: using drill by we can move to another hierarchy to analyse other data that belongs to a
different hierarchy.
Drill Through: You can drill through to the database directly from drill mode and get the lowest level
of detail data you need in the report.

Input Controls:

These are used to filter and analyse the report data. It allows multi selection of values which a report
filter does not support. We can create a dynamic report depending on the user’s selection.

Scope of Analysis:

It is a feature in WEBI to increase the performance. It sets the limit to drill down in the report. It
helps in avoiding the database hit for each time you are drilling the report for analysis. It will save
your report refresh time and also helps user to get requested data faster and also will avoid
database traffic.

This option in query panel is only available for relational universes and not for Olap sources.

There is a WEBI security rights for Scope of Analysis and you can setup the rights in
CMCApplicationWEBI. Deny the access for granularity access level Extend Scope of Analysis to a
user.

Context Operators:

ForEach: It includes the dimension to a context.

For Ex to show the maximum revenue for each quarter in a report which having the quarter
dimension in the query panel but that does not include in the block.

Max([Sales Revenue] ForEach([Quarter])) In ([Year])

ForAll: It excludes the dimension from a context.

For Ex you have a report showing year, Quarter and Sales Revenue and you want to add a column
showing Yearly Total Revenue.

Sum([Sales Revenue] ForAll ([Quarter]))

Ranking:

Ranking is a very helpful feature in WEBI as it helps to show top n/bottom n data very easily. It
applies the Descending order by default.

Ranking can be done by two ways:

Ranking done at report level.

Ranking done at database level in query.

Database level ranking is more efficient as it uses database server processing to achieve ranking. It
ranked data at database level and the data returned to the WEBI by the query was already ranked. If
database does not support ranking function then this feature will be disabled in the WEBI.

Sorting:

It can be applied in table on sections, charts to organize the data in the specific order in the report.
You can apply multiple sorts in a single table on different columns.
Custom Sort allows to sort the values in table as per requirement and Developer can set sort order
as per requirement which is not necessarily as Ascending and Descending order.

You can only use custom sort with dimension object not measure objects. In custom sort we can add
values not in the list for eg. If you have a custom sort on currency. We have 3 currencies but only 2
of them displayed. If we want to consider the 3rd currency as well when it shows up in our data you
can simply type in the temporary values and assign it the right position. You can set the sort order
priority on a table if you have more than one level of sorts.

Ranking & Sorting can have applied on Charts.

Conditional Formatting:

It is used to highlight the specific values based on certain condition.

It helps in pointing the important information and help to automate the highlighting process by
setting business rules.

This can be applied on tables, section cells, free standing cells. It cannot be applied on chart. A
report can have maximum 30 rules. Maximum 10 rules can be applied to single row or table column.

Data Tracking:

It is a WEBI feature that allows you to see the differences between two versions of your query
results. For Ex. If you run a query daily you can compare today’s results to the prior day’s results. The
previous data set is called ‘reference set’.

User Response:

We can display the prompt value entered by the user in report level by using user response function.

Syntax: string Userresponse(string data provider; string Prompt)

Data provider is an optional field and is only required if your report contains multiple data providers.

Exact text of prompt need to use in useresponse function.

For Ex; Userresponse(”Enter State:”)

Merge Dimensions:

It is a feature which allows linking of two or more data providers (Queries) using common
dimension. Mandatory condition to merge is same data type.

For Ex: Suppose we have tables Employee and Customer with columns like EmpID, Name, Salary and
CustID, CusName, Revenue respectively. Using common dimension ID’s merged and create the table
with MergeID, Salary, Revenue it shows Full Outer Join.

If I involve any one non-merged dimension in the table it will show either left or right outer join. We
can’t use both Name and CusName in same block as these are not merged, we will get datasync
error.

Force Merge:

Document Properties in WEBI:


Extended Merge Dimension:

It is an option which makes the functionality of left or right outer join to work as full outer join. But
this works only when unmerged dimension is not selected in the block.

Check the Extended Merge Dimension option from Document Properties.

Permanent Regional Formatting: This option permanently applies current date, time and currency
local to the report.

Hide warning Icon chart: Whenever we perform conversion such as converting table into chart, we
use this property to hide warnings from users.

Query Stripping: It is a feature that removes the unused objects from a query automatically to
improve the performance and reduce the data contained in the microcube.

It is available for BICS Based Connectivity. From 4.1SP3 it was introduced for Relational databases.

We can enable this feature from Business layer (Query Properties), Document Properties, Query
Properties.

Merge Prompt in Bex query: If we are using more than one document, it may consist of same
condition in several documents. If we enable merge prompt in bex query option it will ask only once,
same conditions are merged together.

Automatic Refresh: It will automatically refresh the document after some time interval.

Auto merge dimensions: It synchronizes the dimensions that have the same name but are derived
from different queries.

Refresh on open: It ensures that, the latest data is displayed each time the report opens.

Errors in WEBI:

CORBA Error:

Datasync: It occurs if the dimensions from different data providers are not synchronized or merged
through a merged dimension. (OR)

It also occurs when you place a dimension n from different data providers in a block containing
dimensions from another data provider and 2 data providers are not synchronized through a merged
dimension.

Incompatible: Occurs if you try to include objects from 2 queries contexts which does not have any
relationship or tables which are not linked.

Multivalue: If a single cell is trying to display multiple values. (OR) Occurs when you place a formula
that returns more than one value in a cell that outputs.

#TO Refresh: It happens after changing the current navigation state eg. After adding or removing a
dimension from a table and also happens when applying report filters like Input controls or using
Simple report filters in the filter bar. It occurs only if the measure object has Projected function
‘’Database Delegated’’. By check the option auto refresh option in document properties in WEBI to
resolve this error.
Performance Tuning of WEBI Reports:

a. Minimize the usage of Report variables/formulas.


b. Avoid Complex Calculations on reports.
c. Use Breaks/Crosstabs/Charts/Alerters if necessary, because it will degrade the performance.
d. Use refresh on demand instead of refresh on open.
e. Use Hyperlink feature to enhance report performance.
f. If necessary, create Merge Dimensions.
g. The most common reason for poor performance in report is too much data in the report.
h. Uncheck the retrieve the duplicate values option in Query panel.
i. Limit the data providers used in the report.
j. Enable Query Stripping in the query properties.
k. Check the Query drill option in query properties to reduce the amount of data stored locally
during the drill session. When you drill up it purges the unnecessary data.
l. Limit the use of Scope of Analysis.
m. Unnecessary objects remove from query panel.
n. Use Query filter instead of Report filters.
o. Remove Auto height/width if possible in report.
p. Avoid usage of Derived Tables in the universe.
q. Always try to restrict the data at universe level (use conditional object) rather than at report
level. The report takes less time to execute.

New Features in WEBI 4.2:

Parallel Data Provider Refresh: It refreshes the Multiple Data Providers simultaneously.

Geo maps (Geo Bubble & Geo Pie Chart) introduced in WEBI.

Group of Input Controls: Create group of input controls that interact with one another. Restricting
the LOV of an Input Control based on selection made for a previous Input Control.

Comments: You can add, view and remove comments on specific report elements such as charts,
tables and individual cells within a table. Icon is displayed next to each block or cell that contains
comments.

Direct Access to HANA: We can create reports on top of HANA view directly instead of creating a
universe. We can also connect the HANA view directly to get the online data which will be useful for
any type of real time reporting.

Share Element: It provides you to capability to reuse your report part (Data, Charts,
Variables/Report Element Queries etc.,). Report part saved in a Shared Element. It can be reused in
the other WEBI reports.

References: It is a variable that returns the value of a specified cell in the document. It can be used
anywhere in a report or in a formula. It can be handy to directly get a result in the Calculation
context. It returns the value actually displayed in a cell.

Merge Variables: Like Merge dimensions, now you can also use variables for merging different
queries involved in the particular WEBI document.

SAP HANA Online Mode:


DASHBOARDS:
In Dashboards we can’t directly assign data to component. The data first has to come to
spreadsheet, and then only we can assign it to a component.

Dashboards provides many options to connect your dashboard to live data sources. The 4 most
popular Dashboard connection types are:

Live Office

Business Intelligence Web Services

Query as a Web Service

Query Browser (New in Dashboards 4.0)

Live Office: It is our only alternative to connect to a Crystal Report Data Block. It is typically used for
smaller data blocks, blocks with more than 500 rows can affect Dashboard performance. It has the
slowest refresh time of these 4 connections, (the Webi or Crystal reports data block must be built in
excel first). When using Live office connections, you must export your worksheet to excel, modify
the connection, then re-import excel worksheet.

BIWS: It is the most robust connection. Using these you can pass additional inputs, filter dimensions
and measures, drill up/down in tables and insert additional Webi document objects. It can contain
multiple selectable data blocks. Each data block must have imported into the dashboard separately
using a connection that defines which data block to insert.

With Live Office & BIWS you can schedule the report, so that open your dashboard data is being
fetched from the report data block not directly from your data source, providing faster load times.

QAAWS: If data complexity is less the use QAAWS.

Query Browser: We can directly connect bex queries. Using this, dimensions and measures can be
mapped directly to dashboard components and not inserted into the excel workbook.

With QAAWS & Query Browser connections you do not have to build a report inside dashboards and
query directly to the database.

The importance of BIWS is that we can leverage lot of specific features in our dashboard. We can
avoid calculations in dashboard end when using BIWS, but QAAWS is not good to handle such
complex data scenarios. QAAWS connects to database directly whereas BIWS connects to a
scheduled instance of webi report. So, in performance side BIWS would be better. But whenever
data complexity is less QAAWS is easy to setup compared to BIWS.

Dynamic Visibility:

When you have a lot of information to display in your dashboard and a limited amount of space, it
enables you to make components visible or hidden based on user selection.

Components: In Dashboards, components are intended for two purposes like displaying output and
receiving input. Some components can be used for one purpose only, while others can both receive
both receive input and display output.
Input components like sliders and selectors use to add interactivity to your models, which allows you
to perform” What-if” analysis. When a user changes the value in one of the single value
components, it can affect the output values of other components based on the formulas you use.

Selectors facilitate an end user to enables easy navigation, filtering, and drilling down into
information.

Output components like charts and gauges are intend to display data only. They can be used to show
values or results of formulas in dynamic way, but you cannot change the values in such a component
directly.

Chart Components:

Charts are used to perform analysis of value, comparisons and trend summary of data.

Bar & Column Charts: These charts show the comparison of one or more items over a specific period
of time.

Stacked Column & Bar Chart: These are multi bar charts that show and compare one or more
variables. It compares several variables over a period of time like marketing cost & administrative
cost. Each cost components is presented in different color and each bar represents a different time
period.

Line Chart: It is used for showing tendency over a period of time. Using this we can see a trend or a
continuing sequence of data, such as stock prices or revenue history.

Column Line Chart: It is a line chart superimposed on a column chart and it is ideal for displaying
range of values and a trend line for those values. Using this chart to examining stocks, a line series
might show the historical stock price over the year and a column chart might show the volume of
trading for that stock.

Pie Chart: It is a circular chart that represents the distribution or participation of each item of a
certain total that is represented as the overall pie value. Using this chart such as revenue
contribution by product etc.,

Area Chart: It is a standard chart with vertical & horizontal axes. Using this chart we can see a trend
line such as stock prices or revenue history.

Stacked Area Chart: It has vertical & horizontal axes. Using this chart we can compare revenue for
multiple products as well as combined revenue of all the products and the contribution of each
product to the combined revenue.

Bubble Chart: This chart compares a group of series of items based on three different parameters.

Tree Map: It displays data in a two-dimensional area. It display two parameters represented by size
and color intensity and can be used to compare two sets of data.

Waterfall Chart: It is useful to visualize the fluctuation of a value in positive and negative values. For
Ex. Stock level of goods in a warehouse.

Container Components:

Panel: You can use to hold components.


Tab set: It acts as a smaller canvas within the main canvas and contains multiple tab views. Each
view can contain one or more components, which can be linked to different data sets.

Selector Components: It allows users to pick different options at runtime.

Accordion Menu: It is a two-level menu that allows users to select a category and then select the
items from the category.

Check Box: This is a two-way box where a user can assign a checked or unchecked.

Combo Box: It allows you to use a drop-down list of items when it is clicked. Users can select an item
from the list.

Fisheye Picture Menu: It allows users to select from a set of pictures or icons.

Label Based Menu: Users can select items from a vertical or horizontal grouping of buttons.

List Box: User can select items from a vertical list.

Play Selector: It sequentially inserts one row or column after another from a defined range. It can
display a large amount of data with an animated feel, since users do not have to click each selection
to view the data.

Radio Button: Users can select items from a vertical or horizontal group of items.

Sliding Picture Menu: It allows users to select from a set of icons or pictures.

Spreadsheet table: It displays data exactly as it appears in the source range in the embedded
spreadsheet.

Ticker: It displays horizontally scrolling text in model. Scrolling stops when user moves the mouse
pointer over the labels.

Single Value Components: This is useful for displaying or inserting data to an individual cell in the
embedded spreadsheet. You can use any single value component as an input or output element in
model. As an input, it permits user interaction, as an output it displays the value of the cell.

Dial: It can be linked to a single cell only, and is usually used as an input. Users click the dial and drag
up or down to change the value.

Horizontal & Vertical Slider: It can be linked to a single value and are usually used as an input. Users
click and drag the slider to change the value.

Dual Slider: It is similar to Horizontal slider, but it has two values; a low and high value. This is useful
for representing the maximum and minimum values of a parameter. Users click and drag the sliders
to change the values.

Gauge: It is usually used as an output component to reflect the value of a key metric. It can also be
linked to multiple cells. Each value is represented by a marker in the Gauge.

Play Control: It acts as an input component that incrementally increases the value of a cell in your
spreadsheet. It helps users visualize how the steady increase of a single variable affects other data.

Horizontal & Vertical Progress Bar: These are more appropriate for use as output. When value
displayed by the progress bar increases, more and more area gets filled.
Map Components: Create Dashboards with geographical representations that can be display data by
region. Map components can be configured so that each region acts as a selector. Users can click
each region to explore more detailed information.

Text Components: It allows you to either insert static text or you can link the text components to
cells in the embedded spreadsheet to dynamically change the text displayed in the model.

Input Text area: It can display multiple lines of text that the user can edit during runtime.

Label: It is used to add titles, subtitles, explanation and more.

Input Text: It allows you to display text that the user can edit during runtime.

Web Connectivity Components: It allows you to connect your data model to WEB.

Connection Refresh Button: It allows users to manually refresh the connections that you link to it.

Slide show: It creates a slide show of URL based images and SWF files. It is useful for displaying a
large number of images. The slideshow loads files from the URL specified.

SWF Loader: It is similar to Slide show. It loads SWF files from a specified URL .The SWF loader has
better memory management than the slide show, but it does not have transition effects and cannot
block mouse events.

URL button: It allows you to link a URL within your model.

Universe Connectivity Components: It contains group of components that can be used with queries.

Query prompt Selector: It allows users to choose values from Bex or Universe query prompts at
runtime.

Query Refresh Button: It allows users to refresh the query data during runtime.

Alerts in Dashboard: These are used to bring the user’s attention to a specific item that reaches a
pre-established limit. Limits often called targets, budgets, benchmarks etc.,

You can set different colors to show the level of alerts. Typically, green represents a desired
condition, yellow indicates that the situation is not ideal and red marks an issue as critical. It can
enable for Selectors, Single value components, Charts, Maps etc.,

Before Publish, you can export of your model into another format like PDF, Excel data, Flash (SWF),
Power Point Slide.

Data Insertion Types:

To select a particular piece of data, a selector copies data from a source range to a destination. If a
component is bound to the destination range, the data in the destination range will appear in that
component.

To setup a destination range functionality for most selectors, you can use Data insertion section.
There are: Position, Row, Label, Value, Column, Filtered Rows, Status List.

BO ADMIN:
File Repository Servers:
The FRSes are responsible for listing files on the server, querying for the size of a file, querying for
the size of the entire file repository, adding files to the repository, removing files to the repository.

Input FRS: It manages the report and program objects that have been published to the repository by
administrators or end users.

Output FRS: It manages all of the report instances generated by the report job server or the web
intelligence report server and the program instances generated by the program job server.

Sessions in CMC:

You can view and terminate user sessions.

For Ex: you may want to see which users are using multiple sessions. Administrators may want to
terminate Old sessions and sessions consuming too many system resources. You might also need to
terminate sessions when preparing for system downtime or upgrades.

Named User: This user licence to represent an individual person or user and provide guaranteed
access to the system. It provides access to all desktop applications such Webi rich, IDT etc., if you
have 10 deployments in your organization then same named user license can be used for all
deployments.

These user licenses are associated with specific users and allow people to access the system based
on their username and password. This provides named users with access to the system regardless of
how many other people are connected.

Concurrent User: This user license represents single login to BI platform by any user. Login using
concurrent users are limited to a number of licences deployed on the server. If you have 20
concurrent licenses on the server then you can create any number of users on BI platform but only
20 users can log in at a time. The user has read and edits access to all tools and can edit document
using BI platform.

These licenses specify the number of people who can connect to BO enterprise at the same time.
These license scheme is you buy a license for a number of users logged in at the same time so you
can have many more potential users than on your license but only the number on your license will
able to log on at any given time. When that number is reached you can only log in if someone else
logs off.

Instance Manager:

It lets you view and manage all of the instances in your BOE deployment from one location.

The default view of Instance Manager shows all pending instances, sorted by title. You can filter by
Parent folder, Owner, Status, Object type, Completion time, Next run time.

You can select multiple instances to perform batch operations on them, such as pause, resume or
delete. You can also use the instance manager to request detailed information for a single instance
and to diagnose and resolve system problems that cause instances to fail.

BI Administrator’s Cockpit:

It is a new application added in CMC in BI Platform 4.2. You can obtain high level information about
Servers, Scheduled Jobs, Content Usage and Applications. It provides a high level dashboard view of
BOBJ 4.2 environment.
From servers the status of running, stopped and failed displayed.

From schedule jobs to view Failed, Success and Running jobs.

From content to view detailed report and universe and report run time and usage count

From application it displays all applications or the Top applications used by the users.

Auditing:

It enables us to have a detailed historical view of user and object interaction and the system usage
over a period of time. Based on the Audit reports we can identify usage pattern of the business
community such as peak usage, unused reports and inactive users. The Audit information will be
always historical.

Auditable Actions:

Track when objects are created, deleted or modified.

Track when reports are opened, saved, refreshed, created, modified and deleted.

Job monitoring and failure.

From BI 4.0 auditing database schema was changed, improved. It does not include auditing sample
universe and auditing sample reports with the installation. We need to configure by giving database
configuration. You need to restart CMS hence logoff from CMC. Open CCM and restart SIA.

Promotion Management Tool:

It is a tool includes in BI4.x suite that allows content (users, groups, reports, universes, connection&
rights) to be migrated from one BOE environment (DEV) to another BOE environment(PROD).

Features are: Create job, Copy existing job, Edit job, Schedule a job promotion, Export as LCMBIAR,
Import both BIAR/LCMBIAR, it enables you to promote info-objects along with the associated
security rights.

Add the required objects from CMS repository. Add the dependent objects such as universes,
connections, images and other dependencies using Manage Dependencies option.

Promote: Security tab:

Do Not Promote Security: Jobs are promoted without the associated security rights.

Promote Security: Jobs are promoted along with associated security rights.

Promote Object Security: Automatically selected when you select Promote Security.

Promote User Security: Jobs are promoted with associated user security.

Include Application Rights: If the Info objects in the job inherit any application rights, the job is
promoted along with these application rights. This option is enabled only if you select Promote
Security.

Test Promote: Without committing the objects to destination and check what will happen if you
promote the job.

To promote a job you can Schedule it or run manually. You can check the status (Success, Failure,
PS).
Rollback: It enables to restore the destination system to its previous state, after a job is promoted.

Manage Systems: It displays a list of host names, port numbers, display names and description.

Rollback Settings: We can enable/disable Rollback settings.

Job Settings: We can restrict number of job instances that can exist in the system.

CTS Settings: We can integrate transport mgmt. systems by using BW system.

Override Settings: It enables you to promote the override through a job promotion. If the override
fails at the destination system during the promotion of objects the system sets the job status to
Partial Success and Failed.

Upgrade Management Tool:

It is used to migrate from previous versions to Business Objects 4.x. We can export Business
Intelligence content (users accounts, groups, folders, reports, universes, security and other options.

It includes two types of upgrades:

Complete: It copies all objects and files (including dependencies & connections etc., in BI) from the
source system to destination system with default options. Any object that exists in the destination
deployment are automatically overwritten by objects with the same unique identifiers in the source
deployment. Objects in the source deployment with different unique identifiers but same name and
location as objects on the destination deployment are renamed when they are upgraded.

Upgrade Scenarios:

Live to Live: Exports content from source deployment to a destination deployment and upgrades it.

BIAR to Live: Exports content from a BIAR file to a destination deployment. BIAR file generated using
Import Wizard.

Live to BIAR: Exports content from a source deployment to BIAR file.

You cannot export a BIAR file generated using UMT 4.0 into another 4.0 version deployment.

Incremental: It allows you to migrate individual objects to a deployment. You can select which
objects in the source deployment can be copied and renamed if they have unique different
identifiers but the same name and location as object on destination deployment. You can select BIAR
file as source or destination for upgrade. It is the best way to export limited subset of source object
into destination deployment.

Object selection: You can select the objects and its dependencies (includes universes, universe
connections and object instances) to migrate by clicking the options tab.

Summary Page: Allows you to specify name conflict resolution or incremental export options for the
upgrade process. Rename the object and avoid name conflict. Overwrites objects to the destination
deployment with objects from the source deployment, if their CUID’s match. Overwrites existing
security rights on the destination deployment with security rights from the source deployment, if
their CUID’s match.

The Upgrade options you select apply to all objects during the upgrade. To export multiple objects
with different options, you must perform separate incremental upgrades.
Export Page: It shows information about objects that were upgraded successfully and objects could
not be upgraded.

In 4.2 UMT there are several functions, options got enhanced to get better results in the upgrade.

New select filter page is added and the main purpose of select filter page is to reduce the number of
document being displayed. It allows you to filter the documents based on created/modified time,
object type, previously migrated content.

Migrate security option check box in the upgrade option page.

Enhanced Log page, there is an option to save credentials for future usage.

Access Levels:

These are pre-defined set of component rights that define use of folders, universes, connections and
documents. It allows administrators to set common security levels quickly and uniformly rather than
setting individual rights one by one.

a. View: A principal can view the folder, objects within the folder and each object’s generated
instances (View objects and document instances).
b. Schedule: Principal can generate instances by scheduling an object to run against a specified
data source once or on a recurring basis (Principal can view, delete and pause the scheduling
of instances that they own).
c. View on Demand: Principal can refresh data on demand against a data source (Refresh the
report data).
d. Full Control: Principal has full administrative rights.

Custom Access Level: We can create new custom access level when pre-defined access levels do not
meet the needs of our requirement.

Scheduling: We can schedule a report so that an instance of it is generated on one time or recurring
basis.

Publication: It allows multiple reports to be sent to multiple users with multiple conditions.

Report Recipients consists of

Dynamic Recipients: Through this we can publish reports to Non BO users. We can directly send
Published reports to users mail box.

Enterprise Recipients: These are business users who use BO reports and will receive the report in BI
Launchpad itself.

Job Server:

Job Server process scheduled actions on object at the request of CMS. When you add a job server to
the BOE system, you can configure the job server to Process reporting or document objects, Process
Publication objects, Process Program objects, Send objects or instances to specified destinations.

The Processing tier includes:

Web Intelligence Job Server:

This server process scheduling requests it receive from the CMS for Web intelligence documents. It
forwards these requests to the web intelligence report sever.
Web Intelligence Report Server:

It is used to create, edit, view and analyse Web Intelligence Documents.

This server process scheduled Web Intelligence Documents and generates new instances of the
document, which it stores on the Output FRS.

Depending on the user’s access rights and the refresh options of the document, the Web intelligence
Report server will used cached information, or it will refresh the data in the document and then
caches the new information.

Web Intelligence Processing Server:

It interacts with the CMS to list documents and universes and communicates with the Input FRS to
open or save WEBI documents. It also process scheduled Web Intelligence documents for the Web
Intelligence Job Server and generates new instances of documents on the Output FRS.

Crystal Reports Job Server:

This server process scheduled reports, as requested by CMS and generate report instances. To
generate a report instance, the crystal reports job server obtains the report object from the Input
FRS and communicates with the database to retrieve the current data. Once it has generated the
report instance, it stores the instance on the Output FRS.

Crystal Reports Processing Server:

This server retrieves data for the report from an instance or directly from the database depending
on the user’s request and the rights he has to the report object.

Program Job Server:

This server process scheduled program objects, as requested by CMS. To run a program, the
program job severs first retrieves the files from storage on the Input FRS, and then runs the
program. The outcome of running a program is dependent on the program object that is run. The
program instances exist as record in the object history.

Destination Job Server:

If you configure a job server to send objects or instances, it becomes a Destination Job Server. It
process request that it is from the CMS and sends the requested objects or instances to the specified
destination.

The request for an object, it retrieves the object from the Input FRS. Request for a report or program
instance, it retrieves the instance from Output FRS.

This job server can send objects and instances to destination inside the BOE system, for example a
user’s inbox or outside the system.

It doesn’t run the actual report or program objects. It only handles objects and instances that
already exist in the Input or Output FRS.

Adaptive Job server:

A generic Server that hosts BOE Job services.

Adaptive Processing Server:


It is a generic server process that hosts BOE services. It provides a hosting environment, enables the
services to run and manages the life cycle of the services including starting and stopping. It can host
services such as the publishing service and the client auditing proxy service.

Central Management Service(CMS):

Central Management Server is the central platform service and is responsible for maintaining a
database of information about your Business Objects Enterprise system.

It is a process running as part of your Business Object Enterprise servers, including the CMS
database, Audit database, Authenticating Users, Storing Access rights, License Management etc.,

CMS can keep track of Security details, Objects hierarchy, Managing Servers, User activity.

CMS maintains a database of information about your Business Objects Enterprise System known as
CMS database. All the platform services are managed and controlled by the CMS.

CMS enforces the application of rights at the both folder and object level, and support inheritance at
the user and group level.

CMS can keep track of the object location and maintains the folder hierarchy. It also manages access
to system file store where the physical documents are managed.

It also maintains an auditing database of information about user actions and files with the file
repository servers. The Auditing functionality allows administrators to better understand which
users accessed the enterprise system, which documents they interacted. Auditing reports are also
available to provide fast access to information such as the most accessed reports, Peak system use
times and Average user session times.

Central Management Console(CMC):

It is a Web based tool which performs day-to-day administrative tasks including User management,
Server management, and Data management.

It allows you to publish, organize and set security levels for all your Business Enterprise Content.

Server management includes Addition and Removal of server process, Server process configuration,
the automatic restart or shutdown of servers. You can control the servers and manage their
individual settings. You can also start and stop as well as enable and disable servers.

Stopping a server terminates the server’s process completely and results in a complete shutdown.

Disabling a server prevents it from receiving any further requests but doesn’t actually shutdown the
process. It’s good practice to disable certain servers like the job server and the program job server
prior to stopping them so that they can complete the processing of any pending jobs.

Administrative Tasks like:

User and User group’s creation.

User Security

Authentication

Object rights

Licence Keys
Folder and Category management

Scheduling the reports

Universes and Data connections

Server Groups

Server Configuration.

Server Intelligence is a component of the CMC that simplifies administrative procedures previously
carried out by the CCM. It also archives server process information in the CMS database so you can
easily restore default server settings.

Central Configuration Manager(CCM):

It is an application which allows you to configure/add/remove/stop Business object server services.

It is a server troubleshooting and node configuration tool. It allows you to view and modify server
settings only when Business Objects server process is offline.

The CMC is used to stop server processes, and then the CCM is used to modify performance settings
or change server port numbers.

Most Server Management tasks are handled by CCM, now it handles through the CMC. CCM is now
used only for troubleshooting and node configuration.

Two services are installed in CCM

Tomcat Service:

Server Intelligent Agent (SIA): It manages all the servers installed on the machine.

Report Application Server:

It is a process reports that user’s view with the DHTML viewer. It also provides ad-hoc reporting
capabilities that allow users to create and modify reports over the web.

Repository Diagnostic Tool:

This tool can scan, diagnose and repair inconsistencies that may occur between the CMS system
database and the FRS.

It can also repair the logged inconsistencies and report the repair status and completed actions. To
determine synchronization between the file system and database, RDT should be used after the user
first completes a hot backup or the user can use the RDT after a restoration and prior to starting
their BOE services. The user can set a limit for the number of errors the RDT will find and repair
before stopping.

SQL:

Primary key: It is an attribute or a set of attributes that will uniquely identify each row in a table.
There can be only one primary key for each relation. It should never contain a NULL value and it
ensures uniqueness of data in a table so that no two rows in the table can have same value. The
rules that a candidate key must qualify to become primary are that the key value should never be
NULL and it must be unique for all tuples.
If a relation contains an attribute that is a primary key of some other relation, then that attribute is
called Foreign key.

Candidate Key: It is an attribute or as set of attribute that uniquely define a tuple in a relation. There
can be more than one candidate key in a relation.

Select statement is used to select data from a database.

Select distinct is used to return only distinct (different) values.

Where clause is used to filter the records and fetching only necessary records. It is used in the
SELECT, UPDATE, DELETE etc.,

And & Or operators are used to filter the records based on more than one condition. Where clause
can be combined with AND, OR, NOT operators.

Order by clause is used to sort the result set in ascending or descending order. It sorts the records
ascending order by default.

Insert into statement is used to insert new records in a table.

Null value in a table is a value in a field that appears to be blank. A field with Null value is a field with
no value.

Update statement is used to modify the existing records in a table. Where clause can be used with
update statement to update the selected rows otherwise all rows will be affected.

Delete statement is used to delete the existing records in a table. Where clause can be used with
delete statement.

Top clause is used to to fetch a Top N number of records from a table. It is useful on large tables with
thousands of records. Returning a large number of records can impact on performance.

The Max() function returns the largest value of the selected column.

The Min() function returns the smallest value of the selected column.

The Count() function returns the number of rows that matches a specified criteria.

The Avg() function returns the average value of a numeric column.

The Sum() function returns the total sum of a numeric column.

Like operator is used in a Where clause to search for a specified pattern in a column.

In operator allows you to specify multiple values in a Where clause.

Between operator selects values within a given range. Values can be numbers, text or dates.

Union clause is used to combine the result set of two or more select statements without returning
any duplicate rows.

Union All is used to combine the result set of two or more select statements including duplicate
rows.

Group By is often used with aggregate functions (count, max, min, sum, avg) to group the result set
by one or more columns. It follows where clause in a select statement and precedes the Order By
clause.
Having clause was added to SQL because where keyword could not be used with aggregate
functions. Where clause places conditions on the selected columns, whereas the Having clause
places conditions on groups created by the Group By clause.

Exists operator is used to test for the existence of any record in a subquery.

ANY & ALL operators are used with a Where or Having clause.

Select INTO statement copies data from one table into a new table.

Drop table statement is used to drop an existing table in a database. It removes a table definition
and all data. It removes complete table structure from the database.

Alter table statement is used to add, delete, modify columns in an existing table.

Indexes are used to retrieve data from the database very fast. The users cannot see the indexes,
they are just used to speed up searches/queries. An index in a database is very similar to an index in
the back of the book.

Truncate table command is used to delete complete data from an existing table.

Subquery or Inner query is a query within another SQL query and embedded within the where
clause. It is used to return data that will be used in the main query as a condition to further restrict
the data to be retrieved.

Rank function will assign a unique value to each distinct row, but it leaves a gap between the groups.

Dense Rank is similar to rank with only difference, this will not leave gaps between groups.

SQL Constraints are used to specify the rules for data in a table. These are used to limit the type of
data that can go into a table.

Unique: Ensures that all values in a column are different.

NOT NULL: Ensures that a column have a Null value.

Check: Ensures that all values in a column satisfies a specific condition.

Default: Sets a default value for a column when no value is specified.

Primary Key: Uniquely identifies each row/record in a database table.

Foreign Key: Uniquely identifies a row/record in any of the given database table.

DDL Commands: Create, Alter, Drop. These are used to alter/modify a database or table structure
and schema.

DML Commands: Select, Insert, Update, Delete. It affects records in a table. These are used to add
new rows to a table, update or modify data in existing rows, or removing existing rows from the
table.

DCL Commands: Grant, Revoke. It controls the level of access that users have on database objects.

Null Value is not same as Zero or a blank space. A Null value is a value which is Unavailable,
Unassigned, Unknown or not applicable.
DATABASE:
Slowly Changing Dimensions:

These are basically those dimensions whose key value remains static but description might change
over period of time.

Conformed Dimension:

These dimensions are something that built once in your model and can be reused multiple times
with different fact tables.

Data Warehouse & Database: A data warehouse is a specially setup database designed to hold large
amounts of data for reporting purposes. While a normal database is optimized for transactional
activity (while keeping a small amount of history) a data ware house will be optimized for large scale
reporting.

Charts & Types:

Comparison: These charts are used to compare the difference between values.

Bar Chart, Column Chart, Radar Chart, Area Chart, Heat Map.

Percentage: These are used to show percentage of parts in a chart.

Pie Chart, Donut Chart, Tree, Funnel Chart.

Correlation: These are used to show the relationship between different values.

Scatter Plot, Bubble Chart, Tree.

Trend: These are used to show the data patterns or possible patterns.

Line Chart, Waterfall Chart, Box Plot.

Geographic: These are used to present the map of a country or globe present in the analysis.

Geo Bubble Chart, Geo Pie Chart, Geo Map.

LUMIRA:
Features of Lumira:

It allows you to predict future outcomes and forecast as per the changing market situations.

You can create data visualizations and stories from multiple data sources.

It helps you to adapt data to organizational needs to create stories with visualizations.

You can share the visualizations on different platforms like SAP HANA, BO Explorer, BI Platform etc.,

Four Tabs:

Prepare: It is used to import data in SAP Lumira. Data is cleansed and converted into appropriate
measures or attributes for the reports. You can add new custom calculations and dimensions here.

Visualize: It is used to add graphs and charts on the data that has been imported and organized in
prepare tab. You can add different attributes and measures to the label axis.
Compose: It is used to create stories and presentations including background colors, tiles, pictures
and text.

Share: It is used to publish your visualizations to different platforms or with different set of users in
the BI repository.

Two options to connect HANA Modelling Views:

Connect to HANA: This will allow you to access data in read mode and you can visualize data in
charts.

Download from HANA: This allows you to copy the data locally and you can edit and manipulate the
data to visualize in the charts.

Geography Hierarchy:

When data is acquired, application looks for dimension containing location and present with an icon.

Combine Datasets:

You can combine two datasets by using Merge & Append.

Merge: It uses Join operator. You can select different join types Inner Join, Outer Join etc.,

They should have same key column. Column with same data type can be merged.

Append: It uses Union operator. Both tables should contain same number of columns and
compatible data types.

SAP Lumira Cloud:

It enables the use of Self-service BI in a secure cloud environment, including the capability to access,
visualize and share data without IT assistance.

TABLEAU
Data Visualization:

A much advanced, direct, precise and ordered way of viewing large volumes of data.

Tableau Desktop performs data visualization and workbook creation, Tableau server is used to
distribute these interactive workbooks and or reports to the right users. Users can edit and update
the workbooks and dashboards online or server but cannot create new ones. There are limited
editing options compared to Tableau Desktop.

Different Products in Tableau:

Tableau Server: You can publish dashboards with Tableau Desktop and share them throughout the
organization with web-based Tableau server. It leverages fast databases through live connections.

Tableau Desktop: To create and publish standard and packaged workbooks. You can directly connect
to data from your data warehouse for live up to date data analysis.

Tableau Public: You can use to make visualizations with but you need to save your workbooks or
worksheets in the Tableau server which can be viewed by anyone.
Tableau Reader: It enables to open and view visualizations that are built in Tableau Desktop. You
can filter, drill down data but you cannot edit or perform any kind of interactions.

Data Blending:

Unlike data joining, data blending allows combining of data from different sources and platforms. A
default blend is equivalent to a left outer join.

Parameters & Filters:

Parameters allow users to insert their values which can be integers, float, date, string that can be
used in calculations. These are dynamic values that replace the constant values in data calculations
and filters. It has their independent dropdown lists enabling users to view the data entries available
in the parameter during its creation. (OR)

Parameters are dynamic values that can replace the constant values in calculations.

Filters receive only values; users choose to filter by the list which cannot be used to perform
calculations.

Users can dynamically change measures and dimensions in parameter but filter does not approve of
this feature.

Basic Filters: Three types of filters;

Filter Dimensions: These filters are applied on Dimension Field.

Filter Measures: These filters are applied on Measure Field. Filtering is based on the calculations
applied to the measure fields.

Filter Dates: These filters are applied on Date Field.

Quick Filters:

Many filter types in tableau are quickly available using the right click option on the dimension or
measure. The list of quick filters is:

Single Value (List): Select one value at a time in list.

Single Value (Dropdown): Select a single value in a dropdown list.

Multiple Values (List): Select one or more values in a list.

Multiple Values (Dropdown): Select one or more values in a dropdown list.

Multiple Values (Custom list): Search and select one or more values.

Single Value (Slider): Drag a Horizontal slider to select a single value.

Wildcard Match: Select values containing the specified characters.

Context filter:

The normal filters are independent of each other. There may be scenarios where you might want the
second filter to process only the records returned by the first filter. The second filter is known as
dependent filters because they process only the data that passes through the context filter. It serves
two main purposes:
Improves Performance: If you set a lot of filters or have a large data source, the queries can be slow.
You can set one or more context filters to improve the performance.

It makes the process of filtering smooth and straightforward. It establishes a filtering hierarchy
where all other filters present refer to the context filter for their subsequent operations. The other
filters now process data that has been passed through the context filter.

One or more context filters improves performance as users do not have to create extra filters on
large data source, reducing the query execution time.

Drag a field into filters tab and right click and select ‘’Add to context”.

Tableau takes time to place a filter in context. When a filter is set as context one, the software
creates a temporary table for the particular context filter. This table will reload each time and
consists of all values that are not filtered by either context or custom SQL filter.

Different filters in Tableau:

Filters are used to restrict the data from database.

Normal Filter: It is used to restrict the data from database based on selected dimension or measure.
It can be created by simply dragging a field onto the ‘Filters’ shelf.

Quick Filter: It is used to view the filtering options and filter each worksheet on a dashboard while
changing the values dynamically (within the range defined) during the run time.

Context Filter: It is used to filter the data that is transferred to each individual worksheet. When a
worksheet queries the data source, it increases a temporary, flat table that is uses to compute the
chart. This temporary table includes all values that are not filtered out by either the Custom SQL or
the Context filter. (OR)

In context filter the filter condition is applied first to the data source and then some other filters are
applied only to the resulting records.

File Extensions in Tableau:

A .twb is an XML document which contains all information present in each dashboard and sheet like
what fields are used in the views, styles and formatting applied to a sheet and dashboard. It does not
contain any data.

A .twbx is a Zipped archive containing a .twb and any external files such as extracts and custom
background images. Packaged workbook allows users to share their workbook information with
other tableau desktop users and let them open in Tableau reader.

A .tds: The details of the connection used to create the tableau report are stored in this file. It stores
the source type (excel, relational etc.,) as well as datatypes of the columns.

A .tdsx: This is similar to the .tds file with the addition of data along with the connection details.

A .tde: This file contains the data used in a .twb file in a highly compressed columnar data format. It
also saves the aggregated calculations that are applied in the analysis. This file should be refreshed
to get the updated data from the source.

A .tbm: This file contains a single worksheet that is shared easily to be pasted into the other
workbooks.
TDE File:

It is a tableau desktop file that contains a .tde extension. It refers to the file that contains data
extracted from external sources like MS Excel, MS Access or CSV file.

Two aspects of TDE design that makes them ideal of supporting analytics and Data discovery.

Firstly TDE is a column store.

Architect Aware means that all parts of your computer memory, from RAM to Hard disk and put
each part to work what best fits its characteristics.

Different Tableau Files:

Workbooks: It holds one or more worksheets and dashboards.

Bookmarks: It contains a single worksheet and its an easy way to quickly share your work.

Packaged Workbooks: It contains a workbook along with any supporting local file data and
background images.

Forecasting in Tableau:

It is about predicting the future value of a measure. Tableau uses model known as Exponential
Smoothing, here recent observations are given relatively more weight than older observations. It
takes a Time dimension and a measure field to create a forecast.

Analytics MenuModelForecast

Right click on Forecast diagram and select the option Describe Forecast to get minute details of the
forecast model.

Trendline in Tableau:

This are used to predict the continuation of certain trend of a variable. It also helps to identify the
correlation between two variables by observing the trend in both of them simultaneously. Tableau
provides four options they are Linear, Logarithmic, Exponential & Polynomial.

Analytics MenuModelTrend line

Right click on the chart and select the option Describe Trend Chart to get detailed description of
Trend Line Chart. It shows the coefficients, intercept value and the equation. These details can also
be copied to clipboard and used in further analysis.

Paged Workbook:

It is used to save the view of the data in different pages for different values of the dimension or
measure. Example is to see how each type of products have performed against each other in a
specific sales region.

Aggregation and Disaggregation:

These are the ways to develop Scatter Plot to compare and measure data values. Aggregation is the
calculated form of a set of values that returns a single numeric value.

Disaggregation data refers to viewing each row of data source which can be useful, while analysing
data both independently and dependently.
Different connections with Dataset:

Live: Connecting live to a data set leverages its computational processing and storage. New queries
will go to the database and will be reflected as new or updated within the data.

Extract: An extract will make a static snapshot of the data to be used by Tableau’s data engine. The
snapshot of the data can be refreshed on a running schedule as a whole or incrementally append
data. One way to setup these schedules is via the Tableau Server.

The benefit of Extract over Live is that extract can be used anywhere without any connection and
you can build your own visualization without connecting to database.

Extracts and Schedules in Tableau:

Data Extracts are the first copies or subdivisions of the actual data from original data sources. The
Workbooks using data extracts instead of those using live DB connections are faster since the
extracted data is imported in Tableau Engine. After this extraction of data, users can publish the
workbook, which also publishes the extracts in Tableau Server. However, the workbook and extracts
won’t refresh unless users apply a schedule refresh on the extract.

Scheduled refreshes are the scheduling tasks set for data extract refresh so that they get refreshed
automatically while publishing a workbook with data extract. This also removes the burden of
republishing the workbook every time the concerned data gets updated.

Extract:

A saved subset of a data source that you can use to improve performance and analyze offline.

More Extracts, Filters and depends on data sources.

Page Shelf:

It provides a distinct and powerful tool to control the output display known as Page Shelf. The view
into a series of pages, presenting a different view on each page, making it more user friendly and
minimizing scrolling to analyze and view data and information. You can flip through the pages using
the specified controls and compare them at a common axle. (OR)

It is used to control the display of output by choosing the sequence of display.

Performance Testing:

This can be done by loading testing Tableau server with Tabjolt which is a “Point and Run” load
generator created to perform QA. While Tabjolt is not supported by tableau directly, it has to be
installed using other open source products.

Dual Axis:

It helps users view two scales of two measures in the same graph. Let you compare multiple
measures at once, having two independent axes layered on top of one another.

Difference between Tree Map & Heat Map:

A Heat Map can be used for comparing categories with color and size. With Heat Maps, you can
compare two different measures together.
A Tree Map does the same except it is considered a very powerful visualization as it can be used for
illustrating hierarchical data and part-to-whole relationships.

Remove “All” Options from Tableau Auto-Filter:

Auto filter provides a feature of removing ‘All’ options by simple clicking the down arrow in the auto-
filter heading. You can scroll down to ‘customize’ in the dropdown and then uncheck the ‘show “All”
value’ attribute. It can be activated by checking the field again.

Group in Calculated field:

By adding the same calculation to “Group By” clause in SQL query or creating a calculated field in the
Data window and using that field whenever you want to group the fields.

Using groups in a calculation: You cannot reference ad-hoc groups in a calculation.

Blending data using groups created in the secondary data source: Only calculated groups can be
used in data blending if the group was created in the secondary data source.

Use a group in another Workbook: You can easily replicate a group in another workbook by copy
and pasting a calculation.

Difference between Published Data Sources and Embedded Data Sources:

Published: It contains connection information that is independent of any workbook and can be used
by multiple workbooks.

Embedded: It contains connection information and is associated with a workbook.

Potrebbero piacerti anche