# Welcome

Biuwer is your cloud-based Data Analytics platform

Biuwer is a cloud Business Data Analytics service that helps you to easily analyze your business data and create insightful reports and dashboards for informed decision-making. It also enables you to easily create and share powerful reports in minutes with no technical knowledge.

![A Page in Biuwer is built using one or more Cards](/files/-M8C0T_NTaBoF3kj28Jr)


# What is Biuwer?

Biuwer is a [**modern cloud Data Platform**](https://biuwer.com/en/blog/welcome-biuwer-the-data-analytics-platform-made-in-spain/) built from the ground up with the aggregated knowledge of a team of data engineers with more than 15 years of experience. It’s 100% web and a regular user has no need to install anything to use it. You can use Biuwer anywhere with a web browser, 24h a day, 365 days a year.

Our approach with Biuwer has been to create a platform that is both powerful and easy to use, intended primarily for the non-technical user. In other words, you don’t need to know coding or be an expert in the SQL language to use Biuwer. All you need to know is how your data is structured and what questions you want to answer

Talking with **Business Intelligence** terminology, Biuwer is a data analytics tool that helps organizations to make decisions based on data, not in personal feelings. Within the platform, users can share data using [**Data Visualization**](https://biuwer.com/en/blog/what-is-data-visualization-from-data-to-visualization/) to communicate data in a visual way so that they are understandable, easily interpreted and can be analyzed visually to discover patterns.

Organizations and decision makers need to start the day with bird’s eye views that summarize the large numbers in different areas using [**Business Dashboads**](https://biuwer.com/en/blog/how-you-can-boost-your-company-using-business-dashboards/). Once spotted the insights, users can go to a detailed view.


# Glossary

These are the main concepts used in Biuwer. Most of them are present in other tools, but we have applied our personal approach to keep everything as simple yet powerful as possible.

### Organization

Biuwer is a Data Platform mainly used by companies anywhere in the world for Business Analytics. When you sign-up for a new Biuwer account, an Organization is created to manage all your company resources (users, security, data, content, etc.). Billing is configured per Organization.

### User

Each person using Biuwer must have a user, that enables accessing the platform using an email address and a secure password. There are two types of users, Advanced and Basic.

* **Advanced Users** enable to perform any action in Biuwer, including creating content, managing data, etc. depending on the configured security scheme in your organization.
* **Basic Users** can only consume and analyze data, so they cannot create or edit content, nor access administration features.

### Group of Users

**Groups of Users** make the security management easier as they allow to gather related users in a single entity.

For example, a group called **"Sales Team"** can include all the people working in the Sales Department and we shall use "Sales Team" as a whole and not each single user to manage the security access settings.

### Role

Roles are collections of permissions that allow Users and Groups of Users to perform certain actions in Biuwer Platform.

Additionally to the horizontal permissions given by a role, individual object permissions are available throughout Biuwer, to enable individual Users or Groups of Users to view, edit or administer an object, for example, a Page or a Card.

### Space

Spaces are important in Biuwer as they are a powerful tool to manage content and data (reports, dashboards and insights) in a meaningful way to the Users in your Organization.

A space is **similar to a folder**, where you can store and arrange different kinds of objects, mainly Pages and Cards. Spaces allow us to organize data in different ways, for example, Departments, Projects, Clients or any other kind of structure your Organization may need.

There are two types of Spaces:

* **Shared Spaces**, are the default in Biuwer, since the platform has been built with data sharing in mind. When someone creates a Space it’s a Shared Space that can be accessed by the Users and Groups of Users that the owner or any administrator configure.
* **Personal Spaces**, created automatically for each Standard User. They are useful for personal data exploration or when preparing something that cannot yet be shared with other Users or Groups of Users.

### Page

Pages are the equivalent of other concepts such as **dashboards**, data panels or even scorecards used in other tools. In Biuwer a Page is a container of any combination of Cards and are used to organize data visually.

Each Page has its own configuration, including security access setting, data filters, structure of content, etc. Pages can be duplicated and moved between different Spaces.

### Card

Cards are the equivalent of other concepts used in other tools, such as reports, widgets, charts, visuals or even just items. In Biuwer a Card is any piece of content that can be consumed individually and included in any number of Pages. We are continually improving the Card catalog and each Card type features.

Currently these are the available types of Cards, each of which has several options to be configured:

* **KPI**: shows metrics totals, using advanced configuration options (multiple metrics, custom styles, icons, conditional formatting, etc.).
* **Chart**: there are available +12 types of charts each of them with advanced configuration options (multiple axis, custom styles, custom data formats, data labels, conditional formatting, etc.).
* **Vertical table**: this type of Card is commonly used to show long lists, with fast scrolling up to 100K rows and with the included features (totals, subtotals, multiple sorts and filters, conditional formatting, custom styles and themes, dynamic columns, etc.).
* **Cross table**: this type of Card is commonly used to build matrices of data comparing any combination of dimensions and metrics, also with fast scrolling and with the included features (totals, subtotals, sorts, conditional formatting, custom styles and themes, etc.).
* **Gauge**: shows a horizontal, vertical or radial representation of a metric, to monitor the level of compliance of target values.
* **Custom Card**: one of the most advanced features of Biuwer is the capability to include any feature that looks like a regular Card. They are commonly used by enterprise Organizations that need to build custom apps inside Biuwer, such as third party integrations, custom charts, custom reports, custom KPIs, custom maps, custom web forms, etc.

### Filter

Filters are very important in Biuwer and have been designed to be part of Pages and Cards by default, so that any Page or Card can have any number of Filters of different data types that enable us to make powerful interactive analysis.

Each User has its own filters configuration, per Page and per Card, so anyone can perform different analysis using the same base Pages and Cards.

Filters key features are:

* Configure which filters apply to which Cards
* Dependent filters using hierarchical data relations
* Shown or hidden, mandatory or optional, one value or multiple values
* Multiple configuration options
* Predefined values for date ranges
* Top values filters

### Connection

Data Connections allow us to obtain data from different data sources. They are also known as integrations in other tools. Use our **Data Catalog** to select the type of technology divided in these five categories:

* Databases
* Files
* File Stores
* Applications
* Events

We are always improving the Data Catalog, including the most used Data Connections for our customers. Feel free to reach us if you need any specific connection not currently available.

### Dataset

Once a Data Connection has been established, Biuwer models the data entities available through it using Datasets, that point to physical tables or views in databases or other data objects in files, applications or events.

**Reverse Engineering** is a very useful tool available in Biuwer Data Center, capable of discovering Datasets for you in database connections, in order to create and maintain the Dataset fields automatically.

### Data Model

Every query performed by any Card or Filter is done through one Data Model, that allows us to define the behavior of data. A Data Model is built with a collection of Datasets and the relationships between them. The same Dataset can be included in different Data Models to perform different types of data analysis.


# How to use Biuwer?

This section explains the main actions that a user will perform within the Biuwer Platform.

Each new Organization has a **built in demo shared Space** with one Page including a bunch of Cards, using one Data Model, some Datasets and a real database Data Connection. We will be doing a guided tour using these elements to show you how to use the Biuwer Platform.

### Step 1: [Sign Up](/getting-started/how-use-biuwer/sign-up-process)

First of all, if you are new to Biuwer, you’ll have to register to create your Organization. The Sign Up process is very simple, you will have to provide your company email address to verify your identity to access a full 30 day trial period.

### Step 2: [Access Biuwer](/getting-started/how-use-biuwer/accessing-biuwer)

The most common way to use the Biuwer Platform is using its web user interface available at [**https://app.biuwer.com**](https://app.biuwer.com) and filling the sign in form.

### **Step 3:** [**Get to know the Home page and the navigation**](/getting-started/how-use-biuwer/home-page-and-navigation)

Here we tell you about the main menu items and how to navigate the web user interface.

### **Step 4:** [**Configure your User Profile**](/getting-started/how-use-biuwer/my-user-profile)

You can change your user settings (email, name, etc.) as well as your preferred language.

### **Step 5:** [**Managing content**](/getting-started/how-use-biuwer/managing-content)

Learn how to find and navigate content using your Personal Space and your Organization Shared Spaces.

### **Step 6:** [**Exploring data**](/getting-started/how-use-biuwer/exploring-data)

In Biuwer data can be explored and analyzed using Cards directly or included in Pages, also known as Dashboards.

### Step 7: [Filtering data](/getting-started/how-use-biuwer/filtering-data)

It’s important that you learn to read the current filters that are being applied to any Page or Card, so that you can answer the right questions.

### **Step 8:** [**Collaborate**](/getting-started/how-use-biuwer/collaborating-with-data)

One of the basics of the Data Driven Growth movement is embracing the collaboration around data. Here we show you the main options to collaborate with data.

### **Step 9:** [**The Film Rentals shared space**](/getting-started/how-use-biuwer/the-film-rentals-space)

This guided tour concludes using the Film Rentals shared space. We ask you some questions about the data being shown. Go find the answer!


# Sign Up process

New Organizations start using Biuwer following a brief sign up process started at [**https://app.biuwer.com/signup**](https://app.biuwer.com/signup?lang=en) which allows you to start a 30 day trial period with all features available and without constraints.

![Registering your Biuwer account](/files/-M8R3qiewojb-w-Pidex)

1. Fill up the sign up form with a valid business email address and the name of your Organization.
2. Check your email for a new email sent from Biuwer team.
3. Confirm that your email address is valid by clicking on the button included in the email.
4. You will be redirected to a new page in your browser, to complete the sign up process. Choose a good password because your user will be set as the Organization primary contact with administration power.
5. After setting up your password, your Organization is now available and you are redirected to Biuwer home page. We have a sample shared Space to get you started.


# Accessing Biuwer

Biuwer can be used in different ways but using the web user interface available at [**https://app.biuwer.com**](https://app.biuwer.com) is the main one. You can access this URl directly or navigate from Biuwer public web page [**https://www.biuwer.com**](https://www.biuwer.com) where you can find a **Log In** button in the upper right corner.

<div align="center"><img src="/files/-M8R2SxtIqqH7qfXF_bA" alt="Accessing Biuwer"></div>

Simply complete the sign in form with your email address and your password to get into the platform. In case you forgot your password, simply click the **Forgot password?** link, write down your email address and follow the instructions in the email we send you.


# Overview and navigation

When you log into Biuwer, you will land on the Overview page. Here, you will find a **Global Search** tool (also available in the navigation menu) that allows you to quickly locate any content you have access to.

<figure><img src="/files/XlzOIzf294htkNCejg69" alt="Overview y navegación"><figcaption><p>Overview</p></figcaption></figure>

#### **Overview sections**

**1. My Favourites**

This section displays the items you have marked as favourites within the Spaces screen. Favourites are organised into **three tabs**:

* **Pages**
* **Cards**
* **Collections**

Users can favourite any number of items from the Spaces section. In the Overview, these are displayed using the same sorting criteria as in the Spaces section.

**2. Spaces you work in**

This section displays the Spaces you participate in, whether they have been shared with you or created by you. The list shows your favourite Spaces in alphabetical order, indicating the number of Pages, Cards, and Collections contained within each Space. You can also access the full Spaces screen directly via the Go to Spaces button.

Differences by **user type**:

* **Basic User:** If no Spaces have been shared with them yet, they will see an empty state designed to help them get started.
* **Advanced User:** Will always see a fixed Space called "My Space", which cannot be deleted.

**3. Support and Help**&#x20;

A block featuring direct links to sections of Biuwer’s public documentation, such as basic concepts, content management, and roles.

**4. Updates and Latest Releases**&#x20;

A section displaying the latest product update articles. It helps you stay up to date with new features, improvements, and relevant changes in Biuwer.

***

#### **Navigation menu**

The navigation menu, providing access to the various tools, is located in the main sidebar on the left. Users can navigate to the following sections:

<div align="left"><figure><img src="/files/MrMAZRsiOk443kyGvUFR" alt="Menú navegación superior"><figcaption><p>Top Navigation Menu</p></figcaption></figure></div>

* **Overview:** Quick access to recent Spaces and favourite content.
* **Spaces:** Where Pages, Cards, and Collections are organised.
* **Data Center:** To manage connections and data. Typically, advanced or basic users will not need this tool; it is intended for Data Administrators.
* **Global Search:** To locate any existing item across Spaces, Pages, Cards, Collections, or the Data Center in an agile and direct manner.

  <br>

<div align="left"><figure><img src="/files/Vjh9IAgsc1tx8z95U4kh" alt="Menú navegación inferior"><figcaption><p>Bottom Navigation Menu</p></figcaption></figure></div>

At the **bottom of the sidebar**, you will find:

* **Translations:** Manage and customise translations for platform terms and bespoke content.
* **Administration Area:** Manage users, groups, permissions, and the organisation’s administrative settings. (Accessible only to Administrators and Primary Contacts).
* **Support Chat:** Start a chat with our support team to resolve queries or report issues.
* **User Profile:** Opens a sub-menu with the following options:
  * **Switch Organisation:** Access or switch to another of your Biuwer organisations (only visible if you have access to multiple organisations).
  * **My Profile:** Update your personal information, password, and user preferences.
  * **Log Out:** Securely end your session.


# My user Profile

The user profile page allows you to change your **name**, **surname**, **email address** or the **preferred language**, as well as your **password**.

![My user profile](/files/-M8VNlWGbd4t0TksAr5z)

Talking about the preferred language, by default every user created or invited in a Organization will use the language **defined by the Organization** itself. However, each user is able to change this setting and select between the available languages.

If your user can access two or more Organizations, a list of the Organizations with access will show up.

* You can set which one is your **default Organization**, which will be the one you access on every login.
* Also you can **switch between Organizations** from this list.


# Managing content

Content is the king and the design of Biuwer empowers users to collaborate with data using three main components briefly defined in the Glossary: Spaces, Pages and Cards.

### Spaces

Spaces are similar to folders in file systems and they act as containers of other elements, such as Pages and Cards. There are **two types** of Spaces: Personal Spaces and Shared Spaces.

![List of Spaces - Mosaic option](/files/-M8VVhkIJqBFwclsG6v4)

#### Personal Spaces

**Advanced Users** have their own Personal Space where they can build private content, for example, reports or dashboards for personal use or as a previous step before sharing any Card or Page with other Users.

Content inside Personal Spaces is owned and only visible by the connected User. In order to share Pages or Cards in your Personal Space, you have to **move the element to a Shared Space** you have access to, and then configure who can view, edit or administer the content.

#### **Shared Spaces**

When you create a Space in Biuwer, it’s a Shared Space by default. The security model follows the minimum access criteria, meaning that by default access is not granted to anyone. In order to give access to other Users or Groups of Users, just enter the Access settings dialog in any given Shared Space and establish who can view, edit or administer it.

### **Pages**

Pages are mainly used as business dashboards, where a collection of data Cards are shown in a common environment in order to answer a set of questions regarding an specific need.

![Page in Biuwer used as a business dashboard](/files/-M8odYx3GWKPHDPq00YH)

Use cases are infinite, but we give you here a few examples that current Organizations are already using:

* Internet sales dashboard
* Store sales dashboard
* Call Center dashboard
* Rentals dashboard
* Projects dashboard
* Results by Company and Business Unit
* Logistic movements dashboard
* Collection management panel

### **Cards**

As described in the Glosary, [**Cards**](https://docs.biuwer.com/getting-started/glossary#card) are the building blocks in Biuwer. They can be used standalone but can be also consumed as part of one or more Pages. This flexibility allows you to build many use cases depending on your specific needs, applying the Card filters and any Page filters as well.

![Vertical Bar Chart Card with specific Page filters applied](/files/-M8ooYjSCDS1GFkAnuIo)

Most of the available Card types are data centric, that is, their purpose is to show data in different ways (boxes, tables, charts, maps, etc.). We are always improving the Card catalog to enable other types of use cases, such as Forms, Formatted Text, etc.

For that reason we’ve built a **Custom Card** that can include any kind of logic to accomplish any data need or integration with third party apps. If you need any customization our data engineers can [**build any Custom Card for you**](https://biuwer.com/en/contact/).

Cards use cases are infinite, but we give you here a few examples that current Organizations are already using:

* Detail of spending movements
* Pending payments by provider and month
* List of unpaid invoices
* Employees by Company
* Monthly Evolution of Average salary vs. Num. Employees
* Annual Results Report
* Current Year Sales vs. Previous Year Sales
* Top 10 Purchases by Supplier


# Exploring data

One typical use case to explore some data of interest, analyze it, answer some questions and then make decisions based on the obtained results, is to follow this steps:

1. Log in to Biuwer.
2. Access the list of Spaces and navigate to the Page or Card of interest, or click directly on the Page or Card shown in the home page.
3. Adjust the dynamic filters to show the relevant data regarding an specific data question (for example, configuring the date interval of interest and other included dimensions of analysis).
4. Analyze the data shown on the Page or Card of interest. If it’s well built, you should be able to answer the asked question.
5. Just act based on data or share knowledge with other people using Biuwer collaboration capabilities.

### **One example: Which are the worst 3 categories?**

{% hint style="info" %}
We are using the sample **Film Rentals** shared space
{% endhint %}

As a film rental business owner, I know there are quite a lot categories. So I’m concerned about the worst performing categories and I have to **get rid of the worst 3 categories**.

![Card options menu appears on hover](/files/-M8pMAVklJAa3RtOjuSd)

* Using the prebuilt **Film Rentals** shared space in Biuwer, navigate to the Film Rentals Dashboard.
* We have to know the less performing categories, so we have to use the number of rentals with no special filters applied, broken by film category, and then see which are the 3 categories with less rentals.
* We can use the card **“#Rentals ranking per category”** to answer this question.
* To see the data in detail, open the card options menu that appears on hover, and select **“See detail”** to see a fullscreen version of the card.

![Horror, Music and Travel are the worst 3 categories](/files/-M8ow63-HttC91ygQaj_)

The horizontal barchart shows us that 40 rentals have no category and that the 3 worst categories are… Horror, Music and Travel. So these three categories would be the best candidates to be got rid off.


# Filtering data

Filters are so important when analyzing data that Biuwer includes a complete filtering system, available in both Pages and Cards, and they can be used stand alone or combined.

### Page filters

When building a dashboard you can configure any number of filters, to be applied as needed on any card included in the page.

{% hint style="info" %}
A single Page can include **Cards showing data from different data sources**. Biuwer filtering system enables you to filter them accordingly, choosing which filters applies to which card on which data field.
{% endhint %}

![Page filters are shown per page and each user has its own dynamic configuration](/files/-M8pNuVR74h7WpfZWQFi)

Regular users usually are just interested in analyzing data, not designing pages, modeling data or configuring filters. Using filters is just as easy as clicking on them, and a dialog pops up to configure the filter.

Depending on the field data type associated with the filter, different options will appear on screen, allowing you to:

* Select option values (all values, none, some values)
* Use regular expressions (equals, not equals, greater than, between, etc.)
* Use predefined values (this year, last 3 months, etc.)
* Perform Top / Bottom calculated values

![Filter dialog for a text field](/files/-M8pSljLMDvnKxFd9UM4)

### Card filters

Defining filters in cards is recommended when as a business user it’s always needed to apply certain restrictions on the data shown an specific card, despite the page where the card is finally used and even if the card is used standalone.

{% hint style="info" %}
Filters can be configured as **mandatory or optional**, **editable or fixed**, **visible or invisible**, **multiple values or single value**. These combinations in conjunction with card filters allows you to implement almost any filtering need.
{% endhint %}

Talking about usage, card filters are almost the same as page filters. They differ in the implications because:

* A page filter can be applied on a particular card or not, depending on configuration.
* A card filter will always be applied to that particular card.

Used together, both types of filters can be visually identified in Biuwer as the following example shows.

![Page filters and card filter applied to a particular card, from the page perspective](/files/-M8pYureDWYD5_VHoiIz)

![Page filters and card filter applied to a particular card, from the card in fullscreen perspective](/files/-M8pY5w4e-2LSnROOrgr)

{% hint style="info" %}
**Filters areas** can be opened and closed to maximize the visibility of the card.
{% endhint %}


# Collaborating with data

There are some options to share data using Biuwer platform, which has been designed using the minimum access criteria, meaning that by default, access is not granted to anyone but the owner.

### Internal sharing

In order to give access to other Users or Groups of Users, just enter the **Access settings dialog** in any given Shared Space and establish who can view, edit or administer it.

{% hint style="info" %}
Using **permissions inheritance** is a **common pattern** when you create specific Shared Spaces to be used by the same group of people, as it is faster to setup and easier to maintain.
{% endhint %}

Biuwer **applies inheritance** to content elements in their security settings **by default**, so if you configure who can view, edit or administer a given Space, all Pages and Cards included in that Space will inherit the same permissions. Then you can always customize the security settings of each Page or Card individually.

Here you can see the Access settings dialog for the sample page “Film Rentals Dashboard” configured first with the default inheritance settings, and second with custom permissions.

![Access settings dialog for a Page with inherited permissions](/files/-M8tlCZqKVb3ha-j1tK5)

![Access settings dialog for a Page with custom permissions](/files/-M8tlQ1QE_xUzXDPZV0Z)

### External sharing

Also known as **Embedded Analytics**, you can **share any Page or Card outside Biuwer platform**, for example, to be included in any public web page, a customer extranet, an intranet or any third party custom web application.

Simply access the desired Page or Card and use the **“Share” option** in the configuration menu, either from the Space, from a Page or any Card in fullscreen mode. The Share dialog will tell you if a given Page or Card is being shared, and if so, which is the configuration, where you can specify:

* **Access type**: Private or Public
* **Size in pixels**: Width and Height
* **Validity period**: the date range in which the sharing is enabled

{% hint style="info" %}
**Private sharing requires an Authentication Token** to be added to the shared resource URL. For more information, please read about it in the **Administration Area**.
{% endhint %}

The following example shows a Card not being shared, with the corresponding configuration prior to enable its sharing.

![When you open the Share dialog and the Card is not currently being shared](/files/-M8tsul_OSfK_R8hggJL)

![The Share configuration before enabling the external sharing](/files/-M8ttJL2ZU-epWikISe1)

And this example shows a Page that’s being shared, with the corresponding configuration that you can always update.

![A page being shared. You can use either a direct URL or embed using an HTML fragment](/files/-M8tuu4yBZMLPfMOJIkn)

![You can always change the configuration of a shared resource (Page or Card)](/files/-M8tvHJ_4x8-ug33N8o3)

{% hint style="info" %}
Use the **“Copy to clipboard”** icons on the right to copy the entire URL or HTML Iframe to the clipboard for simplicity.
{% endhint %}

### Exporting data

Data contained in Cards can be exported into CSV or Excel file formats. Simply navigate to any data Card, open the options menu and select **“Export”**. The Export dialog appears showing you the available formats. Just select CSV or Excel and press the Download button to obtain the corresponding file with the data that the Card is currently using.

![Download data of Cards in CSV or Excel formats, using the Export dialog](/files/-M8u2ZCljXjZ2ihBG_2K)

{% hint style="info" %}
Exporting data to CSV or XLSX files includes the **underlying data**. This means all the data that has been obtained and this can be visually different from the data displayed on the Card, specially when talking about charts or cross tables, simply because these Cards apply data aggregations most of the times, depending on their configuration.
{% endhint %}

### Printing content to PDF

If you want to have a visual representation in PDF, just as it’s being displayed on the screen, both Pages nd Cards can be exported in this format.

Simply navigate to any Page or Card, open the options menu and select “Export”. The Export dialog appears showing you the available formats.

Pages can only be printed to PDF so you only have to configure the options available.

![Print to PDF options for Pages](/files/-M8u5Z7Ch_LA9qVjIXhe)

With Cards, you are prompted to select the PDF format before configuring the print options.

![Print to PDF options for Cards](/files/-M8u5i7B7ER1nGsFkt-R)

For both Pages and Cards, the PDF print options are:

* **File name** (Biuwer proposes the Page or Card name with the print date)
* **Size**: A4, A3, A2, A1
* **Direction**: Vertical or Horizontal
* **Margins** (centimeters up, down, right and left)
* **Header** (what appears up center, up right and up left)
* **Footer** (what appears down center, down right and down left)


# The Film Rentals space

During this Getting Started section of Biuwer Docs, we’ve been using the Film Rentals shared space, which is available by default in every new Organization.

Following some examples that we’ve described on how to use Biuwer, it’s a good exercise to answer some questions about Film Rentals, to better understand Biuwer capabilities, before you deep dive into your own data.

Using your data analytics capabilities, let’s find together the answers to the following questions, using the **Film Rentals Dashboard**.

### **Which are the top 3 categories by rental?**

There are no special filters to apply (rental date, categories, countries), so we configure the 3 Page filters to **“All values”**. The ranking by category can be found in the “# Rentals ranking per category” card.

![Which are the top 3 categories by rental?](/files/-M8uzmyqCJ9QfssL9B2-)

{% hint style="success" %}
The answer: **Sports**, **Animation** and **Action**
{% endhint %}

### **Which is the worst day (minimum rentals) in United Kingdom during Q3 2019?**

We are asking for a specific day, so we have to use a data Card where the number of rentals are **detailed at day level**. We are also asking just for United Kingdom and Q3 2019, so we have to configure these two filters accordingly.

{% hint style="info" %}
If analyzing data in a dashboard with many Cards is not visually optimal, remember that we can see the fullscreen version of any Card and apply the filters of any Page where that given Card is included.
{% endhint %}

![Which is the worst day (minimum rentals) in United Kingdom during Q3 2019?](/files/-M8v-bxCxxOkh9t1bhIU)

{% hint style="success" %}
The answer: **July 5, 2019**
{% endhint %}

### **How many customers did rent films during Q3 2019?**

This one is easier than the last question. Simple clean the Country filter and set “All values” and we have a KPI Card with the total number of customers that have rented films.

![How many customers did rent films during Q3 2019?](/files/-M8v0S5gs0uwUQ5pJQDL)

{% hint style="success" %}
The answer: **599**
{% endhint %}

### **Which is the most expensive film rented to Karl Seal in the Horror category?**

We are asking for the name of a film, based on its cost, and it has to be the most expensive. In Film Rentals Dashboard we have not configured (though it’s possible), a Page filter for Customers but fortunately, there is a vertical data Card called “Rentals details” which includes much more detail, inside the dashboard. Here we can filter (inside the table itself) for the requested information.

![Which is the most expensive film rented to Karl Seal in the Horror category?](/files/-M8v0sFw-gUO-rY7m-PK)

{% hint style="success" %}
The answer: **Fidelity Devil**
{% endhint %}


# How Biuwer works

The basic concepts of Biuwer are explained in the Glossary and the following diagram visually shows how Biuwer works by integrating the different parts involved.

### **Data usage diagram**

![How Biuwer works - Data flow until it reaches the user](/files/-MQkm1gYQAIEPpXKKIcG)

Users can **consume analytical information through Pages or Cards**, as shown from the left side of the diagram. Depending on the use you want to give to your data, you can use a page as a dashboard or a panel composed of one or more cards, or use an individual card to analyze specific data.

**Any data that is displayed by a data card comes from a Data Model**, where you specify how the Datasets are related to each other. Data models are a very versatile tool as they allow us to contribute to the data the meaning we expect from them to analyze specific use cases.

In turn, Datasets represent data physically stored in a database, accessed through a Data Connection also defined in Biuwer.

### **Define your data once and use them many times**

**Data Models, Datasets and Connections**, according to the security configuration applied, **are available to all users of your Organization**. This means that data management, if its structure does not change, can be defined once and then used on all the pages and cards that are needed over time.

### **Hybrid data management**

Biuwer enables **hybrid data management**, i.e. you can decide how your data is managed. **Other tools force you to upload all your data** to their system, as they need it for their architecture and operation, but this does not happen with Biuwer.

For each dataset, you can decide whether your organization performs data management using private databases (typically behind a firewall), or whether Biuwer performs this management for you.

* **If your organization is in charge of managing the data**, they are stored physically in SQL or NoSQL databases supported by Biuwer. The queries will be executed physically in your servers and only their results will be obtained, which will be shown in the Cards corresponding to your Users.
* **In cases where Biuwer is in charge of managing your data**, this is stored in a high-speed analytical data system, designed specifically for data analysis, in a safe and watertight manner for your Organization.

When you use data that is not physically stored in databases, such as files (CSV, Excel,...) and other integrations accessible via API, this data must be stored and managed in Biuwer for you.


# Next steps

After this guided **Getting Started** section, you can now get into more details of the different areas of Biuwer.

Some of the next steps include:

* [Data Management](/managing-data/introduction)
* [Content Management](/content-management/introduction)
* [Creating a Dashboard](/creating-a-dashboard/what-questions-answer)
* [Security Management](/security-management/introduction)
* [Administration](/administration/organization)


# Introduction

Biuwer is designed **to facilitate data collaboration** across your organisation. We have created the **Data Center** where you can manage everything related to the data used in any Page or Card.

The **Data Center** allows you to manage your **data connections, datasets** and **data models**, which are the three fundamental pieces that must be configured and prepared in advance before you can analyse the data.

### **Accessing the Data Center**

If your user is administrator of your Organization or has the appropriate permissions, you can access the Data Center through the following icon on the left sidebar:

![Accessing the Data Center](/files/-MMWCtoei2EwyDxLEErp)

### **How is the data managed?**

The following diagram shows how data flows from the various data stores to the content displayed to the user, consisting of Pages and Cards.

![Data Management in Biuwer](/files/-MQknIuQuhhu5Vz1gY6s)

On the right we have the different available data storage systems:

* **SQL Databases**. These are database systems compatible with SQL (Standard Query Language), such as MySQL, PostgreSQL, MS SQL Server or Oracle. These databases are managed by your Organisation and Biuwer only connects to them to obtain information.
* **NoSQL databases**. These are NoSQL (Not only SQL) database systems, that is, the rest of database systems with other query systems and processing mechanisms, such as MongoDB. These are also managed by your Organisation and Biuwer only connects to them to obtain information.
* **BIUWER DWH (Biuwer Data Warehouse)**. Biuwer includes a cloud managed data warehouse for Organisations (**CDW - Cloud Data Warehouse**). It is used transparently and automatically for data that is managed by Biuwer, for example when uploading CSV files, Excel files, etc. or when incorporating data from cloud applications through their APIs.

[**Connections**](/managing-data/data-connections)**,** [**Datasets**](/managing-data/datasets) and [**Models**](/managing-data/data-models) are used to manage your data in Biuwer.

On the left we have the content layer, which is organised using [**Spaces** ](/content-management/shared-spaces)and materialised through [**Pages** ](/content-management/pages)and [**Cards**](/content-management/cards).


# Data Connections

Data connections allow you to access your data wherever it is.

There are many systems that contain data and each one works differently. In Biuwer we have a **catalog of connections** where you can find those data connection types that are supported natively by the platform.

Biuwer is a business data analytics platform and therefore most connectors correspond to **SQL or NoSQL databases**. However, you can also upload your data stored in **files with a CSV or Excel extension** and we are also continuously working on expanding the catalogue of connections, especially with **cloud applications**. If you have any specific requirements, please don't hesitate to contact us through the online support.

### **My connections**

Connections that my Organization has defined appear on the following screen.

![My connections in the Data Center](/files/-MMzn3jtXZntg0MHdwpw)

From the "**My connections**" menu, we can see the most relevant information regarding connections, shown in a list:

* **Name and description** given to the connection
* **Number of Datasets** associated with the connection
* **Number of Data Models** associated with the connection
* Connection **status**
* Connection **category**
* Connection **creation date**

From the screen we can perform the following operations:

* **Search and filter** connections using different criteria
* **Sort** connections using different criteria
* **Add** a connection
* Access the **editing** details of a connection
* **Test** a connection
* **Disable** a connection
* Perform a **reverse engineering** over a connection
* **Delete** a connection

![Available options about a data connection](/files/-MMWLals3CWi-m1UwPQh)

### **Connection catalog**

You can directly access the "**Connection Catalog**" to create a connection from the left side menu of the Data Center or by clicking the "Add" button in the upper right corner of "My Connections" list.

All possible technologies you can connect to, available in Biuwer, are shown in this catalog, and they are searchable by name and category.

![Connection Catalog in the Data Center](/files/-MMzrDbbauXCtJphYZZ7)

When you click on one of the options shown, depending on the technology you will be asked to configure some details or others.

For example, to create a **new connection to a PostgreSQL** database you need to configure the following parameters:

![Creating a new PostgreSQL connection](/files/-MMzrVw1DUyWWwGMUevo)

{% hint style="info" %}
You can check if the connection parameters are correct by pressing the "**Test Connection**" button, before saving the connection.
{% endhint %}

{% hint style="danger" %}
In order to ensure access to your databases, you will need to make sure your server is configured to allow the Biuwer IP address to connect. You can find this IP address in the connection creation page.
{% endhint %}

### **Data Import**

The available options in the connection catalog that allow you to upload data contained in CSV or Excel files to Biuwer use a file importer.

![Importing data contained in a CSV file](/files/-MMWNq1yS5zZCXgIFFhd)

To select the file to be uploaded to Biuwer, you can either drag it from a local file browser or click on the box. As soon as the file is selected, you can process it by clicking on the "Process file" button. This reads the contents of the file and detects the columns, their data types and formats, using the default settings.

As every data file is different, it is most likely that you will need to make some adjustments and try out various settings among those available in the file importer.

![Available options to import data from CSV files](/files/-MMWOARsyP-L2OltBREM)

You can set up the following:

* Column delimiter
* Character assigned to quotes (in text type fields)
* If the first row of the file contains the name of columns
* If you want to omit the first N rows of the file
* What is the format of dates within the file
* What is the format of boolean-type fields in the file, that is, what value corresponds to True and what value corresponds to False.
* What is the number format (thousands character and decimal character)

Before proceeding with the import by pressing the upper right "Import" button, you can adjust any of the above parameters. With each change the file will be reprocessed and you will be able to:

* View a data preview (first 30 rows are shown).
* Select all or some of the fields. This is important because if the file contains, for example, 20 fields but only 12 of them are to be analysed, the 8 that are not of interest may not be selected and will not be uploaded to Biuwer.
* For each selected field, Biuwer auto detects and sets its data type and whether it is a Metric or a Dimension type field.

{% hint style="info" %}
**Dimension type fields**. They are used for those descriptive fields or those containing categorical information, by which we will be able to make an analysis or filter. For example, dates, product categories, customers, products, geographical locations, etc.
{% endhint %}

{% hint style="info" %}
**Metric type field**. They are used for those numerical fields (most of them) that contain values to be counted, summed, added, etc. For example, sales amounts, number of hours spent, account balances, purchase costs, etc.
{% endhint %}

{% hint style="info" %}
Sometimes it can be interesting to apply a numerical analysis to fields of type Dimension, for example, to count how many products or customers you have. This can be done interactively in the **Data Card Editor** or by creating a specific Metric type field for those cases, in addition to the corresponding Dimension field (this last option is not the most recommended way, in order to maintain Datasets as simple as possible).
{% endhint %}

### **Reverse engineering**

This tool allows users to easily define Datasets in Biuwer. It has been created to make it as quick and efficient as possible to create and maintain datasets and all data fields to be analysed over time.

Reverse engineering is only available on certain **Data Connections** that allow it, as it consists of Biuwer connecting to the database system or remote API and **scanning which data entities exist, how they are called, which fields they have and what types of data they are**.

To configure reverse engineering, you can access directly from the "**Reverse Engineering**" menu, available in the left side menu of the Data Center, or from the list of connections or dataset tab, in its fields tab.

To configure reverse engineering you must select a **connection** and if that connection has **containers**, select one or more of the available containers, before clicking on the "**Read Datasets**" button. Results are presented visually in a list of data entities, with their fields and data types.

![Reverse engineering facilitates the management of datasets in certain compatible connections](/files/-MMpcSXDq1S0cWy0klNw)

On this screen, before you import datasets into Biuwer by clicking the "**Import**" button in the upper right-hand corner, you can do the following:

* Select datasets you are interested in using with Biuwer. Use individual selectors or "**Select all**" or "**Deselect all**" buttons.
* In turn, by opening datasets, the fields you can select are displayed, with their original data type (in the remote database or API) along with the data type in Biuwer and the field type (Dimension or Metric).

{% hint style="danger" %}
Certain **types of data are not supported by Biuwer**. For example, complex data types, such as user-defined data types in origin, binary fields, value arrays, other complex structures, etc. If you have a field data type that is not supported and you need to analyse it, please contact support to help you.
{% endhint %}

![Types of data not supported by Biuwer in reverse engineering](/files/-MMpeNMEhQsFbLNpuXOr)

When importing Datasets from reverse engineering:

1. **New Datasets that do not already exist in Biuwer will be created**, with the selected fields and the specified configuration.
2. **Datasets that already exist in Biuwer will be modified**, modifying fields that have been selected that already exist, or adding the new fields.

The proper use of reverse engineering of data can greatly facilitate the evolutions we may have over time in our data sources, such as new tables, new views, new fields, changes of names or changes of data types.

{% hint style="danger" %}
When changes may occur in a data source (fields are deleted, data types are changed, etc.) and these changes are not reflected in Biuwer, errors can occur when making data queries. We recommend that you keep track of your changes to avoid these errors.
{% endhint %}

When **Reverse Engineering is launched from the Fields tab of a Dataset**, the screen will appear already configured with the data connection and the selected dataset is displayed.

![Reverse Engineering on a dataset](/files/-MMpoyLDwAKk1N2wlJ8-)

In this case, only if there have been changes in source data fields or in their data types, we will be able to select them to update the dataset in Biuwer. Otherwise, as shown in the image, we will not be able to select any field to add or modify to the dataset.


# Datasets

Datasets in Biuwer allow you to arrange data entities that will be used to create Cards and Pages.

Datasets are a **representation of a table, view or data entity** physically stored in some data source accessible in Biuwer through the corresponding Data Connection.

The easiest way to have Datasets is to use **Reverse Engineering** on those connections that allow it, because it is an almost automatic, fast and efficient process.

However, **you can create and manage datasets manually** in Biuwer, for which you must know the detail of the corresponding table, view or data entity in the data source.

Also when uploading data from files in CSV or Excel format, datasets are automatically created or updated. Remember that in this case, the generated datasets are called "Managed" because it is Biuwer who manages the data.

Therefore, **there are two types of Datasets:**

* **Managed**. Biuwer manages both metadata and data and stores it for you in a **CDW (Cloud Data Warehouse)** specific to your organization. Managed datasets are available when you upload external files in CSV or Excel format, when you have connections to external applications accessible through an API and for those cases that you define to be used with the Biuwer data preparation module.
* **Not Managed**: Biuwer only has the metadata to be able to perform queries and it is your organization that physically manages the data and is responsible for its update and maintenance. This is the most common case when you work with SQL or NoSQL databases that you manage in your company, for example, those used by ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), Ecommerce, etc.

### **List of Datasets**

In the Data Center, the list of datasets that your Organization has defined so far in Biuwer is available in the menu "Datasets":

![List of Datasets in Biuwer Data Center](/files/-MMpunXGNRe04CjgK6PV)

From this list you can perform the following operations:

* **Filter** datasets by **Name, Alias, Connection** and whether they are **Managed** or **Not Managed**.
* **Create a new dataset**, using the top right "**Add**" button.
* From the **context menu** of each dataset, **View the detail, Edit** the dataset or **Delete** the dataset.

### **Manual creation**

Use the "Add" button available in the dataset list to manually create a dataset.

A dataset creation dialog appears in which you must first choose which type of dataset to create, Managed or Not Managed. Depending on the choice, the parameters that are necessary in each case are activated.

![Creating a Managed Dataset](/files/-MOlN5-BHqzvvUD79bie)

Creating a **new managed dataset** implies that the Organization will have available a table with the physical name corresponding to the value of the attribute "Name" of the dataset, in the DWH (Data Warehouse) managed by Biuwer. Obviously this table will be empty and you can insert data into it by uploading data from CSV or Excel files, or by using the Biuwer data preparation module.

![Creating a Not Managed Dataset](/files/-MOlNop49E0Jf1QEl8X8)

Creating a **new not managed dataset** implies that the Organization will be able to perform data queries on a table, view or data entity with the physical name corresponding to the value of the attribute "Name" of the dataset, in the SQL or NoSQL database system associated with the connection used. If such a table, view or data entity does not exist, the queries launched against any of its data fields will obviously give an error. It is the responsibility of the Organization to ensure that the data entity exists and is prepared with the expected data in order to be able to analyze it in Biuwer.

### **Detail of the dataset**

When you access a Dataset within the Data Center, its full detail is displayed, with access to the data **fields**, a data preview with the first 100 **records**, and the configuration of the dataset's **data policies**.

Besides being able to see all following details, **you can edit the dataset and even delete it**, if it has no active dependencies, that is, if it is not being used in any Data Model and therefore is not being used in any Card.

![Detail of the fields of a Dataset](/files/-MMq1eGglV-y36L3Mn-R)

From this list you can see and manage existing fields in the dataset. From the list you can perform following operations:

* **Filter** fields, by any of their attributes.
* **Edit** fields.
* **Add** a field, which can be either **Standard** or **Calculated**.
* Launch the **reverse engineering** associated specifically with the dataset being displayed, in order to add or modify fields that have been modified at the source.
* **Delete** fields.

Fields of Datasets **marked as hidden** will not be shown to users when composing data cards, although it may be of interest to manage them for data validation, for example, internal identifiers.

{% hint style="info" %}
A **Standard field** is a field that physically exists in the data entity, while a **Calculated field** does not physically exist as such in the data entity, but is defined as an expression or formula that can use other fields of the dataset for its calculation.
{% endhint %}

![Preview of the first 100 records of a dataset](/files/-MMq2rft8z2HXgvY3mK7)

With the preview the user can get an idea of the type of information available in the dataset, before modelling the information and moving on to the assembly of reports, charts, etc.

![Data policies of a dataset](/files/-MMq34uIAZLayTm73vQb)

**Data policies** are a very versatile tool for dynamically displaying different data contained within the same dataset to different users or groups of users. This is of great value as it allows minimizing the number of pages and cards designed in Biuwer because often the same chart, table, map or KPI is used to display the appropriate information to different usage profiles. For example, a Sales Dashboard can be designed and implemented in Biuwer to display:

* Full details to the company management team or company direction.
* Data filtered by sales areas to each area sales manager.
* Data filtered by clients to account executives, according to the clients managed by each one.

**Data policies** are explained in detail in the corresponding section.

### **Managing data fields**

When we already have datasets in Biuwer, we can manage their data fields when necessary, including new ones, editing existing ones or deleting existing ones.

When a particular field needs to be modified, we can edit it using the following dialog where we can modify:

* The **physical name** of the field in the data entity.
* The **alias of the field in Biuwer**. This alias is intended to be a business name, without including characters present in the physical name, such as "\_", "-", and will be the one presented to the user in the final result of cards.
* The **description of the field in Biuwer**. It does not appear in the end user interface, but it’s useful to explain the meaning of the field, how it was obtained, how it was calculated, aspects to take into account for analysis, etc.
* The **data type** of the field: Text, Number, Date or Boolean.
* The **type of field**: Dimension or Metric.
* **The default aggregation function** for metric type fields, which depends on the selected data type.&#x20;
* If the field is **hidden** to the user.
* Whether the field is **calculated**.

![Editing a field in a dataset](/files/-MMufgWpdqhM_4MQWrFL)

Sometimes it is necessary or recommended to create **calculated fields** in a dataset. In this case you do not point to a physical field of the data entity, but define a logical expression that includes a formula suitable for the source data engine, which can include:

* The physical **data fields** of the dataset
* Basic arithmetic **operators** (+, -, \*, /) and when necessary parentheses, brackets and curly braces.
* **Functions** available in the function catalog.

![Creation of a calculated field in a dataset](/files/-MMugGJM-OPctM-vACJu)

There’s also the possibility to launch Reverse Engineering specifically on that dataset. within the Fields tab.


# Data Models

One of the keys to Biuwer's flexible operation is its data modeling layer, which is done using Data Models.

A Data Model is a non-physical but logical element, which allows to define a context of analysis and is composed of one or several Datasets and their respective Relationships.

Once a data model has been defined, it is available to carry out the data analysis it allows to the whole Organization, following the concept of "**define once and use many**".

{% hint style="info" %}
**It is recommended** to define data models appropriate to types of data analysis that will be needed. **It is not recommended** to create a single data model with all available datasets, as it increases the complexity in the relationships between them and the results obtained may not be the expected ones, due to the intervention of relationships that do not apply in certain data queries.
{% endhint %}

The option "**Data Models**" is available on the left side menu of the Data Center, which gives access to the list of data models that your organization has defined in Biuwer.

![List of Data Models in the Data Center](/files/-MMuhr2lBkeH-JeOM6nI)

From this list you can see the different Data Models that your Organization can use in any data card to make data queries and perform the following operations:

* **Filter** data models according to their name and data connection
* Directly access the **model detail** by clicking on its name.
* From the **context menu** of each model, **see the model detail, edit it or delete it**.
* **Add** a new model.

As in the case of Datasets, we also distinguish between managed and not managed Models. By clicking on the "**Add**" button in the list of models, a data model creation dialog appears. By default the option "**Not Managed**" is selected in which it is necessary to select a data connection. A not managed model will allow to include in it any dataset associated with a specified connection, because the query will be executed in the database engine associated with the connection.

![Dialog to add a new Not Managed Model](/files/-MMuimMC4rz9NrCZ2xJu)

If, on the other hand, you want to create a "Managed" model, it is not necessary to include a connection when you select this option, because Biuwer manages it automatically for your organization as a CDW (Cloud Data Warehouse).

![Dialog to add a new Managed Model](/files/-MMuiz0QttTA0zM1Yjac)

Managed models can only include managed datasets. **This is interesting** because relationships can be modeled between data of different types uploaded to Biuwer, obtained through the CSV or Excel file importer, connections to external APIs or through the Biuwer data preparation module.

We have access to the list of Datasets that are part of the model from its detail page.

![Detail of Datasets in a Data Model](/files/-MMujI6pjkFP0_RrwPwq)

Using the "Add" button we can include new datasets. From the list itself, by clicking on the red cross you can remove a dataset from the model.

![Dialog to add a dataset to a model](/files/-MMujb_cFK_qHZ0UpZXS)

Clicking on the "Relations" tab shows the list of relations included in the model.

![Detail of Relations between Datasets in a Model](/files/-MMujrEj6kC1DsY3H7Qp)

**A relationship links two datasets using one or more fields, using an operator** (equality, inequality, greater or lesser) **and a relationship type**:

* **Inner**: includes all records when there is at least one match in both datasets.
* **Left Outer**: includes all records of the left dataset, and the matching records of the right dataset.
* **Right Outer**: includes all records of the right dataset, and the matching records of the left dataset.
* **Full Outer**: includes all records of the left and right datasets.

![Dialog to add a Relationship to a Model](/files/-MMukP1Oa7RlbhFCNXst)


# Introduction

It’s important to have elements that help us collaborate, structure and configure access to information in a transversal way when we work with data in an organization. In a similar way to a house plan, where there are rooms, corridors, etc. in Biuwer the management of content is structured using **Spaces, Pages** and **Cards**.

Below you have the detail of each of these elements in Biuwer:

* [**Personal Space**](/content-management/personal-space)
* [**Shared spaces**](/content-management/shared-spaces)
* [**Favourite content**](/content-management/favourite-content)
* [**Pages**](/content-management/pages)
* [**Cards**](/content-management/cards)


# Personal space

**Advanced users** in Biuwer automatically have a personal space, called "**My Space**", to which only they have access and which is often used to work privately with pages and cards. This private work can be maintained over time or be done temporarily to move content to shared spaces that other users have access to.

In the personal space, each advanced user can manage pages and cards as they would do in shared spaces, with the same functionalities (types of cards, data access), but **without the need to configure access** since only the user himself will be able to access and manage this content.

The only way for an administrator of your organization to access the content that the different advanced users have been creating respectively in their personal spaces, is by using the functionality "**Connect as**" within the administration area. In this way, individual content can be recovered and transferred to shared spaces if necessary.


# Shared spaces

What is usual in organizations that work collaboratively with data is to have pages and cards in shared spaces, in which access is configured for different users and groups of users, according to the context of analysis or the structure within the company. For example, it is common to organize the content in shared spaces by criteria such as:

* **Business organization chart**: company management, departments, areas of responsibility, etc.
* **Analysis of data referring to specific moments or elements**: 2020 business analysis, project management X, profitability study X.

It is convenient to properly organize the content in shared spaces, according to their context of use, both in time and in content, and **to give proper names to shared spaces and pages**, to guide users properly to quickly access the data.

To access spaces in Biuwer, use the following icon in the left sidebar:

![Access to Spaces](/files/-MMuoG9SdskR95e__wmM)

Spaces are displayed by default in a **large format view**, both the **personal space "My Space"** (only if the connected user is standard) and **shared spaces**. From this list you can search for spaces by name and configure the sorting by various criteria (ascending or descending, by name, creation date, modification date, favorite spaces first or not) and also activate **the detailed list view**.

![List of spaces in large format view](/files/-MMuoniBWT-2om9nKq4M)

![List of spaces in detail list view](/files/-MMup0F-GajKOb9rWf1l)

The **organization of the content** always takes place **within spaces** and is simple, since **a space can contain pages and cards**. In previous screens you can see for each shared space how many pages and how many cards it contains.

In turn, **a page also acts as a card container**, since inside each page to be used properly there must be at least one card.


# Favourite content

Each user can bookmark any content, be it Spaces, Pages or Cards. To do so, just mark the star icon in different listings.

![Management of Favourite Spaces in Biuwer](/files/-MMupVoTOUU8j3OL-iiv)

![Favourite card management in Biuwer](/files/-MMupdK3NeeFjd4XauJA)

Bookmarking content facilitates quick access to content as it allows favorites to be displayed as the first items, to clearly distinguish them from potentially long listings.


# Pages

To create a page, first of all, navigate to the space in which you want to create it, be it your personal space or a shared space and from the "+" button located in the upper right corner, select the "Page" option.

![Create a new Page in a Space](/files/-MMuqHHkDCpPZ7V4ZEQ2)

It will automatically create an empty content page that we can configure and add content, that is, the cards that make it up.


# Cards

Cards are the main content element in Biuwer.

Each card can be used individually, or included on one or more pages, to analyze data in different contexts.

![Create a new Card in a Space](/files/-MMuqb-e7AOg1v0Fwac5)

To create a card in a space, first select the type of card to be created. Currently you have available the following types of cards, each of which has multiple ways to be configured, in terms of data and visual formats:

* Cross table
* Vertical table
* Chart
* KPI
* Map
* Custom Card

Below you have the detail to work with Cards in Biuwer:

* [**Data Card Editor**](/content-management/cards/data-card-editor)
* [**Data queries**](/content-management/cards/data-queries)
* [**KPI Card**](/content-management/cards/kpi-card)
* [**Vertical Table Card**](/content-management/cards/vertical-table-card)
* [**Cross Table Card**](/content-management/cards/cross-table-card)
* [**Chart Card**](/content-management/cards/chart-card)
* [**Map Card**](/content-management/cards/map-card)
* [**Custom Card**](/content-management/cards/personalised-card)


# Data Card Editor

Data cards are built using the **Data Card Editor**, which we access when creating any data card. For any data card, it’s necessary to configure a **data query** or queries that are made on the different Data Models (previously defined and available in our organization).

Depending on the type of card, it is allowed to make only one query or all queries that you consider necessary. If a card allows you to configure different queries it means that you can potentially unify in the same card data coming from different data sources. Some examples:

* **KPI cards**. You can include in the same card aggregated values from a database, a CSV file or an external API.
* **Maps**. You can create several data layers to display them on the same geographic map, one with data from a database and another from an external mapping system.
* **Custom cards**. You can get data from several tables and views stored in the same database or different ones, to use them as needed when graphically representing the card (custom table, custom chart, etc.).


# Data queries

Using the "Queries" tab of the Data Card Editor, you can create the queries that the selected card can use to configure its visual representation without technical knowledge.

![Configuration of queries in the Data Card Editor](/files/-MMuu-hFatA-RoUB4iNT)

The steps to be taken are the following:

* **Select a Data Model**. Data models must be previously configured in Biuwer. The list of available data fields will be displayed, organized in a block of Dimensions and another block of Metrics, according to the type of field, and also the name of the Dataset to which each field belongs.
* **Identify data fields**. You can use the interactive search that filters the data fields by name. Remember that different Datasets may have fields with the same name. To identify each field to which Dataset is associated, simply place the cursor over the field.
* **Drag and drop data fields** into the "**Columns**" block on the right. You can sort the fields by dragging them up and down.
* **Click on the "Preview" button** to display results of the query.

Once you have previewed the results of a query, **you can make the changes you need** in terms of fields, adding others, removing others or customizing each one. When Biuwer detects any change in the query, it will show you a message so that you can update the data according to the changes made.

![Configuration of queries in the Data Card Editor](/files/-MMuu_hiyv8_gZZzsoT1)

Each field uses by default the settings of the corresponding dataset, in terms of **field type** **(Dimension or Metric)** and in the case of metrics, the **default aggregation function**. However, at the time of setting up the card queries, you can change this behavior by clicking on the pencil icon for each field:

* **Dimension fields**. You can indicate that **they behave like metrics**, with the aggregation function available depending on the type of data of the field. This is useful when you want, for example, to count different elements in a dataset.
* **Metric fields**. You can modify the default aggregation function assigned, since in different contexts of analysis you may need to add, count, obtain averages, maximums, minimums, etc.

![Edit a column in the Data Card Editor](/files/-MMuvZv-6pmmBIyXnTr5)

Other aspects that you should take into account when configuring your data queries in Biuwer:

* **Data sorting**. Data will be obtained performing a physical data query in a database, either managed by you or by Biuwer. If you do not specify any sorting, data will be obtained as it is returned from the database. You can configure the "Default sorting" block to retrieve data already sorted by one or more fields, in ascending or descending order, and this can be useful for setting up data rankings, for example.
* **Limit of records**. By default all queries in Biuwer will apply a limit to the number of records obtained. However, depending on your plan you can set this limit and even not apply any limit at all. A common use case for setting up rankings is to apply a record limit and the associated sorting. For example, to obtain the 10 customers that have bought the most, you would apply a limit of 10 records, while ordering by the amount of sales field from the highest to the lowest amount (descending).

{% hint style="danger" %}
If you specify for your queries the option "**No limit**" you must be aware of the volume of data that can be obtained and this may affect the performance, both of the database query itself, the time required to transfer the data and subsequently its representation on the card.
{% endhint %}

When you have configured your queries with the expected fields and results, it is time to configure in the "Visualization" tab the graphic aspect that the data card will have. This depends on each type of card and you can see a preview of the card as you make settings.


# KPI card

KPI cards in Biuwer allow for the visual representation of totalised numerical values. They are usually used in pages to compose dashboards and their purpose is to serve as a summary.

![Example of KPI cards in Biuwer](/files/-MMUnpgTXtMkwwQluaGc)

A KPI card **supports multiple queries**, so that as many total numeric values as needed can be incorporated into the same card. However, regardless of this, when configuring the card, **only metric type fields are supported**, to which an aggregation function has been applied, in order to obtain a single total value.

To configure the display of a KPI card, from the "Visualization" tab of the Data Card Editor:

1. Select one or more metric type fields from the "Available fields" and drag it to the "**Indicator location**" block on the right.
2. Press the "Preview" button to show step-by-step how the card is displayed.
3. You can configure different **layouts** for the location of various metrics.

![Configuring a KPI card in Biuwer](/files/-MMUqXeVkodZJ4zhAfQu)

Using the pencil icon on each metric you access the indicator settings with multiple options:

* **Configuration**. You can indicate the **vertical position** of the indicator, its **numerical format** and **visual style**. You can also specify an **icon** among the catalog of available icons and if it is a **time metric**, that is, it measures a temporary duration, you can specify what it means (seconds, minutes, hours, days, etc.) and what time format you want to use. In addition to the indicator, you can **display a text** around it indicating a particular visual format, even with a custom icon.

![Options for setting up an indicator on a KPI card](/files/-MMUooFJQ-tZXaFIBfYv)

* **Box style**. You can specify a **background color, borders** and even **indentation**, for each of the four sides of the box.

![Applying box styles to an indicator on a KPI card](/files/-MMUp34ofERGOJNwZ0U-)

* **Conditional style**. It is possible to specify one or more conditional styles, based on arithmetic conditions that the indicator value reaches. For each added condition it is possible to apply again a totally different configuration and box style, in all its parameters.

![Applying conditional styles to an indicator on a KPI card](/files/-MMUpJhptSSdEf5GEdBh)

Below is a visual example of a KPI applying other styles and formats.

![Example of a KPI card with applied formats](/files/-MMUphJBH1kmFjmtcSql)


# Vertical Table Card

**Vertical Table** cards in Biuwer allow data analysis in list format. They are often used individually or included in pages to go into detail, showing up to thousands of rows of data.

![Example of Vertical Table card in Biuwer](/files/-MMuxkoDkl13L2yN5uJ6)

Among features you can use with the Vertical Table are the following:

* Show or hide **headers**
* Enable **interactive sorting**
* Allow **multiple sorting** (several columns, in order)
* Allow **interactive filtering** (allows to include for each field a search box inside the table itself, for interactive searches, in addition to page filters and card filters)
* Show **alternate color rows** (very useful to distinguish between rows visually)
* Allow **interactive field selection** (allows a set of additional fields to be dynamically included in the table to achieve aggregations at different levels)
* Show **rows obtained and displayed** (shows at the top of the table a simple statistic with the number of records obtained and those being displayed at each moment, depending on whether or not interactive filters are applied)
* Show **row numbers** (very useful when you want to have in each record the number of row obtained)
* Configure the **header height and the row height** (you can indicate a fixed value in pixels or apply a dynamic height based on the content of each record)

![Vertical Table Card Configuration Options](/files/-MMuzfF0U3Nu7ZbhbioB)

For each column included in a vertical table there are several configuration options, among which are:

* Indicate the **title of the column**, regardless of the name of the field in the used dataset
* If it is a **numerical column**, indicate the **format** to be displayed
* If it is also a **time metric**, indicate the time level and the format to be displayed
* Specify whether **interactive filtering** is allowed for the column
* Specify whether **interactive sorting** is allowed for the column
* **Hide or show the column** (can be useful to apply custom sorts, conditional formats, etc.)
* **Add a total** at the bottom of the column, with the option to include a text, a predefined arithmetic operation or a custom formula.

![Column configuration options on Vertical Table cards](/files/-MMv-pdlTqx4whz5RmTD)

In each column of a vertical table, you can apply styles and conditional styles, in a similar way to other types of cards.

You can also specify a conditional format for an entire row.


# Cross Table Card

**A Cross Table is a two-way table consisting of columns and rows**. It is also known as a pivot table or multidimensional table. It is very useful for structuring, summarizing and displaying large amounts of data. They allow you to visually determine if there is a relationship between the row variable and the column variable.

Cross-table cards are very powerful for making numerical summaries by confronting two or more dimensions of data with each other. By representing the same data used in a cross-table in the equivalent vertical table, we will see that these take up much more space, as the number of rows will be the Cartesian product of each combination of dimensions, and it is much more difficult to obtain a general description.

![Example of a Cross Table card in Biuwer](/files/-MMv3fCDCDOJbm7fmuhj)

To set up a cross table you need to indicate at least one dimension in the "Rows" block, one dimension in the "Columns" block and at least one metric in the "Data" block. Many other possibilities are optional.

![Example of cross table card configuration in Biuwer](/files/-MMv3sQkrbORsVWK1bL_)

Within the general configuration possibilities you can specify:

* Select the **grids** to be displayed (left, right, headers, footers and main). General **totals can be shown** in the horizontal and vertical footers, for columns, rows or for the entire measurement.
* **Predefined general style** (theme) of the cross table
* **Custom styles and/or conditional styles** applied on **header, footer or subtotals.**

In addition for data fields, you can specify:

* Field title (row or column)
* If it is a **numerical column**, indicate the format to be displayed
  * If it is also a **time metric**, indicate the time level and the **format** to be displayed
* Grouping of cells (in case of repeated values show a single value)
* Show subtotals
* Field style (that can be customized over the one that indicates the predefined style in the cross table - theme)


# Chart Card

Charts are a great tool to visually summarize a large amount of data and are the main recommendation when creating Dashboards that aim to directly show a specific analysis context.

Chart Cards can be used to create different types of visualisations, depending on the objective being pursued. To create a chart card, you start with a selection of data fields (as with all other data cards) and the "Visualization" tab is where you select the type of chart.

Currently the types of charts available are:

* Line chart
* Area Chart
* Vertical bar chart
* Horizontal bar chart
* Stacked vertical bar chart
* Stacked horizontal bar chart
* Mixed graph of lines and vertical bars
* Doughnut chart (donut)
* Pie chart
* Radar chart

Each type of chart includes additional blocks and settings available. For example, vertical bar charts include the "**Dimension**" block (associated with the horizontal axis), the "**Metrics**" block (associated with the vertical axis) and optionally the "**Break by**" block to distribute the value of a metric among the different values of a dimension.

![Setting up a Chart card in Biuwer](/files/-MMv5f2n1Hz3J_CWuNIn)

There are many options to set up a chart, and some of them are particular to each type of chart:

* Show legend and in which position (up, right, down or left)
* Show pop-up description (tooltip)
* Label data values on the chart and in what format
* X-axis configuration
* Y-axis configuration

![X-axis configuration on a Chart card](/files/-MMv5zTkar_TQsThcqyk)

![Y-axis configuration on a Chart card](/files/-MMv67i7DO7I9PBgisGn)

As with other cards, each field has its own configuration, in which you can specify details such as:

* Field labels
* Sort of values
* Formats of values
* Colours and styles

![Metric-type field configuration on a Chart card](/files/-MMv6P90SZvvswoOGKt8)

Options and results that can be achieved in terms of charts, are very broad and open to specific needs or to the imagination of the user.


# Map Card

When geographic data is available, performing data analysis using maps is very visual as the data is displayed in a specific geopositioned context.

In Biuwer, map cards accept multiple queries, which means that maps can be created with one or more layers, with data from different Data Models, or in other words, from one or different data sources.

![Configuration of a Map Card in Biuwer](/files/-MMv6qlhZyv-Ddt8PMtB)

In this case, the initial configuration includes:

* Show a base map and which base map, among the available options
* Location of the centre of the map (can be specified by manual input of latitude and longitude, or by using the map itself)
* Map zoom level (can be specified by manual input or by using the map itself)
* Other controls on the map (zoom, layer selector, allow zoom with the mouse)

To configure a layer, click on the "Add" button at the top right of the "Layers" block and in the create/edit layer dialog, indicate a name for the layer, the type of map layer to include and the query from which to obtain the data fields.

![Editing a layer on a Map card](/files/-MMv7MHDufYiDlhbsZuD)

Each data layer you want to include in the map requires its own configuration. For example, to configure a symbol layer you can set the following:

* **How to locate each symbol** (e.g. using two data fields indicating the latitude and longitude of the symbol).
* What is the **size of the symbol**, whether it is fixed or dynamic depending on the value of a data field.
* What is the **colour and icon of the symbol**, if it is fixed or dynamic according to the value of a data field.
* What is the **border of the symbol**.
* **Whether tooltips (pop-up data layers) will be displayed** when the mouse is moved over symbols and/or when they are clicked on, and what information will be displayed.

![Setting up a layer of symbols on a map card](/files/-MMv7w2t6UEY4B2AmiiC)

As with chart cards, possibilities offered by the map card are very extensive and can be adapted to a multitude of needs and the imagination of the user.


# Custom Card

Biuwer has been conceived from the beginning as an extensible data platform and therefore one of its main features is that it is possible to create a card that represents any type of information, in a custom way for each Organization. For these cases, the Custom Card is available, which will allow the use of the multiple query system on available Data Models, and use these data to display:

* Integrations with third parties
* Custom charts
* Custom reports
* Custom KPIs
* Custom maps
* Custom web forms

When creating a custom card in Biuwer, the displayed dialog asks for a name, if it is a data card, if multiple queries can be included, and the upload of a JS (JavaScript) file containing the card code, as a Javascript web application created with the BDK (Biuwer Development Kit).

![Creating a Custom Card in Biuwer](/files/-MMv8ZML-0wF-QR4UyEt)

{% hint style="info" %}
The Biuwer Development Kit is currently not publicly available. In case you are interested in the custom cards, please contact us using the support chat.
{% endhint %}


# Calculated fields

Card calculated fields allow you to obtain results by combining one or more fields resulting from the queries made.

### Data field Syntax

When you configure a data query on a card in Biuwer, the fields have a set of attributes that determine their behavior. Furthermore, due to the versatility of the system by allowing multiple queries and relationships between them, it is important to know how the identification of the fields works and the behavior they will have.

In the following screenshot you can see an example of a list of fields available for assembling a visualization.

<figure><img src="/files/DP5V0jRi0lvkl5danAAN" alt=""><figcaption><p>Available fields for mounting a visualization</p></figcaption></figure>

Each field includes the following information:

* **Field type**: **dimension** if color is <mark style="background-color:green;">green</mark> or **metric** if color is <mark style="background-color:blue;">blue</mark>
* **Data type**: indicated by the initial icon. **ABC** for text fields, **123** for numeric fields, a **calendar** icon for date fields, or a **-/+** icon for boolean fields.
* **Query number and field number**: indicated as, for example, Q1.1, for the field in the first position of the first query. For example, the field identified as Q2.3 is the third position field in the second query. If the order of the fields within a query is changed, Biuwer updates all the fields involved, including expressions in fields automatically calculated by you.
* **Field alias**: this is the alias of the field, which acts as the name on the card. If you hover over it with the mouse, the details of the dataset and the source field are shown.
* **Aggregation function**: it is the aggregation function configured for metric type fields. The available values are: **None, Sum, Avg, Count, Count distinct, Max and Min**.

When understanding and correctly handling the syntax to be included in the calculated fields, it must be taken into account that **a data field is going to be specified between curly braces { }**, where **the query number and the field number must appear**, and optionally the name of the field can appear. If you prefer, for simplicity, you can remove the name of the field, although it also helps to identify what it is.

For example, a calculated field titled “Yearly change %” that returns a number and is to behave as a metric in the visualization may have the following expression:

```
{Q1.4 Yearly change} / 100
```

<figure><img src="/files/0ApkDqjt0Qn77mOisyl5" alt=""><figcaption><p>Card Calculated Fields Editor</p></figcaption></figure>

What this expression does is take the value of field #4 of query #1, called “Yearly change” and divide it by 100, for each of its values. As you can see in the previous image, there is a DIV numerical function that allows you to obtain the same result, although in a different way. If DIV were used the expression would be: **DIV({Q1.4 Yearly change}, 100)**

To operate with calculated fields created on a card, the syntax is specific with the prefix **CF (Calculated Field)**. For example, **{CF.1 Calculated Field Name}** would include the first calculated field. As we mentioned previously, the simplified option of this expression is {CF.1}.

When composing a calculated field, in the calculated fields editing dialog, a list of available fields is displayed, where each one is already shown with the appropriate syntax, and if you double click on one of them, the field to expression.

### Arithmetic operations

Basic calculated fields can be composed using basic arithmetic operators, such as **addition (+), subtraction (-), multiplication (\*), or division (/)**, between one or more fields.

Here are some examples:

* Calculation of amount with VAT: metric\_field \* 1.21
* Difference between two fields: metric\_field1 *-* metric\_field2
* Application of a fixed margin to an amount: metric\_field + 100
* Calculation of a ratio between 2 fields: metric\_field1 / metric\_field2

{% hint style="info" %}
Note that when including a **field in a calculated field expression**, it must be **enclosed in curly braces { }**. Following the previous examples, it would be {metric\_field} \* 1.21
{% endhint %}

### Comparisons with previous periods

It is often interesting to be able to have a comparison for a metric with respect to past periods. For example, if we are visualizing the amount of the sale monthly, and the business has a strong dependence on the calendar, we may be interested in comparing it with the amounts of the sale produced the previous year.

Biuwer includes a set of functions to compare a metric with previous periods, which you can use when composing card calculated fields:

* **PREV\_YEAR**: Compares the specified metric to the **previous year**.
* **PREV\_QUARTER**: Compares the specified metric to the **previous quarter**.
* **PREV\_MONTH**: Compares the specified metric to the **previous month**.
* **PREV\_WEEK**: Compares the specified metric to the **previous week**.
* **PREV\_DAY**: Compares the specified metric to the **previous day**.
* **PREV\_PERIOD**: compares the metric specified for the previous period value applied to the date field used to specify the time range (date filter applied). This option is dynamic and more flexible than the PREV\_YEAR, PREV\_QUARTER, PREV\_MONTH, PREV\_WEEK, PREV\_DAY functions, since these always compare with a specific time interval, while PREV\_PERIOD takes the date level of the applied filter (YEAR, QUARTER, MONTH, WEEK , DAY) and dynamically calculates the metric value at the previous date value.

All these functions are called in the same way, and always taking into account a date field as a reference to make the comparison.

The syntax is as follows, using a metric field and a date field as a time reference. Remember that when including the fields they must be enclosed in braces { }. We use PREV\_YEAR as an example:

> General syntax:
>
> **PREV\_YEAR**(metric\_field, date\_field)
>
> A real example:
>
> **PREV\_YEAR**({Q1.1 total\_amount}, {Q1.2 issue\_date})

{% hint style="info" %}
Comparisons with previous periods are **very useful** if they are configured correctly with the **appropriate date levels**, but may not be useful in other cases.

For example, if we configure a chart with a YEAR date level and configure a time comparison with respect to the previous DAY, the result obtained will not make much sense.
{% endhint %}

### Numeric functions

These are the specific functions to operate with numeric fields and values:

* **ABS**: returns the absolute value of a number. For example, ABS(-2.55) = 2.55
* **CEILING**: rounds the number to the nearest integer of equal or greater value. For example, CEILING(2.5541) = 3
* **DIV**: returns the result of dividing a number, field, or expression (numerator) by another number, field, or expression (denominator). For example, DIV(4, 2.3) = 1.7391
* **EXP**: returns "e" number raised to the power of the given number. For example, EXP(2) = 7.389
* **FLOOR**: rounds a number to the nearest integer of equal or lesser value. For example, FLOOR(2.5541) = 2
* **LN**: returns the natural logarithm of a number. Returns Null if the number is less than or equal to 0. For example, LN(11.256) = 2.4209
* **LOG**: returns the logarithm of a number for the given base. If the base value is omitted, base 10 is used. For example, LOG(11.256, 10) = 4.0514
* **MAX\_VALUE**: Returns the maximum of at least two indicated arguments, which must be of the same type, including numeric fields, other fields, and other calculated fields. The syntax to use this function is **MAX\_VALUE(expression, expression** \[,expression]**)**, where two numerical expressions are necessary and you can optionally specify all the numerical expressions you want. For example, MAX\_VALUE(100000, {Q1.3 Population}) will return line by line, the largest value between 100000 and the value of the Population field.
* **MIN\_VALUE**: Returns the minimum of at least two arguments, which must be of the same type, including numeric fields, other fields, and other calculated fields. The syntax to use this function is **MIN\_VALUE(expression, expression** \[,expression]**)**, where two numerical expressions are necessary and you can optionally specify all the numerical expressions you want. For example, MIN\_VALUE(100000, {Q1.3 Population}) will return line by line, the smallest value between 100000 and the value of the Population field.
* **MOD**: returns the module or remainder of a division (useful to know, for example, if a number is even or odd). For example, MOD(5, 2) = 1
* **POWER**: raises the number to the specified power. For example, POWER(3, 2) =  9
* **ROUND**: rounds numbers to a specified number of digits. The decimals argument specifies how many decimal points of precision to include in the final result. If decimals are omitted, the number is rounded to the nearest integer. For example, ROUND(11.256, 1) = 11.3
* **SIGN**: returns the sign of a number (-1 if it's negative, 0 if it's zero or 1 if it's positive). For example, SIGN(11.256) = 1
* **SQUARE**: returns the square of a number. For example, SQUARE(5) = 25
* **SQRT**: returns the square root of a number. For example, SQRT(25) = 5

### Statistical functions

These functions are useful to know more about data, and show users meaningful calculations regarding hidden details inside datasets.

* **MEDIAN**: obtains the middle value of the dataset if the dataset contains an odd number of values, or the interpolation between the two middle values ​​if the dataset contains an even number of values. The syntax for using this function is **MEDIAN(metric field)**. For example, MEDIAN({Q1.4 Number of clicks}).
* **MODE**: obtains the value that occurs most frequently in the dataset. The syntax for using this function is **MODE(metric field)**. For example, MODE({Q1.4 Number of clicks}).
* **STANDARD\_DEVIATION**: obtains a value that is the result of calculating the variation of individual data points in the dataset from the mean. Standard Deviation is a statistical function that measures the dispersion of a dataset. A high standard deviation indicates a large spread of data values, while a low value indicates a concentration of values. The syntax for using this function is **STANDARD\_DEVIATION(metric field)**. For example, STANDARD\_DEVIATION({Q1.4 Number of clicks}).
* **PERCENTILE**: obtains the kth percentile of values ​​in a dataset. The percentile is a measure of position used in statistics that indicates, after ordering the field values ​​from lowest to highest, the value in the field below which a given percentage of values ​​in the dataset are located. For example, the 20th percentile is the value below which 20% of the values ​​are located, and the remaining 80% are higher. The syntax for using this function is **PERCENTILE(metric field, num)**, where **“num” is an integer between 1 and 100**. For example, PERCENTILE({Q1.4 Number of clicks}, 95).
* **QUARTILE**: obtains the kth quartile of values ​​in a dataset. A quartile is a statistical measure that divides an ordered dataset into four equal parts. Each quartile shows a specific value under which a certain percentage of the data falls. The first quartile (num = 1) corresponds to the 25th percentile and is the value under which 25% of the values ​​fall. The second quartile (num = 2) corresponds to the 50th percentile, is the median, and divides the data into two equal halves, being a significant indicator of central tendency. The third quartile (num = 3) corresponds to the 75th percentile and is the value under which 75% of the values ​​fall. Quartiles are useful in a variety of statistical applications to describe variability and extremes in data. The syntax for using this function is **QUARTILE(metric field, num)**, where **“num” is an integer between 1 and 3**. For example, QUARTILE({Q1.4 Number of clicks}, 3).
* **TERCILE**: obtains the k-th tercile of values ​​in a data set. A tercile is a statistical measure that divides a sorted data set into three equal parts. Each tercile shows a specific value under which a certain percentage of the data falls. The first tercile (num = 1) is the value under which 33.33% of the values ​​fall. The second tercile (num = 2) is the value under which 66.66% of the values ​​fall. The syntax for using this function is **TERCILE(metric field, num)**, where **num is an integer between 1 and 2**. For example, TERCILE({Q1.4 Number of clicks}, 2).
* **VARIANCE**: obtains the variance corresponding to the dataset passed as a parameter. In descriptive statistics, the variance is the mean of the squares of the deviations from the mean. Functionally, it is a measure of dispersion of the values ​​contained in the dataset. The syntax for using this function is **VARIANCE(metric field)**. For example, VARIANCE({Q1.4 Number of clicks}).
* **CORRELATION**: obtains the correlation coefficient between the two sets of data passed as parameters. Correlation is a statistical measure of how closely two variables are linearly related, meaning they change together at a constant rate. It is a common statistical tool for describing simple relationships without regard to cause and effect. **The sample correlation coefficient ranges from -1 to +1 (unitless)**. The closer it is to zero, the weaker the linear relationship. Positive values ​​indicate a positive correlation, where the values ​​of both variables tend to increase together. Negative values ​​indicate a negative correlation, where the values ​​of one variable tend to increase while the values ​​of the other variable decrease. The syntax for using this function is **CORRELATION(metric field, metric field)**. For example, CORRELATION({Q1.4 Number of clicks}, {Q1.5 Duration of session}).

### Aggregation functions

Operations involving any numerical aggregation allow obtaining totaled values from a set of original values. Aggregation functions allow you to apply various calculations, such as those described below:

* **AVG**: obtains the average value, the mean, of the indicated metric type field. This aggregation function takes into account other dimension type fields involved to include the values that apply in each case in the calculation. The syntax to use this function is **AVG(metric\_field)**. For example, AVG({Q1.4 Number of clicks})
* **COUNT**: obtains the count of the values that the indicated metric type field has, regardless of whether they are repeated or not. This aggregation function takes into account other dimension type fields involved to include the values that apply in each case in the calculation. The syntax to use this function is **COUNT(metric\_field)**. For example, COUNT({Q1.4 Number of clicks})
* **COUNT\_DISTINCT**: obtains the count of the values that the indicated metric type field has, taking into account only the different values. That is, if a value is repeated, it will count as a single value in the returned account. This aggregation function takes into account other dimension type fields involved to include the values that apply in each case in the calculation. The syntax to use this function is **COUNT\_DISTINCT(metric\_field)**. For example, COUNT\_DISTINCT({Q1.4 Number of clicks})
* **DIFF\_FROM\_FIRST**: gets the difference between the first and current value of a metric. It is useful when the data series is ordered with a specific criterion and you want to know, for each value, its difference with respect to the first value of the numerical series. The syntax to use this function is **DIFF\_FROM\_FIRST(metric\_field)**. For example, DIFF\_FROM\_FIRST({Q1.4 Number of clicks})
* **DIFF\_FROM\_LAST**: gets the difference between the current and last value of a metric. It is useful when the data series is ordered with a specific criterion and you want to know, for each value, its difference with respect to the last value of the numerical series. The syntax to use this function is **DIFF\_FROM\_LAST(metric\_field)**. For example, DIFF\_FROM\_LAST({Q1.4 Number of clicks})
* **DIFF\_FROM\_NEXT**: gets the difference between the current and next value of a metric. It is useful when the data series is ordered with a specific criterion and you want to know, for each value, its difference with respect to the next value in the numerical series. The syntax to use this function is **DIFF\_FROM\_NEXT(metric\_field)**. For example, DIFF\_FROM\_NEXT({Q1.4 Number of clicks})
* **DIFF\_FROM\_PREV**: gets the difference between the previous and current value of a metric. It is useful when the data series is ordered with a specific criterion and you want to know, for each value, its difference with respect to the next value in the numerical series. The syntax to use this function is **DIFF\_FROM\_PREV(metric\_field)**. For example, DIFF\_FROM\_PREV({Q1.4 Number of clicks})
* **MAX**: obtains the maximum value of the values taken by the indicated metric type field. This aggregation function takes into account other dimension type fields involved to include the values that apply in each case in the calculation. The syntax to use this function is **MAX(metric\_field)**. For example, MAX({Q1.4 Number of clicks})
* **MIN**: obtains the minimum value of the values taken by the indicated metric type field. This aggregation function takes into account other dimension type fields involved to include the values that apply in each case in the calculation. The syntax to use this function is **MIN(metric\_field)**. For example, MIN({Q1.4 Number of clicks})
* **MOVING\_AVG**: gets the moving average of the range specified for the metric. The syntax to use this function is **MOVING\_AVG(metric field, previous range, next range)**, where a metric is indicated, the number of records before the current one, and the number of records from the current one, to obtain the calculation window. For example, MOVING\_AVG({Q1.4 Number of clicks}, 5, 0).
* **MOVING\_MAX**: gets the maximum value in the range specified for the metric. The syntax to use this function is **MOVING\_MAX(metric field, previous range, next range)**, where a metric is indicated, the number of records before the current one, and the number of records from the current one, to obtain the calculation window. For example, MOVING\_MAX({Q1.4 Number of clicks}, 5, 0).
* **MOVING\_MIN**: gets the minimum value in the range specified for the metric. The syntax to use this function is **MOVING\_MIN(metric field, previous range, next range)**, where a metric is indicated, the number of records before the current one, and the number of records from the current one, to obtain the calculation window. For example, MOVING\_MIN({Q1.4 Number of clicks}, 5, 0).
* **MOVING\_SUM**: gets the sum of the values in the range specified for the metric. The syntax to use this function is **MOVING\_SUM(metric field, previous range, next range)**, where a metric is indicated, the number of records before the current one, and the number of records from the current one, to obtain the calculation window. For example, MOVING\_SUM({Q1.4 Number of clicks}, 5, 0).
* **PCT\_DIFF\_FROM\_FIRST**: gets the percentage difference between the first and current value of a metric. It behaves like the DIFF\_FROM\_FIRST function but returns a percentage. The syntax to use this function is **PCT\_DIFF\_FROM\_FIRST(metric\_field)**. For example, PCT\_DIFF\_FROM\_FIRST({Q1.4 Number of clicks})
* **PCT\_DIFF\_FROM\_LAST**: gets the percentage difference between the current and last value of a metric. It behaves like the DIFF\_FROM\_LAST function but returns a percentage. The syntax to use this function is **PCT\_DIFF\_FROM\_LAST(metric\_field)**. For example, PCT\_DIFF\_FROM\_LAST({Q1.4 Number of clicks})
* **PCT\_DIFF\_FROM\_NEXT**: gets the percentage difference between the current and next value of a metric. It behaves like the DIFF\_FROM\_NEXT function but returns a percentage. The syntax to use this function is **PCT\_DIFF\_FROM\_NEXT(metric\_field)**. For example, PCT\_DIFF\_FROM\_NEXT({Q1.4 Number of clicks})
* **PCT\_DIFF\_FROM\_PREV**: gets the percentage difference between the previous and current value of a metric. It behaves like the DIFF\_FROM\_PREV function but returns a percentage. The syntax to use this function is **PCT\_DIFF\_FROM\_PREV(metric\_field)**. For example, PCT\_DIFF\_FROM\_PREV({Q1.4 Number of clicks})
* **PCT\_FROM\_FIRST**: gets the percentage of the first and current value of a metric. It behaves like the DIFF\_FROM\_FIRST function but returns a percentage. The syntax to use this function is **PCT\_FROM\_FIRST(metric\_field)**. For example, PCT\_FROM\_FIRST({Q1.4 Number of clicks})
* **PCT\_FROM\_LAST**: gets the percentage of the current and last value of a metric. It behaves like the DIFF\_FROM\_LAST function but returns a percentage. The syntax to use this function is **PCT\_FROM\_LAST(metric\_field)**. For example, PCT\_FROM\_LAST({Q1.4 Number of clicks})
* **PCT\_FROM\_NEXT**: gets the percentage of the current and next value of a metric. It behaves like the DIFF\_FROM\_NEXT function but returns a percentage. The syntax to use this function is **PCT\_FROM\_NEXT(metric\_field)**. For example, PCT\_FROM\_NEXT({Q1.4 Number of clicks})
* **PCT\_FROM\_PREV**: gets the percentage of the previous and current value of a metric. It behaves like the DIFF\_FROM\_PREV function but returns a percentage. The syntax to use this function is **PCT\_FROM\_PREV(metric\_field)**. For example, PCT\_FROM\_PREV({Q1.4 Number of clicks})
* **PCT\_OVER\_TOTAL**: obtains the percentage of each value of a metric with respect to the total of said metric. The syntax to use this function is **PCT\_OVER\_TOTAL(metric\_field)**. For example, PCT\_OVER\_TOTAL({Q1.4 Number of clicks})
* **RUNNING\_AVG**: gets the cumulative average of a metric. The syntax to use this function is **RUNNING\_AVG(metric\_field)**. For example, RUNNING\_AVG({Q1.4 Number of clicks})
* **RUNNING\_COUNT**: gets the running count of a metric. The syntax to use this function is **RUNNING\_COUNT(metric\_field)**. For example, RUNNING\_COUNT({Q1.4 Number of clicks})
* **RUNNING\_MAX**: gets the running maximum of a metric. The syntax to use this function is **RUNNING\_MAX(metric\_field)**. For example, RUNNING\_MAX({Q1.4 Number of clicks})
* **RUNNING\_MIN**: gets the running minimum of a metric. The syntax to use this function is **RUNNING\_MIN(metric\_field)**. For example, RUNNING\_MIN({Q1.4 Number of clicks})
* **RUNNING\_SUM**: gets the running sum of a metric. The syntax to use this function is **RUNNING\_SUM(metric\_field)**. For example, RUNNING\_SUM({Q1.4 Number of clicks})
* **SUM**: obtains the sum of values of the indicated metric type field. This aggregation function takes into account other dimension type fields involved to include the values that apply in each case in the calculation. The syntax to use this function is SUM(metric\_field). For example, SUM({Q1.4 Number of clicks})
* **TOTAL\_SUM**: obtains the sum of all the values of the indicated metric type field. The syntax to use this function is **TOTAL\_SUM(metric\_field)**. For example, TOTAL\_SUM({Q1.4 Number of clicks})
* **TOTAL\_AVG**: obtains the average of all the values of the indicated metric type field. The syntax to use this function is **TOTAL\_AVG(metric\_field)**. For example, TOTAL\_AVG({Q1.4 Number of clicks})
* **TOTAL\_MIN**: obtains the minimum of all the values of the indicated metric type field. The syntax to use this function is **TOTAL\_MIN(metric\_field)**. For example, TOTAL\_MIN({Q1.4 Number of clicks})
* **TOTAL\_MAX**: obtains the maximum of all the values of the indicated metric type field. The syntax to use this function is **TOTAL\_MAX(metric\_field)**. For example, TOTAL\_MAX({Q1.4 Number of clicks})
* **TOTAL\_COUNT**: obtains the count of all the values that the indicated metric type field has, regardless of whether they are repeated or not. The syntax to use this function is **TOTAL\_COUNT(metric\_field)**. For example, TOTAL\_COUNT({Q1.4 Number of clicks})
* **TOTAL\_COUNT\_DISTINCT**: obtains the count of all the values that the indicated metric type field has, taking into account only the different values. That is, if a value is repeated, it will count as a single value in the returned account. The syntax to use this function is **TOTAL\_COUNT\_DISTINCT(metric\_field)**. For example, TOTAL\_COUNT\_DISTINCT({Q1.4 Number of clicks})

{% hint style="info" %}
**Calculation windows in MOVING\_XXX functions**. The operation of these functions is based on defining a calculation window, composed of a number of records or values of a metric, whose values are ordered according to the criteria that apply. How big is a calculation window? By default, the current value is always included in the window. To define how big or small this window is, you can use the number of records or values, before (using **previous range**) and after (using **next range**) the current one. This allows you to define windows centered, shifted to the right or to the left of each value. Some examples:

* If **previous range = 7** and **next range = 0**, then the window includes the 7 values before the current one and the current one. It is a window moved to the left.
* If **previous range = 3** and **next range = 3**, then the window includes the 3 values before the current one, the current one, and the 3 values after the current one. It is a centered window.
* If **previous range = 2** and **next range = 4**, then the window includes the 2 values before the current one, the current one, and the 4 values after the current one. It is a window moved to the right.
  {% endhint %}

### Date functions

Working with dates is important to be able to convert formats, obtain parts of a date, create dates, obtain today's date, etc. The date functions allow a multitude of options, such as those described below:

* **DATE**: gets a date from the expression passed as a parameter, which is typically text in the international standard date format, with the **mask 'YYYY-MM-DD'.** The syntax to use this function is **DATE(expr)**. For example, DATE({Q1.3 Date as text}) or DATE('2024-04-17').
* **DATEPARSE**: gets a date from the expression passed as a parameter, which has the format specified in the indicated mask. This function allows you to flexibly adapt to different date formats present in the data for each field. The syntax to use this function is **DATEPARSE(date\_mask, expr)**. For example, DATEPARSE('MM/DD/YYYY', {Q1.3 Date as text}) or DATEPARSE('MM/DD/YYYY', '04/17/2024').
* **MAKEDATE**: gets a date from the specified year, month, and day values. The syntax to use this function is **MAKEDATE(year, month, day)**. For example, MAKEDATE({Q1.1 Year}, {Q1.2 Month}, {Q1.3 Day}) or MAKEDATE(2024, {Q1.2 Month}, 1).
* **DATEADD**: gets a date that is the result of adding the specified number of intervals to another date. This function allows you to obtain dates that are 1 year later, 4 weeks earlier or 15 days later than others. The syntax to use this function is **DATEADD(date\_level, interval, date)**. The options available for **date\_level** are: **'year', 'quarter', 'month', 'week' and 'day'**. The interval must be an integer, positive, zero, or negative. For the previous examples it would be: DATEADD('year', 1, {Q1.5 My date}), DATEADD('week', -4, {Q1.5 My date}) or DATEADD('day', 15, { Q1.5 My date})
* **DATEDIFF**: gets the difference between the two specified date fields, at the specified date level. This function allows you to obtain the days, weeks, months, quarters or years between two dates. The syntax to use this function is **DATEDIFF(date\_level, date1, date2)**. The options available for **date\_level** are: **'year', 'quarter', 'month', 'week' and 'day'**. The returned result is an integer, positive, zero, or negative. For example, DATEDIFF('day', {Q1.5 My date}, {CF.1 Other calculated date})
* **DATENAME**: gets the name of the specified part of the date. It is used to display names of months, days of the week, etc. The syntax to use this function is **DATENAME(date\_part, date)**. The options available for **date\_part** are: **'year', 'quarter', 'month', 'week', 'weekday', 'dayofyear' and 'day'**. The returned result is a text, for example, DATENAME('month', MAKEDATE(2024, 17, 1)) = 'April'
* **DATEPART**: gets the number that corresponds to the specified part of the date. It is used to obtain, for example, the day or week of a date. The syntax to use this function is **DATEPART(iso\_date\_part, date)**. The options available for **iso\_date\_part** are: **'year', 'quarter', 'month', 'week', 'weekday', 'dayofyear', 'day', 'iso-year', 'iso-week' and 'iso- weekday'**. The returned result is a number, for example DATEPART('iso-week', {Q1.1 OrderDate})
* **DATETRUNC**: obtains a new date, the result of modifying the date indicated as a parameter, to have the first day of the year, quarter, month, week or today, always at 12:00 AM (or 0:00 PM). It is used to obtain the start dates of known and regular intervals. The syntax to use this function is **DATETRUNC(date\_level, date)**. The options available for **date\_level** are: **'year', 'quarter', 'month', 'week' and 'day'**. The returned result is a date, for example DATETRUNC('month', {Q1.1 OrderDate})
* **YEAR**: obtains the value corresponding to the year of the date indicated as a parameter. The syntax to use this function is **YEAR(date)**. For example, YEAR({Q1.1 OrderDate})
* **QUARTER**: obtains the value corresponding to the quarter of the date indicated as a parameter. The syntax to use this function is **QUARTER(date)**. For example, QUARTER({Q1.1 OrderDate})
* **MONTH**: obtains the value corresponding to the month of the date indicated as a parameter. The syntax to use this function is **MONTH(date)**. For example, MONTH({Q1.1 OrderDate})
* **WEEK**: obtains the value corresponding to the week of the date indicated as a parameter. The syntax to use this function is **WEEK(date)**. For example, WEEK({Q1.1 OrderDate})
* **DAY**: obtains the value corresponding to the day of the year of the date indicated as a parameter. The syntax to use this function is **DAY(date)**. For example, DAY({Q1.1 OrderDate})
* **ISOYEAR**: obtains the value corresponding to the year of the date indicated as a parameter, according to the ISO 8601 standard for years. The syntax to use this function is **ISOYEAR(date)**. For example, YEAR({Q1.1 OrderDate})
* **ISOWEEK**: obtains the value corresponding to the week of the date indicated as a parameter, according to the ISO 8601 standard for weeks. The syntax to use this function is **ISOWEEK(date)**. For example, ISOWEEK({Q1.1 OrderDate})
* **TODAY**: gets today's date. The syntax to use this function is **TODAY()**
* **ISDATE**: obtains the boolean indicating with true or false if the date indicated as a parameter is actually a valid date. The syntax to use this function is **ISDATE(date)**. For example, ISDATE({Q1.1 OrderDate})

{% hint style="info" %}
**About international date formats.** When creating a date from a text string, we first check whether the string matches known [**ISO 8601**](https://en.wikipedia.org/wiki/ISO_8601) formats and then check whether the string matches the [**RFC 2822**](https://tools.ietf.org/html/rfc2822#section-3.3) date and time format.
{% endhint %}

{% hint style="info" %}
The different **masks** you can build for the data are available [**here**](https://momentjs.com/docs/#/parsing/string-format/).
{% endhint %}

{% hint style="info" %}
**Differences between ISO and “non” ISO date functions**. Functions labeled ISO take into account minor differences in date formats, as documented by the [**ISO 8601 standard**](https://en.wikipedia.org/wiki/ISO_8601). You can usually use functions not labeled ISO to take advantage of the date format you specify or the one with the data field, and apply the regional configuration that you have configured in Biuwer (date format, start day of the week). If the returned values are not correct, you can switch to the ISO variant of the function.
{% endhint %}

### Text functions

It is often necessary to make modifications, adjustments or operations with text strings. To do this, use one of the following functions:

* **CONCAT**: obtains a text string resulting from concatenating at least two indicated arguments, which must be of the same type, including text strings, text fields and other calculated text fields. The syntax to use it is **CONCAT(expression, expression** \[,expression]**)**, where two text expressions are necessary and you can optionally specify all the text expressions you want.. For example: CONCAT('Country: ', {Q1.3 SalesTerritoryCountry})
* **CONTAINS**: indicates whether the text string passed as the first parameter contains the text string passed as the second parameter, i.e. returns true or false (boolean field, as true or false). The syntax for using this function is **CONTAINS(dimension field, string)**. For example, for the value ‘Spain’ CONTAINS({Q1.1 Country}, ‘ain’) would return true.
* **ENDS\_WITH**: Indicates whether the text string passed as the first parameter ends with the text string passed as the second parameter, that is, returns true or false (boolean field, as true or false). The syntax to use this function is **ENDS\_WITH(dimension\_field, string)**. For example, for the value ‘Spain’ ENDS\_WITH({Q1.1 Country}, ‘ain’) would return true.
* **STARTS\_WITH**: indicates whether the text string passed as the first parameter starts with the text string passed as the second parameter, that is, returns true or false (boolean field, such as true or false). The syntax for using this function is **STARTS\_WITH(dimension\_field, string)**. For example, for the value ‘Spain’ STARTS\_WITH({Q1.1 Country}, ‘ain’) would return false.
* **CAPITALIZE**: obtains the text string passed as a parameter with the first character capitalized. The syntax for using this function is **CAPITALIZE(dimension\_field)**. For example, for the value ‘products’ CAPITALIZE({Q1.1 Product Name}) would return ‘Products’.
* **LOWER**: obtains the entire text string passed as a parameter in lowercase. The syntax for using this function is **LOWER(dimension\_field)**. For example, for the value ‘Products’ LOWER({Q1.1 Product Name}) would return ‘products’.
* **UPPER**: obtains the entire text string passed as a parameter in uppercase. The syntax for using this function is **UPPER(dimension\_field)**. For example, for the value ‘Products’ UPPER({Q1.1 Product Name}) would return ‘PRODUCTS’.
* **FIND**: obtains the position where the text string passed as the second parameter is found within the text string passed as the first parameter. 0 is returned if it is not found, 1 if it is found in the first character, and so on. Optionally, a third parameter can be indicated with the position from which the search is performed. The syntax for using this function is **FIND(dimension field, string, num)**. For example, for the value ‘Nebraska’ FIND({Q1.1 Region}, ‘a’) will return 5, FIND({Q1.1 Region}, ‘a’, 6) will return 8, and FIND({Q1.1 Region}, ‘o’, 2) will return 0.
* **FINDNTH**: obtains the position where the num occurrence of the text string passed as the second parameter is found within the text string passed as the first parameter. 0 is returned if not found, 1 if found in the first character, and so on. The syntax for using this function is FINDNTH(dimension field, string, num). For example, for the value ‘Nebraska’ FINDNTH({Q1.1 Region}, ‘a’, 1) will return 5, FINDNTH({Q1.1 Region}, ‘a’, 3) will return 0.
* **LEN**: obtains the length of the text string passed as a parameter. The syntax for using this function is **LEN(dimension field)**. For example, for the value ‘Nebraska’ LEN({Q1.1 Region}) will return 8.
* **LEFT**: obtains the first num characters from the text string passed as the first parameter, i.e. starting from the left. The syntax for using this function is **LEFT(dimension field, num)**. For example, for the value ‘Nebraska’ LEFT({Q1.1 Region}, 3) will return ‘Neb’.
* **RIGHT**: obtains the last num characters of the text string passed as the first parameter, i.e. starting from the right. The syntax for using this function is **RIGHT(dimension field, num)**. For example, for the value ‘Nebraska’ RIGHT({Q1.1 Region}, 3) will return ‘ska’.
* **LTRIM**: obtains the text string passed as the first parameter without any leading whitespace. The syntax to use this function is **LTRIM(dimension field)**. For example, for the value ‘ Nebr aska ’ LTRIM({Q1.1 Region}) will return ‘Nebr aska ’.
* **RTRIM**: obtains the text string passed as parameter without any trailing whitespace. The syntax to use this function is **RTRIM(dimension field)**. For example, for the value ‘ Nebr aska ’ LTRIM({Q1.1 Region}) will return ‘ Nebr aska’.
* **TRIM**: obtains the text string passed as parameter without any leading or trailing whitespace. The syntax to use this function is **TRIM(dimension field)**. For example, for the value ‘ Nebr aska ’ TRIM({Q1.1 Region}) will return ‘Nebr aska’.
* **SUBSTRING**: obtains the substring that results from the text string passed as the first parameter, starting from the (start) position and going through a number of characters (length). It is a very common function to obtain parts of text strings, even in conjunction with other functions to obtain the start positions (start) and the length of the resulting string (length), such as FIND and LEN. The syntax to use this function is **SUBSTRING(dimension field, start, length)**. For example, for the value ‘Nebraska’ SUBSTRING({Q1.1 Region}, 1, 3) will return ‘Neb’.
* **REPLACE**: obtains the text string that results from replacing the string old\_string with the string new\_string in the text string passed as the first parameter. The syntax for using this function is **REPLACE(dimension field, old\_string, new\_string)**. For example, for the value ‘Nebraska’ REPLACE({Q1.1 Region}, ’aska’, ‘askas#’) will return ‘Nebraskas#’.
* **SPACE**: obtains a string consisting of the specified number of repeated spaces. The syntax for using this function is **SPACE(num)**. For example, SPACE(5) ​​will return ‘     ’.
* **SPLIT**: obtains a substring from the text string passed as the first parameter, using the text string passed in the second parameter as the delimiter and the third parameter is the position of the substring to return. The syntax to use this function is **SPLIT(dimension field, string, num)**. For example, for the value ‘Nebraska;Washington;Miami’ SPLIT({Q1.1 Region}, ’;’, 3) will return ‘Miami’.

### Logical functions

When it is necessary to apply different expressions according to different logics, it is common to use the following functions:

* **IF**: checks the logic of an expression, specified to return a value if the check is true and another value otherwise. This is the typical IF+THEN+ELSE construction with the **IF(comparison expr, then expr, else expr)** syntax. For example, IF({Q1.3 SalesTerritoryCountry} = 'Australia', 'AUS', 'OTHER')
* **IFNULL**: is a function that allows you to check if an expression is the value NULL, in which case it returns another expression or value. The syntax to use it is **IFNULL(expr, expr)**. For example: IFNULL({Q1.3 SalesTerritoryCountry}, 'No value')
* **NOT**: is a negation function that inverts the Boolean value of an expression, converting true to false and vice versa. It is frequently used in conditional structures to check if a condition is not met. The syntax for using it is **NOT(expr)**. For example: NOT(ISNULL({Q1.8 purchaseDate}))
* **ISBOOLEAN**: function that checks whether the expression passed as a parameter is of type Boolean, that is, true or false. The syntax for using it is **ISBOOLEAN(expr)**. For example: ISBOOLEAN({Q1.6 isCountry})
* **ISDATE()**: function that checks if the expression passed as a parameter is of type Date, i.e., a date, for example, "2026-03-16". The syntax for using it is **ISDATE(expr)**. For example: ISDATE({Q1.8 purchaseDate})
* **ISDATETIME()**: function that checks if the expression passed as a parameter is of type DateTime, i.e., a date and time, for example, "2026-03-16 11:31:33". The syntax for using it is **ISDATETIME(expr)**. For example: ISDATETIME({Q1.8 purchaseDate})
* **ISNULL()**: function that checks if the expression passed as a parameter is null, i.e., has no value. The syntax for using it is **ISNULL(expr)**. For example: ISNULL({Q1.8 purchaseDate})
* **ISNUMBER()**: function that checks if the expression passed as a parameter is of type Number, that is, a numeric value, for example, 45. The syntax for using it is **ISNUMBER(expr)**. For example: ISNUMBER({Q1.2 purchaseAmount})
* **ISTEXT()**: function that checks if the expression passed as a parameter is of type Text, that is, a text string, for example, "Product". The syntax for using it is **ISTEXT(expr)**. For example: ISTEXT({Q1.3 SalesTerritoryCountry})

### Logical operators

As a complement to logical functions, logical operators allow the construction of complex logical expressions that can be adapted to multiple needs.

* **AND**: a logical / boolean operator that evaluates two or more conditions and returns true only if all conditions are true. If at least one of the conditions is false, the final result will be false. The syntax for using it is **expr AND expr**. For example: {Q1.3 Investment Phase} = 'Seed' AND {Q1.4 Sector} != 'SaaS'
* **OR**: a logical / boolean operator that returns true if at least one of the evaluated operands or conditions is true. It only returns false if both conditions are false. It is used to combine conditions, allowing at least one to be true. The syntax for using it is **expr OR expr**. For example: {Q1.3 Investment Phase} = 'Seed' OR {Q1.4 Sector} != 'SaaS'
* **IN**: a logical / boolean operator that simplifies multiple OR conditions by checking if a value matches any of the elements within a specified list, returning true if a match is found. It improves readability and efficiency, and is also useful with NOT to exclude values. The syntax is **expr IN (value1, value2, ...)**. For example: {Q1.3 Investment Phase} IN ('Seed', 'Series A', 'Series B')
* **CASE WHEN THEN END**: a logical / boolean operator that specifies a conditional expression, similar to IF THEN ELSE in programming languages, that evaluates conditions and returns a specific value when the first condition is true. The syntax is **CASE expr WHEN value1 THEN then1 \[WHEN value2 THEN then2...] \[ELSE default] END**. For example: CASE {Q1.3 Investment Phase} WHEN 'Seed' THEN 'Start' WHEN 'Series A' THEN 'Grow' ELSE 'Other Status' END
* **IF THEN END**: a logical / boolean operator allows you to easily specify "If-Then-End" logic, similar to the fundamental form of flow control in programming and rule-based systems, used to make decisions based on conditions. The syntax for using it is **IF expr THEN value \[ELSEIF expr2 THEN value2 ...] \[ELSE default] END**. For example: IF {Q1.3 Investment Phase} = 'Seed' THEN 'Start' ELSEIF {Q1.3 Investment Phase} = 'Series A' THEN 'Grow' ELSE 'Other Status' END


# Filters

Filters allow you to ask questions about the data in a simple yet powerful way.

Filters can be configured at the Page and/or Card level, so they can be applied in chain with each other.

### URL parameter

In addition to the usual options for specifying a value for filters, you can use parameters specified in the Pages, Cards, and Collections URL.

<figure><img src="/files/JhgR589JhCUObbQzSBFo" alt=""><figcaption><p>Specify the name of the URL parameter that will define the filter value</p></figcaption></figure>

The parameters are specified according to the [**Query String**](https://en.wikipedia.org/wiki/Query_string).

Following this example, as added to the URL provided by Biuwer

-> <mark style="background-color:blue;">**?**</mark>date\_from=2021-01-01<mark style="background-color:blue;">**&**</mark>date\_to=2021-12-31

The values that can be specified for a filter in the URL depend on the data type configured in the filter and the following.

It is possible to specify a list of values, for which the separator character "|" must be used between each pair of values. For example: product\_id=123|456|789|1092\&months=2021-01|2021-02

For **date type filters** it is necessary to specify the values using the internal format used in Biuwer, which depending on the date level used is one of the following:

* **Year** (YYYY -> 2020)
* **Year and quarter** (YYYY-T -> 2020-4)
* **Year and month** (YYYY-MM -> 2020-12)
* **Year, month and day** (YYYY-MM-DD -> 2020-12-22)

Also in date filters, it is possible to specify **predefined formats** using a set of values, depending on the date level:

* **Year**: thisYear, previousYear, previousTwoYears, twoYearsAgo, lastTwoYears, lastThreeYears
* **Quarter**: thisQuarter, previousQuarter, previousTwoQuarters, twoQuartersAgo, threeQuartersAgo, lastTwoQuarters, lastThreeQuarters, lastFourQuarters
* **Month**: thisMonth, previousMonth, previousTwoMonths, twoMonthsAgo, threeMonthsAgo, lastTwoMonths, lastThreeMonths, lastSixMonths, lastTwelveMonths
* **Day**: today, yesterday, previousTwoDays, twoDaysAgo, threeDaysAgo, currentWeek, lastSevenDays, lastThirtyDays


# Multilanguage

Biuwer includes a set of features that enables you con manage content and data in different languages. Internationalization is key for those companies that serve users in diverse countries.

## Language Settings

Part of the General Settings in the Administration Zone includes the configuration of:

* Main language
* Multi language support
* List of available languages
* Usage of browser language to show localized content for final users

## Translating Content

Beside each text field that is translatable, you can fild an button to launch a layer containing the translations for that specific field.

## Translating Data

It's possible to include translation to specific data values in Datasets. This is crucial to have all content, texts, and values, in the correct language.


# What questions I want to answer

This is perhaps the most important step, as everything we do afterwards will depend on knowing in as much detail as possible **what the objective** of the Dashboard is, **what business questions users who are going to use it intend to answer**, and who these users are.

There are an infinite number of different needs and use cases, so we will use an example to explain them. Following the example of the "Film Rentals" Space, we intend to build a page that includes a set of cards that allow users to respond to following questions and needs:

* The Dashboard will be used by **the company's managers** to get an **overview of the evolution of film rentals over time**.
* They will want to be able to make **analyses by different time bands** of rents, of **different categories** and in **different countries** where they occur.
* The aim is **to see at a glance large numbers** of rentals, customers and films.
* In order to be able to see the **evolution over time**, they propose to be able to visually analyse how total rentals behave on a daily basis.
* The aim is to monitor **the best and worst** categories of film, in order to decide which to promote and which to discard.
* They want to be able to access a list of rentals to be able **to see all the information in more detail** in which they can filter interactively by:
  * Rental date
  * Film
  * Customer
  * Film category
  * Country
  * City
  * Price

With all this information we can already get an idea of what we intend to do with the information and now we have to shape it.


# What data sources are there

**Do we have all the data** that follows from the previous point? Sometimes we do not have access to all the information, for whatever reason (it is not being recorded in digital format, it is partially available and must be completed, previous processes of data extraction, processing and preparation must be carried out, etc.).

Cases in which we would like to have a Dashboard but the necessary information is not available, can be used to make **decisions about digitising the business processes**, using management applications, physical equipment, sensors or simply human data recording. The objective is that these processes that we want to analyse but do not have a digital data support, have one. The data storage can be a database system (SQL or NoSQL), a file system, an application accessible through API, data generated by events in real time, etc.

For the example we are dealing with, the company has a film rental management application and the data is physically stored in a database compatible with the SQL standard, namely a PostgreSQL database.

Also for this example, all the data we are going to need is contained in the previous database, but in each case, we may need data that is in various data sources (databases, files, APIs,...).


# Setting up data connections

Once in Biuwer, a user from your Organization with permissions to use the **Data Center** and manage connections, datasets and data models, must access it and is presented with Connections that your Organization has configured so far.

![My connections in the Data Center, before creating the new connection](/files/-MMzokYRtNJ5d70y39T2)

As can be seen, we do not have a connection to the database containing the film rental information and must **create a connection** to access this data from Biuwer. To do this, either access directly the "**Catalog of connections**" available in the left hand menu or click on the "**Add**" button available in the upper right hand corner of the "My connections" list.

Already in the "Connection Catalog" we **choose the type of technology** in which the data we want to use is stored. Use **the search engine or the category selector** at the top to filter connections and quicker locate the one you are interested in.

![Creation of a new PostgreSQL connection](/files/-MMzrVw1DUyWWwGMUevo)

Once you test the connection by pressing the "**Test Connection**" button, you can save it and it will appear in the list of connections in the Data Center:

![The new connection is now available in the Data Center](/files/-MMzrkVnF15PWNYjpOuI)


# Setting up datasets

Up to this point, Biuwer can already connect to the database in this case, but to know about which **tables, views or in general "data entities"**, we must obtain **Datasets**.

To do this, you have a very versatile tool called "**Reverse Engineering**", on the left side menu of the Data Center, which consists of Biuwer connecting to the data source, scanning all available data entities and displaying them on screen for you to choose the ones you need.

Continuing with the previous example, if we need data from the "film" table (where the details of all films are stored), we will configure the reverse engineering on the "Film rental DB" connection and the container in which the "film" table is located is "public". After pressing the "**Read Datasets**" button, available data entities are displayed.

![Creating a dataset from the reverse engineering functionality](/files/-MMztTCRdccFrYIa6QcI)

{% hint style="info" %}
Some tips to facilitate the use of reverse engineering:

* You can use the "Select all" or "Deselect all" buttons to make the selection of required datasets and fields.
* We recommend selecting only entities and data fields to be used, for cleanliness and order in the Data Center. You can always quickly add a field or an entire dataset at any time.
* It is not possible to select data entities that are already imported into Biuwer and do not have additional fields not present in Biuwer.
  {% endhint %}

{% hint style="danger" %}
Depending on the data source, there may be data types that are not supported by Biuwer. In this case it is not possible to select these fields and the message "Not Supported" will be displayed.
{% endhint %}


# Setting up data models

This is the last step before data cards can be created and is the one that brings most value to data analysis. Any data card needs a data model in order to run queries.

You must create a data model by clicking the "Add" button in the list of Data Models in the Data Center.

In this case, our data is stored in a PostgreSQL database, so the data is not managed by Biuwer but by our organization. For this reason, we have to create a "Not Managed" model, as Biuwer does not manage this data. For this example we have called "Rental Basic", using the "Film rental DB" connection as the data source.

![Creating a not managed data model in Biuwer](/files/-MMzuq1hdMfoJgbhmeEx)

We must then add datasets and relationships between them. For this, it is necessary to know how the data are stored and how they relate to each other. You can use the record viewer of datasets to see a preview of the data and in case you need to relate the data, know by which fields this association should be made.

We need the following datasets for the example we are looking at:

* **rental**: this is the so-called fact table, in theoretical Business Intelligence terminology, in which rentals are stored, with their dates (rental\_date), customer codes (customer\_id) and inventory code (inventory\_id).
* **customer\_list**: is a table that acts as a dimension, in theoretical Business Intelligence terminology, in which customers are stored with a unique identifier (id) and among other information, the customer's name, country and city.
* **film\_list**: this is also a dimension table, in which films are stored with a unique identifier (fid), and among others, a title and its price.
* **category**: this is also a dimension table, in which categories of films are stored with a unique identifier (category\_id) and their name.
* **inventory**: this table can be called a relationship table, as it serves to define the physical inventory of films in various available shops. It therefore contains only identifiers and must be included in relationships.

{% hint style="info" %}
Usually, if the physical data model is well defined, we should use at least N-1 relationships between N datasets included in the model.
{% endhint %}

You can access the Data Center Data Models section to see precisely this same example.


# Create cards

Depending on the needs for information analysis, several cards will have to be created. We must first create cards individually, before we can incorporate them into a page.

You can review all the information in the **Cards** section to see all the possibilities you have. In general, the data card editor is used to configure the queries and the final visual customization of the card.

Remember that **cards and pages are stored in spaces** (either your personal space or a shared space), so you have to navigate from the list of spaces to the desired space. If necessary you can create a new shared space to work with these cards and pages.


# Create the page

Once you have built all the individual cards, you can incorporate them into any page in the space where they are. Usually you have to create a new page in the space and configure its **Structure and Content**, from the page's contextual menu.

![Context menu of a page in Biuwer](/files/-MMzw9Xc7N0pkkTv5IFo)

Biuwer is a cloud platform built with adaptive web technology, so the content will be adapted to different screen sizes and can be used on desktops, large screens and also on laptops, tablets and smartphones. The content on a page is structured in rows containing a number of columns and cards are included in these columns. Cards will automatically be displayed according to the specified layout depending on the screen size, vertically stacking cards underneath each other if needed.

In the page structure and content editor you can:

* Add and remove content rows
* Add and remove columns to content rows
* Add and remove horizontal separators
* Set the column widths (minimum width 1 and maximum width 12)
* Add and remove cards from columns

![Structure and content editor of a page in Biuwer](/files/-MMzwYtIdSxmumz0ZN43)

{% hint style="info" %}
Remember that you can move rows, columns and cards using the icon at the top center of each element.
{% endhint %}

One very important thing when setting up a page is the interactive filters that will allow users to customize business questions about the data. To do this, use the page filter editor.

![Editing page filters in Biuwer](/files/-MMzxIK3sPuUIY14qlNG)

Using this editor you can:

* Add and remove page filters, sorting them out
* Configure each filter (name, type of filter and other details)
* Specify which cards are affected by the filter
* Specify dependencies between filters


# Setting up access security

Up to this point, you already have a dashboard to which only you have access, together with administrators of your Organization. The security of access to the content is still to be configured, that is, the space used, the page created and cards included in the page.

To do this, use the "**Access settings**" option in the context menu of the selected space.

![Access settings in a shared space](/files/-MN-3ltHDth1yx9v5FYs)

Among all options you can implement, the most direct one might be to check the "**Apply same permissions to children**" option in the space access settings dialog, to apply in chain inheritance the same settings as indicated in the space to all pages and cards in the space.

With this you can configure which users and groups of users can view, edit or manage the content.

{% hint style="info" %}
Remember that in addition to being able to apply **security to access content**, you can also apply **security to access data**, using the **Data Policies** in datasets.
{% endhint %}


# Introduction

Security is important when it comes to access sensitive information.

Biuwer applies an **access refusal criteria by default**. This means that a user has no access to anything as soon as it is created, nor does he or she have permission to create or edit content, and another user has to enable him or her to do so.

Permissions obtained through roles have priority, as they are horizontal. For example, the "Content Viewer'' role in Biuwer has read-only access to all the content of the Organization.

The management of Users, Groups of Users and Roles is done from the administration panel of the Organization.

![Access to the Administration Area in Biuwer](/files/-MN-1SrSl3LA_WilWyS8)

Below is a Security Diagram of the Biuwer platform, with which we try to explain how to specify who can do what.

![Security diagram of the Biuwer platform](/files/-MQkrteZad3YVRnooWkU)

These are the 3 basic principles of the security system for any organization using Biuwer:

1. **Default access refusal** criteria.
2. Any action is performed by, or on behalf of a user.
3. There are two approaches to assigning permissions: **platform permissions** (horizontal, very powerful but dangerous) and **object permissions** (individual, more controlled but can be tedious).


# Platform permissions

Actions of the entire platform are available through **permissions**, which are collected in **roles** to facilitate their management. Therefore, **to indicate what a user can do**, one or more roles can be assigned directly to the user or to one of the groups of users to which he or she belongs.

Using platform permissions is very simple, because they are horizontal. Users that have been assigned a role can perform a large number of actions, but this can also be dangerous.

For example, if a user is assigned the role "**Content Viewer**", he will be able to see all Spaces, Pages and Cards. This means that he will be able to access (view only) all the content of your organization.

It is recommended to use the platform permissions carefully, assigning the roles to administrator users, advanced users or users with power in the organization (top management, owners, etc.).

To manage platform permissions, access the administration area and in files of users and groups of users, assign the necessary roles in each case.


# Roles

Roles are sets of permissions that are given to users or groups of users so that they can perform actions allowed by the included permissions.

For now, we provide 5 predefined roles that you can use in your organization, to grant horizontal permissions:

* **Basic Role**: allows access and basic use of Biuwer
* **Content Viewer**: allows you to view all Spaces, Pages and Cards.
* **Content Administrator**: allows you to administer (view, create, edit and delete) all Spaces, Pages and Cards.
* **Data Administrator**: allows to administer (view, create, edit and delete) all Connections, Datasets and Data Models.
* **Organization Administrator**: allows you to administer the organization.


# Object permissions

**Object permissions** are used individually on all types of objects, such as Spaces, Pages or Cards. They serve to indicate exactly which users and groups of users can View, Edit or Administer each object.

To manage the object permissions, access each object or in the contextual menus of the object lists in the "**Access configuration**" option.

![Access configuration in a shared space](/files/-MN-3ltHDth1yx9v5FYs)


# Permission inheritance

Depending on whether the object has a hierarchy of child objects or not, you will have the option to "**Apply same permissions to children**". This is called **permission inheritance**, which means, for example, that object-level security settings in a shared space can be applied by selecting this option on all pages and cards contained in that space.

The permission inheritance relationship can be enabled and disabled whenever necessary:

* It is enabled en bloc from the parent object (e.g. a shared space).
* It is enabled or disabled individually, from the child object.

When an object has applied to itself an **access configuration inherited** from another object, for example, a card that inherits the security of the space it is in, the "Access Configuration" dialog will be shown as the following image.

![Inherited access settings on a page or card](/files/-MN-4QtNiaSMyppTxYXR)

Any changes to access settings in the space you are in, will be automatically reflected.

In cases where you need to customize permissions for an object that has the inherited permissions, simply click the "**Customize Permissions**" button and set users and groups of users with their "View", "Edit" or "Administer" levels. Note that in this case that object has cut off the inheritance of permissions, so any change in access settings that occurs in the space where it is, will be independent.


# Property of objects

When any user, with the appropriate permissions, creates an object in Biuwer, this user automatically becomes its owner.

The property of objects, however, can be changed from the "Access Settings" dialog of objects. Only the owner of the object can designate another owner or an administrator user, with the ability to manage the content in their organization.

**What happens when a user is deleted?** When a user is deleted, **all objects owned by him/her must be transferred to another user in the organization**. To do this, the user deletion dialog asks you to select a user to whom you want to transfer ownership of objects.


# User access logs

An important security feature is to be able to check when a user has logged in to Biuwer. In Biuwer the authentication and access process of a user can be done in three ways:&#x20;

1. Through user login (web application).
2. Through an authentication token
3. Through an API Key

Regardless of the authentication method, Biuwer registers user access through an audit and log system, which allows the traceability of different entities on the platform.&#x20;

To consult the activity of a user and see his last access you can go to the Biuwer administration area, in the Security → Users section. In this area you will see the list of users in your account with the last login information for each user. If you hover your mouse over the "Last login" area you will see the date and time of the user's last login.

<figure><img src="/files/Q8AQpv8ukhm8vDWCdtzW" alt=""><figcaption><p>List of users of a Biuwer account (Administration area)</p></figcaption></figure>

You can also view this information in the tab of each user. If you access a particular user, you will see the "Last login" section in the upper right corner.

<figure><img src="/files/4pu3B5vmPgVK2NxFxA7p" alt=""><figcaption><p>Biuwer account user page (Administration area)</p></figcaption></figure>


# Organization

From the Overview, administrator users can consult the main parameters of the Organization:

* Name of the Organization (can be changed)
* Main contact (can be changed)
* Subscription
* Products and services contracted

At the same time, from the "Organization Details" menu, the name and fiscal address data are managed for the purposes of invoicing and the legal relationship between the Organization and Biuwer.

To set up a paid subscription in Biuwer, you need to access the pricing plans screen, select one of them and confirm the purchase with the requested data. Depending on how the subscription is configured, the payment parameters will be displayed (billing interval, currency, and date of next invoice).


# Themes

Use themes to give style and color to the content. The theme system allows you to apply complex styles in multiple and flexible ways.

Themes are part of the **custom style system available in Biuwer**. Themes allow you to visually customize the styles of a multitude of details in the panels and visualizations that your users use.

The success of embedding any data visualization in external web applications, through “Embedded Analytics”, lies in being able to apply the **Custom Styles** that are necessary so that **the visual integration is very similar between the dashboards made in Biuwer and the styles of your application**. We talk about customizing fonts, colors, sizes, etc. at various Biuwer locations.

<figure><img src="/files/z0tIjgEcofUYAJjbCNiD" alt=""><figcaption><p>Customize multiple styles applied to different points in Biuwer</p></figcaption></figure>

The approach followed, so that practically any user can **apply personalized styles without needing to know the technical details of standard web programming (HTML + CSS + Javascript)**, consists of a series of screens where styling is given through easy and intuitive configuration, without need to code styles using CSS. However, as an extension to the themes generated by Biuwer, you can further customize the look & feel, this time by adding your own CSS styles.

Following the **modular and incremental philosophy** that we incorporate into Biuwer, organizations can use both the **predefined themes** that we offer from Biuwer, as well as the custom themes that you define for your Organization, configuring colors, fonts, borders, etc. to the different visual elements that are built in Biuwer.

The interesting thing about the **new themes** is that they **are composable**, that is, different themes can be defined that apply different styles cumulatively to the different levels of Biuwer content (Spaces, Collections, Pages, Cards).

Below we show an example showing a **panel with custom styles**, where **three themes are applied**, one at a general level and two to give specific styles to cards with background and border colors, in addition to rounded corners, shadows, etc.

<figure><img src="/files/Y7JH7ZRVmC1Joo58TJmL" alt=""><figcaption><p>An example of a dashboard applying various themes (general, blue background cards, orange background cards)</p></figcaption></figure>

Virtually any detail, such as **buttons, watermark colors, and form elements**, can be customized in the filter system.

<figure><img src="/files/L4jl0oZzSOcf6cbxv2sL" alt=""><figcaption><p>Customize your dashboards in Biuwer so that they integrate perfectly into your application</p></figcaption></figure>

Among Biuwer's **predefined themes**, you can choose the **dark theme** to apply to content embedded in applications with dark colors. We show an example of a dashboard using a dark theme.

<figure><img src="/files/TxUjoEGTBGldyPMhe1Au" alt=""><figcaption><p>Example of a dashboard with a dark theme applied</p></figcaption></figure>

Do you need other styles? Create your own theme and customize virtually any property you can imagine. We look forward to your feedback!


# Color palettes

Use predefined and custom color palettes to apply the color ranges you need to your content.

Color palettes are used in content such as graph-type cards and map-type cards. They can also be used in conjunction with custom Themes, for even more versatile content style control.

<figure><img src="/files/m4LHlEnp7WBwzdM0vRkD" alt=""><figcaption><p>New Color Palettes system in Biuwer</p></figcaption></figure>


# Users

Users menu, allows you to manage the users of the Organization. You can access a list of users, with a search box.

![](/files/-MN-7R8mfAOBWz_1bGFu)

List of users in the Biuwer Administration Area

From this screen you can **create the users** that you need in your Organization, pressing the "Add" button. To do this, you must select the **type of user**, **Basic or Advanced**, following the instructions on the screen. In addition to the user's name, a contact email is required, to which a welcome email will be sent so that the new user can verify their account and proceed to create a secure password to access Biuwer for the first time.

![Creating a user in Biuwer](/files/2FAwrVzI1lbXP0lo9Xvg)

By clicking on a user, you can access its detail screen, from which you can manage the following:

* User edition (name, surname, email or password edition).
* List of Advanced Groups in which the user is included
* List of Basic Groups in which the user is included
* Roles assigned to the user
* Authentication tokens associated with the user

![Detail screen of a user in Biuwer](/files/-MN-7uSytG-hBckc8Tts)


# Groups

Groups of users in the Organization are managed in the Groups section.

Biuwer provides some predefined groups of users, to facilitate management:

* **Administrators**: special group to which the main contact belongs and to which you can include new users. It has the administration roles that allow you to perform any action in Biuwer.
* **All basic users**: group in which all the basic users you create in your organization are automatically included.
* **All advanced users**: group which automatically includes all the standard users you create in your organization.

![List of groups of users in the Biuwer Administration Area](/files/-MN-8Pcp4FqiRvWvsPKi)

As you can see, **Groups of Users** are also distinguished between **Basic and Standard**.

* **Basic groups of users** cannot have Roles assigned to them and are therefore used as simple groups of users to set up object-level security. Basic groups of users can contain both basic and standard users.
* **Advanced groups of users** can have Roles assigned to them, they are used as groups of users and also to configure security at the platform level. Advanced groups of users can contain only advanced users.

When you press the "Add" button you must select the type of Group of Users, give it a name and optionally a description.

<figure><img src="/files/hgEnJeMDyr9g6351Mm9L" alt="New Group"><figcaption><p>Creating a group of users in Biuwer</p></figcaption></figure>

When you click on a group of users, you access their file, from which you can manage the following:

* Group of users editing (change name, description).
* List of Advanced Users included
* List of Basic Users included (only in Basic groups)
* Assigned Roles (only in Standard groups)

![Advanced group of users tab in Biuwer](/files/-MN-978N-WzkWrnIbApW)

![Basic group of users tab in Biuwer](/files/-MN-9EqawhQtFZxZAuVk)


# Roles

Biuwer has a set of predefined roles that can be used in Standard Users and Standard Groups of Users to grant permissions at the platform level

![List of roles in Biuwer Administration Area](/files/-MN-9YBKRjG8eu29bGGY)

Clicking on a role you access its detail screen, on which you can assign which users or groups of users to apply that role.

![Detail screen of a role in Biuwer](/files/-MN-9ksSk40jHtTdtCYK)


# Authentication tokens

**Authentication tokens** are used to uniquely identify an organization's user when sharing a resource externally to Biuwer, using the "**Share**" option available in Pages and Cards.

![List of Authentication Tokens in Biuwer Administration Area](/files/-MN-A415PZoAtbAmHR05)

When you press the "**Add**" button you must select the **user** to which you want to associate the authentication token and a **range of validity dates** for the token. You can leave the "to" date empty so that the token does not expire, although a "from" date is always required to mark the beginning of the token's validity period.

![Creating an authentication token in Biuwer](/files/-MN-AO3zUz_5fAub1XDi)


# Introduction

This section explains how to integrate a multitude of visualizations at scale into any modern web application to serve up to thousands of users using Biuwer.

{% hint style="info" %}
Available in [**Standard Plan**](https://biuwer.com/en/pricing/) <mark style="color:blue;">(\*)</mark>, [**Professional Plan**](https://biuwer.com/en/pricing/) and [**Business Plan**](https://biuwer.com/en/pricing/).

<mark style="color:blue;">(\*) Only part of the functionalities described</mark>
{% endhint %}

Biuwer is a data platform specialized in delivering information to end users at scale, with the best-known use case being **Embedded Analytics**, which consists of using Biuwer as a tool to manage the entire life cycle of visualizations and of the data, and later integrate the results into any web application external to Biuwer.

When talking about the **visualization and data lifecycle**, we refer to the fact that **there are multiple aspects necessary in a professional data solution** that are carried out through the Biuwer interface. That is, managing data at scale is complex, and it must be done by applying the necessary security settings that allow the correct data to be presented to each of the application's end users. Among other things, Biuwer helps you:

* Manage all data **connections** in a Data Center.
* **Synchronize data** not available in databases, such as other applications and systems you use.
* **Prepare data** using formulas, calculated fields, conditions, etc.
* Configure **data access** applied to individual users and/or groups of users together.
* Manage all content (cards, pages, collections) in a **Content Center** organized in shared workspaces.
* Create and maintain **data visualizations** of various types (KPIs, graphs, tables, maps, custom cards, rich texts, etc.)
* Configure how, when and where content is shared externally, and who is given access to each.

The interesting thing about this approach is that once the integration is done, any changes to the embedded content made in Biuwer will be updated in real time in the external application. This approach allows hundreds or thousands of users to be given access to data panels, taking into account the unique identification of each of them, in order to show them the information correctly filtered for their profile.

<br>


# Concepts to take into account


# Contents to integrate

In Biuwer, different types of content can be created within the Workspaces that can be integrated into external web applications. These are **Collections, Pages and Cards**. These contents must be defined in Biuwer before being able to be integrated. This means that you can integrate, for example, from an individual chart (Cards) on a screen of your application, to a complete panel (Pages) with navigation tabs (Collections).

\
It is important to keep in mind that there may be evolutions and changes to content over time, so **the visual result integrated** into an external application **is dynamic over time**. In other words, once content has been integrated, any changes you make to it in Biuwer will be automatically updated in your application so that your users can use it immediately.

<figure><img src="/files/4CBq074qxlV59uvpnbIU" alt=""><figcaption><p>You can integrate <strong>Collections, Pages and/or Cards</strong> into your application</p></figcaption></figure>


# Shared resources

Using the Biuwer interface, from the content listings, you can **share any Collection, Page or Card**. This step will generate what is called a "**shared resource**" that has a unique alphanumeric identifier, the **Shared Resource Token**, that you must take into account to be able to identify the content correctly.

\
A shared resource includes a **validity period**, that is, it is valid from a certain date and time, and you can optionally configure a date and time until which it is valid and can be used. If a user accesses a share outside the validity time range, the content not found screen will be displayed.

<figure><img src="/files/4DFoljlSfhXHeIvozX3P" alt=""><figcaption><p>Share a collection in Biuwer, to obtain a shared resource</p></figcaption></figure>

The integration of a shared resource in an external application is done by inserting an **HTML IFRAME in the application code**, which can be written using different technologies and languages, but at the end of the day it must be a web application that speaks HTML , CSS and of course, Javascript.

The IFRAME code follows this pattern:

```html
<iframe 
	frameborder="0" 
	width="800" 
	height="1000" 
	name="HERE_MUST_BE_A_RESOURCE_TOKEN:HERE_MUST_BE_AN_AUTH_TOKEN" 
	src="https://INSTANCE_NAME.biuwer.com/share"
>
</iframe>
```

In the previous code, you can modify the **width** and **height** of the IFRAME, taking into account that scrolls (horizontal and/or vertical) will be shown when the content does not fit in the configured size. Something common, if you define in your application a DIV with exact dimensions to embed within content, is that in the IFRAME the dimensions are indicated as 100%. This way it would be: width="100%" and height="100%".

The most important thing is the correct configuration of the value of the "name" attribute of the IFRAME, which includes two alphanumeric codes separated by the character ":".

* **User Authentication Token**: this is the unique alphanumeric code that is generated when creating an Authentication Token associated with a specific user in Biuwer.
* **Shared Resource Token**: this is the unique alphanumeric code that has been generated when sharing the content on Biuwer.

In practice, integrating a resource into an application involves including in its code, associated with a route or menu item, an IFRAME like the previous one, where the Shared Resource Token is whatever you want, but it is fixed for the same resource, and the Authentication Token is that of the Biuwer user with which the user identified within your application is uniquely associated.


# Users

In Biuwer there are **two types of users, Advanced and Basic**. The most common thing is to use Advanced users internally in your organization, to manage connections, data, visualizations, security, etc. Basic users are the ones normally used to assign to your clients or your end users.

As a general rule, **a basic user is needed in Biuwer for each data usage pattern in your application**, so to speak. Let's give <mark style="color:blue;">some examples</mark> to understand it. If for example, in your application:

* Each end user needs to see different data, and even different dashboards. Then, it will be necessary to create a basic user in Biuwer associated with each user of your application.
* Companies are managed where several users access but everyone will see the same content and data. Then, it will be necessary to create a basic user in Biuwer associated with each company in your application. That is, several of the users of your application will share a basic Biuwer since they will consume the same content and data.
* Companies are managed where there are 3 profiles for access to content and data (Administrator, Analyst and Consultant). Each user of your application is associated with a specific company and will have one of these 3 profiles. Then, it will be necessary to create a basic user in Biuwer associated with each company and each profile of your application. That is, 3 basic users will be necessary for each company you manage in your application.


# Groups of users

**Groups of users**, as their name suggests, are used to group users in a way that makes it easier to configure access to content and data. That is, through Groups you can better organize how the same access permissions or the filters in the **Data Policies** that determine what data is displayed on the screen are applied to your Users.

Groups of users **may be optional** in your embedded analytics implementation, although they make sense with complex schemas. For example, in applications that have different data access profiles (see previous example), groups can be used to give the same content access permissions to different users from different companies at the same time.


# Authentication Tokens

As we have previously mentioned, an **Authentication Token** is an alphanumeric string generated through the Biuwer interface or via API, which is uniquely related to a basic user and is the element by which each user will be identified from the web application. external to Biuwer. For this reason, accompanying each resource, it is necessary to indicate the authentication token.

It is possible to implement **authentication token refresh policies**, manually or automatically via API, since the same user can have one or more tokens concurrently and each token allows a temporary validity interval to be established. For example, you could set an authentication token:

* Without any refresh policy.
* With a monthly refreshment periodicity.
* With a daily refreshment periodicity.
* Single use, for each session started from your application, if you need it.

<figure><img src="/files/tYJXxR6GdwRXzvgF5hvC" alt=""><figcaption><p>An authentication token is an alphanumeric string associated with a user with a validity period</p></figcaption></figure>


# Data Policies

One of the key points to **filter the data to be displayed dynamically for each end user** is the correct configuration of the Data Policies. These are filters that are applied to different users and/or groups of users, in sensitive data sets, or in which it is necessary to filter.

It is typical for your application to have a company code, a profile code, a user code, etc. that are also in some database field, which allows **each user to be shown "their data"**. For example, a multi-tenant B2B application, with companies and users associated with said companies. In your application's database you can have a "companies" table where there is a "company\_id" field. If the data usage profile (see examples in the Users section) is that all users of the same company access the same information, a data policy must be configured for each basic user, who will be associated with one of the companies in your application, and precisely, the filter to configure would be "company\_id" = the code of the company associated with the user who is accessing your application.

<figure><img src="/files/UBX5nqf7hJSj6Crih34W" alt=""><figcaption><p>A Data Policy has a name, is associated with users/groups and applies at least one filter</p></figcaption></figure>


# How do I integrate Biuwer into my application?


# Items to prepare

To perform an integration in an external application, the concepts explained in the [**Shared Resources**](/integration-guide/concepts-to-take-into-account/shared-resources), [**Users**](/integration-guide/concepts-to-take-into-account/users), [**Groups of users**](/integration-guide/concepts-to-take-into-account/groups-of-users), [**Authentication Tokens**](/integration-guide/concepts-to-take-into-account/authentication-tokens) and [**Data Policies**](/integration-guide/concepts-to-take-into-account/data-policies) sections must be taken into account. All of this management can be done manually, for integrations that do not require automating changes or access, or that do not require giving access to a user in real time.

The **automation** of all these tasks can be done using the **Biuwer public API**, which requires coding in your application, to implement the required calls (user management, authentication tokens and data policies, mainly).

It is necessary to take into account how your application is managed at a security level, and consider how your end users need to access the content (Shared Resources), and what data access needs they have, which will determine how many Users Basics must be managed and in what way.

Typically for a multi-tenant B2B application, you must have a dynamic table, normally managed in a database, with the **list of Biuwer Authentication Tokens that are associated with each user identifier in your application**, which can be user IDs, Company IDs or a combination of both. This **mapping table** can be called, for example, "integration\_security\_mapping".

Example of a **1 to 1 mapping table**, for 1 Basic User for every 1 end user in your application (assuming a "users" table with a "user\_id" field as identifier):

<table><thead><tr><th width="220">user_id</th><th>biuwer_auth_token</th></tr></thead><tbody><tr><td>65423600</td><td>4656e978-be1f-4b26-96d1-b6215bfc7e87</td></tr><tr><td>72471109</td><td>baedaa5a-9615-4fbd-9970-0a25bf5b0c88</td></tr><tr><td>91660724</td><td>961a45a2-a782-4f94-b42b-7506a58c6a5d</td></tr><tr><td>88091477</td><td>1dc78c2a-dca6-4e92-8db0-d5ae7ace2ad1</td></tr></tbody></table>

Example of **1 to N mapping table**, for 1 Basic User shared by multiple (N) end users in your application. This means that different end users in your application will be able to access the same content and data in Biuwer.

<table><thead><tr><th width="222">user_id</th><th>biuwer_auth_token</th></tr></thead><tbody><tr><td>65423600</td><td>baedaa5a-9615-4fbd-9970-0a25bf5b0c88</td></tr><tr><td>72471109</td><td>baedaa5a-9615-4fbd-9970-0a25bf5b0c88</td></tr><tr><td>91660724</td><td>961a45a2-a782-4f94-b42b-7506a58c6a5d</td></tr><tr><td>88091477</td><td>961a45a2-a782-4f94-b42b-7506a58c6a5d</td></tr></tbody></table>


# Content access security

When we talk about **content**, we talk about the different **objects that you can manage in Biuwer that can be embedded in your web application**. By default, Biuwer uses a security system based on denial of access, so if you want a user to be able to consume content, you must first give them access to said content.

In the process in which a user accesses content embedded in your application, once the user is identified using an Auth Token, Biuwer verifies that that user has access to the content referenced by the Shared Resource. But how is access security configured?

In the Biuwer application, access to content is configured using the "**Access Settings**" option in the context menus available in **Shared Spaces, Cards, Pages and Collections**. Although there can be three access levels (View, Edit or Admin), **the access level to configure for use through Embedded Analytics is View**.

Using the **Biuwer Public API**, access to the content is configured using the "**add\_viewer**" methods associated with the type and identifier of the resource to which we want to give access. See more information in [**Automated integration**](/integration-guide/integration-types/automated-integration).

Since the degree of customization in access to content and data can be very detailed, it is important to keep in mind that there are simple ways to grant access permissions in Shared Spaces, applying inheritance, so that access is only configured in Shared Spaces. this point (Shared Spaces), without having to customize access individually in Cards, Pages or Collections. Read more about [**Object Permissions**](/security-management/object-permissions) and [**Permission Inheritance**](/security-management/permission-inheritance).

Access can be granted individually (user by user) or using groups of users. This last option, groups of users, can be used to manage access to content and data in a cleaner way, for example with groups of users that encompass end users from different clients in your application.

<figure><img src="/files/XjKbZbdm1Fw35T7BaTac" alt=""><figcaption><p>Configuration of access to content. Use inheritance for a simplified schema.</p></figcaption></figure>


# Data access security

When asked how to configure data access security?, once the user can access content, it is necessary to know **how to specify what data that content will be able to display**.

In Biuwer, this configuration is done using the **Data Policies**, present in the [**Data Sets**](/managing-data/datasets). In a very summary way, it is about specifying to the users and/or groups of users, the filters that limit the data displayed in the content.

In a multi-tenant application, it is common to have shared data entities for different clients and it is **necessary to filter the data for each client to ensure that each user has access only to their data**. This aspect is very important, given the seriousness of sharing data that does not correspond to an end user.

The configuration of Data Policies can also be done using the Biuwer interface, when the registration of a client and its end users in the service does not require it to be in real time and there is not such a volume that it is very tedious. In other words, manually configuring Data Policies makes sense in the Biuwer interface itself for integrations that have up to a few hundred users, and their addition/ modification/ deletion does not need to be done in real time.


# Embedding a resource in my application

If you are wondering, how do you embed a resource in an application external to Biuwer?, the steps to have embedded content in your application are:

1. Create the content in Biuwer. It can be a Card, a Page or a Collection.
2. Create a Resource Id associated with the content, clicking on the "Share" menu option in the list of content objects.
3. Configure the Shared Resource, adjusting dimensions and validity period.
4. Copy the IFRAME code to insert.
5. Include the HTML code of the IFRAME in your application, at the point you consider appropriate.

As described in the [**Shared Resources**](/integration-guide/concepts-to-take-into-account/shared-resources) section, the application can be written using different technologies and languages, but at the end of the day it must be a web application that speaks HTML, CSS and of course, Javascript.

As a **recommendation**, it is interesting to configure the **"width" and "height" attributes of the IFRAME so that they occupy 100% of the container element** defined in your application, for which you must specify a specific size.

It is important that you include in your code a **mechanism to identify the connected user** to go to the mapping table, for example, "integration\_security\_mapping", which we discussed in the [**Items to prepare**](/integration-guide/how-do-i-integrate-biuwer-into-my-application/items-to-prepare) section, so that a User AUTH TOKEN is obtained for its identification in Biuwer. This is the only element that for a basic integration should change between two different users in your application.

Check in the process with several users to verify that different AUTH TOKENS are being obtained correctly, that the RESOURCE TOKEN that is being embedded is the one you want, at a certain point (menu item, section of a screen, HTML layer, etc.), and that the data that is being displayed in each case is that which corresponds to the connected end user.


# Integration Types

Depending on your needs, you can consider starting a manual integration, little by little, giving access to data and insights in your application selectively for some users, and even continuing with this manual integration if there are not dozens or hundreds of new users every day. The time to configure access for a new user can be a few minutes manually and practically in real time with automatic configuration.

* [**Manual integration**](/integration-guide/integration-types/manual-integration)
* [**Automated integration**](/integration-guide/integration-types/automated-integration)


# Manual integration

Each project is different and each integration may require specific customizations. However, as a summary, these are the steps that you will usually need to perform an integration:

1. Analyze **what information** your users require. The result can be a panel, a set of panels, combinations of elements of your application with information layers created in Biuwer, etc.
2. **Prepare the necessary data** and connect it in Biuwer. Obtain the Data Sets and prepare at least one Model as an analysis context.
3. **Create the content**, starting with Cards, and expanding in complexity with Pages and Collections.
4. Enable and configure that the contents to be integrated can be shared externally to Biuwer, using the **Share** option.
5. Configure a list of **basic users** in Biuwer, depending on the needs of your end users to access content and data. See more information in [**Users**](/integration-guide/concepts-to-take-into-account/users).
6. Optionally create [**Groups of users**](/integration-guide/concepts-to-take-into-account/groups-of-users) assigning the basic users that apply in each case, and apply access security to the content using individual users or user groups. See more information in [**Content Access Security**](/integration-guide/how-do-i-integrate-biuwer-into-my-application/content-access-security).
7. Apply the necessary [**Data Policies**](/integration-guide/concepts-to-take-into-account/data-policies) to perform correct filtering of the data, according to the basic user who accesses it. Check, using the **impersonalization functionality with "Connect as"**, that the data that each user sees is correct.
8. Set up a double-entry table that maps your application users to basic Biuwer users. See more information in [**Items to prepare**](/integration-guide/how-do-i-integrate-biuwer-into-my-application/items-to-prepare).
9. **Embed** directly in your application code, in menu items or other HTML elements, the IFRAME elements generated by Biuwer for each Shared Resource you have generated.
10. **Check** that the integration works correctly, accessing it with different end users.


# Automated integration

{% hint style="info" %}
Available in [**Professional Plan**](https://biuwer.com/en/pricing/) and [**Enterprise Plan**](https://biuwer.com/en/pricing/).
{% endhint %}

The automated integration uses the [**Biuwer public API**](https://api.biuwer.com/docs/) to automate through code all the elements required for the integration, except for all those steps until the content is available (cards, pages and collections).

The steps to take to carry out an automated integration, ultimately, are similar to the steps for a [**Manual Integration**](/integration-guide/integration-types/manual-integration) but replacing all manual tasks related to management of Users, User Groups, access permissions to content, Shared Resources, Policies Data, Authentication Tokens and Resource Tokens.

The points that you can automate with the Biuwer API are the following:

* Basic users management
* Groups of users management
* Authentication token management
* Getting resource tokens
* Content access security settings
* Configuring data security through Data Policies


# Bienvenido

Biuwer es tu plataforma de Análisis de Datos basada en la nube

Biuwer es un servicio de Análisis de Datos Empresariales en la nube, que te ayuda a analizar fácilmente los datos de tu empresa y a crear informes y paneles de control para una toma de decisiones basada en datos relevantes. También te permite crear y compartir fácilmente informes potentes, en minutos, sin conocimientos técnicos.

![Una Página en Biuwer se construye usando una o más Tarjetas](/files/-M8C0T_NTaBoF3kj28Jr)


# ¿Qué es Biuwer?

Biuwer es una [**moderna Plataforma de Datos**](https://biuwer.com/es/blog/hola-biuwer-la-plataforma-de-analisis-de-datos-made-in-spain/) en la nube, construida desde el inicio con el conocimiento consolidado de un equipo de ingenieros de datos con más de 15 años de experiencia. Es 100% web y un usuario habitual no tiene que instalar nada para utilizarla. Puedes usar Biuwer en cualquier lugar con un navegador web, 24h al día, 365 días al año.

Nuestro objetivo con Biuwer ha sido crear una plataforma que sea a la vez potente y fácil de usar, destinada principalmente al usuario no técnico. En otras palabras, no necesitas saber programar o ser un experto en lenguaje SQL para usar Biuwer. Todo lo que necesitas saber es cómo están estructurados tus datos y qué preguntas quieres responder.

Hablando en terminología de **Inteligencia de Negocios**, Biuwer es una herramienta de análisis de datos que ayuda a las organizaciones a tomar decisiones basadas en datos, no en sensaciones personales. Dentro de la plataforma, utilizando la [**Visualización de Datos**](https://biuwer.com/es/blog/que-es-la-visualizacion-de-datos-del-dato-a-la-visualizacion/), los usuarios pueden compartir datos para comunicar de manera visual, de modo que sean comprensibles, fáciles de interpretar y puedan ser analizados visualmente para descubrir patrones.

Las organizaciones y los responsables de la toma de decisiones, necesitan empezar el día con una visión general, que resuma los abundantes números de las diferentes áreas, utilizando [**Cuadros de Mando de Negocio**](https://biuwer.com/es/blog/como-impulsar-tu-empresa-utilizando-cuadros-de-mando-de-negocio/). Una vez conocida esa información, los usuarios pueden ir a una vista detallada.


# Glosario

Estos son los principales conceptos utilizados en Biuwer. La mayoría están presentes en otras herramientas, pero hemos puesto un enfoque personal para mantener todo lo más simple y potente posible.

### Organización

Biuwer es una Plataforma de Datos utilizada principalmente por empresas de cualquier parte del mundo, para Análisis de Negocio. Cuando te registras para crear una cuenta en Biuwer, se crea una Organización para gestionar todos los recursos de tu empresa (usuarios, seguridad, datos, contenido, etc.). La facturación se configura por Organización.

### **Usuario**

Cada persona que utilice Biuwer debe tener un usuario que le permita acceder a la plataforma mediante una dirección de correo electrónico y una contraseña segura. Hay dos tipos de usuarios: Avanzados y Básicos.

* **Los Usuarios Avanzados** permiten realizar cualquier acción en Biuwer, incluyendo la creación de contenido, la gestión de datos, etc. dependiendo del esquema de seguridad configurado en tu organización.
* **Los Usuarios Básicos** sólo pueden consumir y analizar datos, por lo que no pueden crear o editar contenido, ni acceder a las funciones de administración.

### **Grupo de Usuarios**

**Los Grupos de Usuarios** facilitan la gestión de la seguridad, ya que permiten reunir a los usuarios de una sola entidad.

Por ejemplo, un grupo llamado "**Equipo de Ventas**" puede incluir a todas las personas que trabajan en el Departamento de Ventas, y utilizaremos "Equipo de Ventas" como un todo, sin necesidad de hacer referencia a cada usuario individual, para gestionar los ajustes de seguridad de acceso.

### **Rol**

Los roles son colecciones de permisos que posibilitan a los Usuarios y Grupos de Usuarios realizar ciertas acciones en Biuwer.&#x20;

Además de los permisos horizontales otorgados por un rol, los permisos de objeto individual están disponibles en todo Biuwer, para permitir a los Usuarios individuales o a los Grupos de Usuarios ver, editar o administrar un objeto, por ejemplo, una Página o una Tarjeta.

### **Espacio**

Los Espacios son importantes en Biuwer ya que son una herramienta poderosa para gestionar el contenido y los datos (informes, cuadros de mando e insights) de forma significativa para los Usuarios de tu Organización.

Un espacio es **similar a una carpeta** donde puedes almacenar y organizar diferentes tipos de objetos, principalmente Páginas y Tarjetas. Los espacios te permiten organizar los datos de diferentes maneras, por ejemplo, Departamentos, Proyectos, Clientes o cualquier otro tipo de estructura que tu Organización pueda necesitar.

Hay dos tipos de espacios:

* **Espacios Compartidos**, son los espacios por defecto en Biuwer, ya que la plataforma se ha construido teniendo en cuenta el intercambio de datos. Cuando alguien crea un Espacio se trata de un Espacio Compartido al que pueden acceder los Usuarios y Grupos de Usuarios que el propietario o cualquier administrador configure.
* **Espacios Personales**, creados automáticamente para cada Usuario Avanzado. Son útiles para la exploración de datos personales o cuando se prepara algo que aún no puede ser compartido con otros Usuarios o Grupos de Usuarios.

### **Página**

Las Páginas son el equivalente de otros conceptos como cuadros de mando, **dashboards** o paneles de datos, utilizados en otras herramientas. En Biuwer una Página es un contenedor de cualquier combinación de Tarjetas y se utilizan para organizar los datos visualmente.

Cada Página tiene su propia configuración, incluyendo la configuración de seguridad de acceso, los filtros de datos, la estructura del contenido, etc. Las Páginas pueden ser duplicadas y movidas entre diferentes Espacios.

### **Tarjeta**

Las Tarjetas son el equivalente de otros conceptos utilizados en otras herramientas, como informes, widgets, gráficos, imágenes o simplemente elementos. En Biuwer una Tarjeta es cualquier pieza de contenido que puede ser utilizada individualmente e incluida en cualquier número de Páginas. Estamos mejorando continuamente el catálogo de Tarjetas y las características de cada tipo de Tarjeta.

Actualmente estos son los tipos de Tarjetas disponibles, cada uno de los cuales tiene varias opciones a configurar:

* **KPI:** muestra valores totales de métricas, usando opciones de configuración avanzadas (múltiples métricas, estilos personalizados, iconos, formato condicional, etc.).
* **Gráfico:** hay disponibles más de 12 tipos de gráficos, cada uno de ellos con opciones de configuración avanzadas (múltiples ejes, estilos personalizados, formatos de datos personalizados, etiquetas de datos, formato condicional, etc.).
* **Tabla vertical:** este tipo de Tarjeta se utiliza comúnmente para mostrar listas largas, con capacidad de visualización rápida de hasta 100K filas y con varias características incluidas (totales, subtotales, ordenaciones múltiples, filtrados múltiples, formato condicional, estilos y temas personalizados, columnas dinámicas, etc.).
* **Tabla cruzada:** este tipo de tarjeta se utiliza comúnmente para construir matrices de datos que comparan cualquier combinación de dimensiones y métricas, también con desplazamiento rápido y con varias características incluidas (totales, subtotales, ordenaciones, formato condicional, estilos y temas personalizados, etc.).
* **Indicador:** muestra una representación horizontal, vertical o radial de una métrica, para controlar el nivel de cumplimiento de los valores objetivo.
* **Tarjeta personalizada:** una de las características más avanzadas de Biuwer es la capacidad de incluir cualquier característica con el aspecto de una Tarjeta normal. Son utilizadas comúnmente por organizaciones empresariales que necesitan crear aplicaciones personalizadas dentro de Biuwer, como integraciones con terceros, gráficos personalizados, informes personalizados, KPI personalizados, mapas personalizados, formularios web personalizados, etc.

### **Filtro**

Los filtros son muy importantes en Biuwer y han sido diseñados para formar parte de las Páginas y Tarjetas por defecto. De modo que cualquier Página o Tarjeta puede tener cualquier número de Filtros de diferentes tipos de datos, que nos permiten hacer un poderoso análisis interactivo.

Cada Usuario tiene su propia configuración de filtros, por Página y por Tarjeta; de modo que cualquiera puede realizar diferentes análisis utilizando las mismas Páginas y Tarjetas base.

Las características principales de los filtros son:

* Configura qué filtros se aplican a qué Tarjetas
* Filtros dependientes que utilizan relaciones de datos jerárquicos
* Mostrados u ocultos, obligatorios u opcionales, un valor o varios valores
* Múltiples opciones de configuración
* Valores predefinidos para los rangos de fechas
* Filtros TOP / BOTTOM

### **Conexión**

Las Conexiones de Datos nos permiten obtener datos de diferentes fuentes de datos. También se conocen como integraciones en otras herramientas. Utiliza nuestro **Catálogo de Datos** para seleccionar el tipo de tecnología dividida en estas cinco categorías:

* Bases de datos
* Archivos
* Almacenes de archivos
* Aplicaciones
* Eventos

Siempre estamos mejorando el **Catálogo de Datos**, incluyendo las conexiones de datos más utilizadas por nuestros clientes. Contáctanos si necesitas alguna conexión específica que no esté disponible actualmente.

### **Conjunto de Datos**

Una vez que se ha establecido una Conexión de Datos, Biuwer modela las entidades de datos disponibles a través de ella, utilizando Conjuntos de Datos que apuntan a tablas físicas o vistas en bases de datos u otros objetos de datos en archivos, aplicaciones o eventos.

La **Ingeniería Inversa** es una herramienta muy útil disponible en el Centro de Datos de Biuwer, capaz de descubrir conjuntos de datos para tí, en conexiones de bases de datos, para crear y mantener los campos de los conjuntos de datos de forma automática.

### **Modelo de Datos**

Cada consulta realizada por cualquier Tarjeta o Filtro se hace a través de un Modelo de Datos, que nos permite definir el comportamiento de los datos. Un Modelo de Datos se construye con una colección de Juegos de Datos y las relaciones entre ellos. El mismo Conjunto de Datos puede ser incluido en diferentes Modelos de Datos para realizar diferentes tipos de análisis de datos.

###


# ¿Cómo usar Biuwer?

Esta sección explica las principales acciones que un usuario realizará dentro de la Plataforma Biuwer.

Cada nueva Organización **incluye un Espacio compartido a efectos de demostración**, con una Página que incluye un conjunto de Tarjetas, usando un Modelo de Datos, algunos Juegos de Datos y una Conexión de Datos sobre una base de datos real. Haremos una visita guiada usando estos elementos para mostrarte cómo utilizar la Plataforma de Biuwer.

### Paso 1: [Registro](/es/empezando/como-usar-biuwer/proceso-de-registro)

En primer lugar, si eres nuevo en Biuwer, tendrás que registrarte para crear tu Organización. El proceso de registro es muy sencillo, tendrás que utilizar la dirección de correo electrónico de tu empresa para verificar tu identidad y poder acceder a un período de prueba de 30 días.

### Paso 2: [Acceso a Biuwer](/es/empezando/como-usar-biuwer/acceder-a-biuwer)

La forma más común de utilizar Biuwer es utilizar su interfaz de usuario web disponible en <https://app.biuwer.com> y rellenar el formulario de acceso.

### Paso 3: [Conoce la página de Inicio y la navegación](/es/empezando/como-usar-biuwer/pagina-de-inicio-y-navegacion)

Aquí te contamos sobre los elementos del menú principal y cómo navegar por la interfaz web de usuario.

### Paso 4: [Configura tu Perfil de Usuario](/es/empezando/como-usar-biuwer/mi-perfil-de-usuario)

Puedes cambiar la configuración del usuario (correo electrónico, nombre, etc.) así como el idioma según tus preferencias.

### Paso 5: [Gestión de contenidos](/es/empezando/como-usar-biuwer/gestion-de-contenido)

Aprende a encontrar el contenido y navegar por él usando tu Espacio Personal y los Espacios Compartidos de tu Organización.

### Paso 6: [Explorando los datos](/es/empezando/como-usar-biuwer/explorando-los-datos)

En Biuwer los datos pueden ser explorados y analizados usando directamente Tarjetas o incluidos en las Páginas, también conocidas como Cuadros de Mando.

### Paso 7: [Filtrando los datos](/es/empezando/como-usar-biuwer/filtrando-los-datos)

Es importante que aprendas a leer los filtros que se aplican a cualquier Página o Tarjeta, para que puedas responder a las preguntas correctas.

### Paso 8: [Colabora](/es/empezando/como-usar-biuwer/colaborar-con-los-datos)

Uno de los principios básicos del movimiento de Crecimiento Basado en Datos es la colaboración en torno a los datos. Aquí te mostramos las principales opciones para colaborar con los datos.

### Paso 9: [El espacio compartido Film Rentals](/es/empezando/como-usar-biuwer/el-espacio-de-film-rentals)

Esta visita guiada concluye usando el espacio compartido Film Rentals. Te hacemos algunas preguntas sobre los datos que se muestran. ¡Encuentra la respuesta!


# Proceso de Registro

Las nuevas organizaciones empiezan a utilizar Biuwer tras un breve proceso de inscripción iniciado en [**https://app.biuwer.com/signup**](https://app.biuwer.com/signup?lang=en), que permite comenzar un período de prueba de 30 días con todas las características disponibles y sin limitaciones.

![Registrando tu cuenta de Biuwer](/files/-M8R3qiewojb-w-Pidex)

1. Rellena el formulario de inscripción con una dirección de correo electrónico de empresa válida y el nombre de tu Organización.
2. Revisa tu correo electrónico para ver un nuevo email enviado por el equipo de Biuwer.
3. Confirma que tu dirección de correo electrónico es válida haciendo clic en el botón incluido en el email.
4. Serás redirigido a una nueva página en tu navegador para completar el proceso de registro. Elige una buena contraseña porque tu usuario será el contacto principal de la Organización con poder de administración.
5. Después de configurar tu contraseña, tu Organización ya está disponible y se te redirige a la página de inicio de Biuwer. Tenemos un Espacio compartido de muestra para que puedas empezar.


# Acceder a Biuwer

A Biuwer puede accederse de diferentes maneras, pero la principal es a través de la interfaz web de usuario, disponible en [**https://app.biuwer.com**](https://app.biuwer.com). Puedes acceder a esta URL directamente o navegar desde la página web pública de Biuwer [**https://biuwer.com/es/**](https://biuwer.com/es/) donde encontrarás un botón de **Acceso** en la esquina superior derecha.

![Acceder a Biuwer](/files/-M8R2SxtIqqH7qfXF_bA)

Sólo tienes que rellenar el formulario de acceso con tu dirección de correo electrónico y tu contraseña para entrar en la plataforma. En caso de que hayas olvidado tu contraseña, simplemente haz clic en el enlace **¿Olvidaste tu contraseña?**, escribe tu dirección de correo electrónico y sigue las instrucciones en el email que te enviamos.


# Overview y Navegación

Cuando accedes a Biuwer, entrarás al Overview, donde encontrarás un **Buscador Global** (también disponible en el menú de navegación) que te permite localizar de forma rápida cualquier contenido al que tengas acceso.

<figure><img src="/files/Dm7ndYTQVoG29fycDK0l" alt="Overview y navegación"><figcaption><p>Vista de Overview</p></figcaption></figure>

#### **Secciones del Overview**

**1. Mis favoritos**

En esta sección encontrarás los elementos que hayas marcado como favoritos dentro de la pantalla de Espacios.\
Los favoritos se organizan mediante **tres pestañas**:

* **Páginas**
* **Tarjetas**
* **Colecciones**

El usuario puede marcar como favorito cualquier número de elementos desde Espacios.\
En Overview se muestran ordenados usando el mismo criterio que en la sección de Espacios.

**2. Espacios en los que trabajas**

Aquí se muestran los **Espacios** en los que participas, ya sea porque te los han compartido o los has creado tú mismo/a.

El listado muestra tus Espacios favoritos por orden alfabético, indicando el número de Páginas, Tarjetas y Colecciones que contiene cada Espacio. También puedes acceder directamente a la pantalla de Espacios desde el botón *Ir a Espacios*.

Diferencias según **tipo de usuario:**

* **Usuario básico:** si aún no tiene Espacios compartidos, verá un estado vacío orientado a ayudarle a empezar.
* **Usuario avanzado:** siempre verá un Espacio fijo llamado “Mi espacio personal”, que no puede eliminar.<br>

**3. Asistencia y ayuda**

Bloque con accesos directos a secciones de la documentación pública de Biuwer, como conceptos básicos, gestión de contenido y roles.<br>

**4. Updates y últimos lanzamientos**

Sección donde se muestran los últimos artículos de actualizaciones del producto.\
Sirve para mantenerse al día de nuevas funcionalidades, mejoras y cambios relevantes en Biuwer.

***

#### **Menú de navegación**

El menú de navegación que da acceso a las diferentes herramientas se ubican en la barra lateral principal de la izquierda. El usuario puede navegar a las diferentes secciones:

<div align="left"><figure><img src="/files/dZSVv7OzNckfOHmoTjS8" alt="Menú navegación superior"><figcaption><p>Menú Navegación (parte superior)</p></figcaption></figure></div>

* **Overview:** acceso rápido a últimos Espacios y Contenido favorito.
* **Espacios**, donde se organizan páginas, tarjetas y colecciones.
* **Data Center**, para gestionar conexiones y datos. Normalmente los usuarios avanzados y/o básicos no precisarán usar esta herramienta, la utilizarán los administradores de datos.
* **Buscador Global,** para localizar cualquier elemento existente en Espacios, Páginas, Tarjetas, Colecciones o Data Center de forma ágil y directa.<br>

<div align="left"><figure><img src="/files/Cp3b9MkK1hhMl34oay48" alt="Menú navegación inferior"><figcaption><p>Menú navegación (parte inferior)</p></figcaption></figure></div>

En la parte inferior del mismo, se encuentran:

* [Traducciones](https://docs.biuwer.com/es/gestion-contenidos/multi-lenguaje): Administra y personaliza las traducciones de los términos y contenidos customizados de la plataforma.
* **Área de Administración**: Gestiona usuarios, grupos, permisos y la configuración administrativa de la organización. (Solo accesible para administradores y contactos principales.)
* **Chat de Soporte:** Inicia un chat con nuestro equipo de soporte para resolver dudas o reportar incidencias.
* **Perfil de usuario:** abre un submenú con estas opciones:
  * **Cambiar de Organización:** Accede o cambia a otra de tus organizaciones de Biuwer (solo visible si tienes acceso a múltiples organizaciones).
  * **Mi perfil:** Actualiza tu información personal, contraseña y preferencias de usuario.
  * **Cerrar sesión**: finaliza tu sesión de forma segura.


# Mi Perfil de Usuario

La página de perfil de usuario te permite cambiar tu **nombre**, **apellido**, **dirección de correo electrónico** o el **idioma** preferido, así como tu **contraseña**.

![Mi Perfil de Usuario](/files/-M8VNlWGbd4t0TksAr5z)

En cuanto al idioma preferido, por defecto cada usuario creado o invitado en una Organización utilizará el idioma **definido por la propia Organización**. Sin embargo, cada usuario puede cambiar esta configuración y seleccionar entre los idiomas disponibles.

Si el usuario puede acceder a dos o más Organizaciones, aparecerá una lista de las Organizaciones con acceso.

* Puedes establecer cuál es tu **Organización predeterminada**, que será a la que accedas en cada inicio de sesión.
* También puedes **cambiar entre las Organizaciones** desde esta lista.


# Gestión de Contenido

El contenido es el rey, y el diseño de Biuwer permite a los usuarios colaborar con los datos, utilizando tres componentes principales definidos brevemente en el Glosario: Espacios, Páginas y Tarjetas.

### **Espacios**

Los espacios son similares a las carpetas en los sistemas de archivos y actúan como contenedores de otros elementos, como las Páginas y las Tarjetas. Hay **dos tipos** de Espacios: Personales y Compartidos.

![Lista de Espacios - Opción de mosaico](/files/-M8VVhkIJqBFwclsG6v4)

#### **Espacios Personales**

**Los Usuarios Avanzados** tienen su propio Espacio Personal donde pueden crear contenido privado, por ejemplo, informes o tableros para uso personal o como paso previo antes de compartir cualquier Tarjeta o Página con otros Usuarios.

El contenido dentro de los Espacios Personales es propiedad del usuario y sólo es visible por él. Para compartir Páginas o Tarjetas en tu Espacio Personal, debes **mover el elemento a un Espacio Compartido** al que tengas acceso, y luego configurar quién puede ver, editar o administrar el contenido.

#### **Espacios Compartidos**

Cuando creas un Espacio en Biuwer, es un Espacio Compartido por defecto. El modelo de seguridad sigue los criterios de acceso mínimo, lo que significa que por defecto el acceso no se concede a nadie. Para dar acceso a otros Usuarios o Grupos de Usuarios, basta con entrar en el diálogo Configuración de Acceso en cualquier Espacio Compartido y establecer quién puede verlo, editarlo o administrarlo.

### **Páginas**

Las Páginas se utilizan principalmente como cuadros de mando empresariales, en los que se muestra una colección de Tarjetas de datos en un entorno común, para responder a un conjunto de preguntas relativas a una necesidad específica.

![Una Página en Biuwer usada como un cuadro de mando empresarial](/files/-M8odYx3GWKPHDPq00YH)

Los casos de uso son infinitos, pero te damos aquí algunos ejemplos que las organizaciones actuales ya están utilizando:

* Dashboard de ventas online
* Dashboard de ventas en tienda física
* Dashboard del centro de llamadas
* Dashboard de alquileres
* Dashboard de proyectos
* Resultados por empresa y unidad de negocio
* Dashboard de movimientos logísticos
* Panel de gestión de cobros

### **Tarjetas**

Como se describe en el Glosario, las [**Tarjetas**](/es/empezando/glosario#tarjeta) son los bloques sobre los que se construye en Biuwer. Se pueden utilizar de forma independiente, pero también como parte de una o más Páginas. Esta flexibilidad te permite construir muchos casos de uso, dependiendo de tus necesidades específicas, aplicando los filtros de Tarjeta y de Página que sean necesarios.

![Tarjeta de Gráfico de Barras Verticales con filtros de una página específica](/files/-M8ooYjSCDS1GFkAnuIo)

La mayoría de los tipos de Tarjetas disponibles están centrados en los datos, es decir, su propósito es mostrar los datos de diferentes maneras (cuadros, tablas, gráficos, mapas, etc.). Siempre estamos mejorando el catálogo de Tarjetas para permitir otros tipos de casos de uso, tales como Formularios, Texto Formateado, etc.

Por esa razón hemos construido una **Tarjeta Personalizada** que puede incluir cualquier tipo de lógica, para lograr cualquier necesidad de datos o integración con aplicaciones de terceros. Si necesitas alguna personalización, nuestros ingenieros de datos pueden [**construir cualquier tarjeta personalizada para tí**](https://biuwer.com/es/contacto/)**.**

Los casos de uso de Tarjetas son infinitos, pero te damos aquí algunos ejemplos que las organizaciones ya están utilizando:

* Detalle de los movimientos de gastos
* Pagos pendientes por proveedor y mes
* Lista de facturas impagadas
* \# Empleados por Compañía
* Evolución Mensual del salario Promedio vs. Número de Empleados
* Informe de resultados anuales
* Ventas del año actual vs. Ventas del año anterior
* Las 10 principales compras por proveedor


# Explorando los datos

Un caso de uso típico para explorar algunos datos de interés, analizarlos, responder algunas preguntas y luego tomar decisiones basadas en los resultados obtenidos, es seguir estos pasos:

1. Entra en Biuwer.
2. Accede a la lista de Espacios y navega a la Página o Tarjeta de interés, o haz clic directamente en la Página o Tarjeta que aparece en la página de inicio.
3. Ajusta los filtros dinámicos para mostrar los datos relevantes de una pregunta de datos específica (por ejemplo, configurar el intervalo de fechas de interés y otras dimensiones de análisis incluidas).
4. Analiza los datos mostrados en la Página o Tarjeta de interés. Si está bien construido, deberías ser capaz de responder a la pregunta planteada.
5. Actúa basándote en los datos o comparte el conocimiento con otras personas, utilizando las capacidades de colaboración de Biuwer.

### **Un ejemplo: ¿Cuáles son las 3 peores categorías?**

{% hint style="info" %}
Estamos usando el espacio compartido de ejemplo **Film Rentals**
{% endhint %}

Como propietario de un negocio de alquiler de películas, sé que hay muchas categorías. Así que me preocupan las categorías de peor rendimiento y tengo que **deshacerme de las 3 peores categorías.**

![El menú de opciones de la tarjeta aparece al pasar por encima](/files/-M8pMAVklJAa3RtOjuSd)

* Usando el espacio compartido **Film Rentals** en Biuwer, navega al cuadro de mandos Film Rentals.
* Tenemos que saber las categorías de menor rendimiento, así que tenemos que usar el número de alquileres sin aplicar filtros especiales, dividido por categoría de película, y luego ver cuáles son las 3 categorías con menos alquileres.
* Podemos usar la tarjeta **"# Rentals ranking per category"** para responder a esta pregunta.
* Para ver los datos en detalle, abre el menú de opciones de la tarjeta que aparece al pasar por encima, y selecciona **"Ver detalle" / “See detail”** para ver una versión de la tarjeta a pantalla completa.

![Terror, Música y Viajes son las 3 peores categorías](/files/-M8ow63-HttC91ygQaj_)

El gráfico de barras horizontal nos muestra que 40 alquileres no tienen categoría y que las 3 peores categorías son... Terror, Música y Viajes. Así que estas tres categorías serían las mejores candidatas para ser eliminadas.


# Filtrando los datos

Los filtros son tan importantes al analizar datos, que Biuwer incluye un completo sistema de filtrado, disponible para Páginas y Tarjetas, y pueden ser utilizados de forma independiente o combinados.

### **Filtros de Página**

Cuando se construye un cuadro de mandos, se puede configurar cualquier número de filtros para ser aplicados, según sea necesario, en cualquier tarjeta incluida en la página.<br>

{% hint style="info" %}
Una sola Página puede incluir **Tarjetas que muestren datos de diferentes fuentes de datos**. El sistema de filtrado Biuwer permite filtrarlas en consecuencia, eligiendo qué filtros se aplican a cada tarjeta en cada campo de datos.
{% endhint %}

![Los filtros de Página se muestran por página y cada usuario tiene su propia configuración dinámica](/files/-M8pSczOcQflahykgG6B)

Los usuarios habituales suelen estar interesados sólo en analizar los datos, no en diseñar páginas, modelar datos o configurar filtros. Usar los filtros es tan sencillo como hacer clic en ellos, y aparece un diálogo para configurar el filtro.

Dependiendo del tipo de datos del campo asociado al filtro, aparecerán en pantalla diferentes opciones que te permitirán:

* Seleccionar valores de opción (todos los valores, ninguno, algunos valores)
* Usar expresiones regulares (iguales, no iguales, mayores que, entre, etc.)
* Usar valores predefinidos (este año, los últimos 3 meses, etc.)
* Utilizar valores calculados de tipo Top / Bottom

![Filtro de diálogo para un campo de texto](/files/-M8pSljLMDvnKxFd9UM4)

### **Filtros de Tarjeta**

Se recomienda definir filtros de tarjeta siempre que, como usuario de negocio, sea necesario aplicar ciertas restricciones a los datos que se muestran en una tarjeta específica, con independencia de la página en la que se utilice finalmente la tarjeta e incluso si la tarjeta es utilizada de forma autónoma.

{% hint style="info" %}
Los filtros pueden ser configurados como **obligatorios u opcionales, editables o fijos, visibles o invisibles, de valores múltiples o de un solo valor**. Estas combinaciones junto con los filtros de tarjeta, permiten implementar casi cualquier necesidad de filtrado.
{% endhint %}

Hablando de uso, los filtros de tarjeta son casi iguales a los filtros de página. Difieren en las implicaciones porque:

* Se puede aplicar un filtro de página en una tarjeta en particular o no, dependiendo de la configuración.
* Un filtro de tarjeta siempre se aplicará a esa tarjeta en particular.

Utilizados conjuntamente, ambos tipos de filtros pueden ser identificados visualmente en Biuwer como muestra el siguiente ejemplo.

![Filtros de página y tarjeta aplicados a una tarjeta, desde la perspectiva de la página](/files/-M8pYureDWYD5_VHoiIz)

![Filtros de página y tarjeta, aplicados a una tarjeta, desde la perspectiva de la tarjeta a pantalla completa](/files/-M8pY5w4e-2LSnROOrgr)

{% hint style="info" %}
**Las áreas de los filtros** pueden abrirse y cerrarse para maximizar la visibilidad de la tarjeta.
{% endhint %}


# Colaborar con los datos

Existen algunas opciones para compartir datos con Biuwer, que ha sido diseñado utilizando los criterios de acceso mínimo, lo que significa que, por defecto, el acceso se concede sólo al propietario.

### **Compartir internamente**

Para dar acceso a otros Usuarios o Grupos de Usuarios, basta con entrar al **diálogo de Configuración de Acceso**, en cualquier espacio compartido, y establecer quién puede verlo, editarlo o administrarlo.

{% hint style="info" %}
El uso de la **herencia de permisos** es un **patrón común** cuando se crean Espacios Compartidos específicos para ser usados por el mismo grupo de personas, ya que es más rápido de configurar y más fácil de mantener.
{% endhint %}

Biuwer **aplica la herencia** a los elementos de contenido en su configuración de seguridad **de forma predeterminada**, por lo que si configuras quién puede ver, editar o administrar un determinado Espacio, todas las Páginas y Tarjetas incluidas en ese Espacio heredarán los mismos permisos. Después siempre podrás personalizar la configuración de seguridad de cada Página o Tarjeta individualmente.

Aquí puedes ver el diálogo de Configuración de Acceso para la página de muestra "Film Rentals Dashboard" configurado primero con la herencia por defecto, y segundo con los permisos personalizados.

![Diálogo de configuración de acceso para una página con permisos heredados](/files/-M8tlCZqKVb3ha-j1tK5)

![Acceder al diálogo de configuración de una página con permisos personalizados](/files/-M8tlQ1QE_xUzXDPZV0Z)

### **Compartir externamente**

También conocido como **Embedded Analytics**, puedes **compartir cualquier Página o Tarjeta fuera de la Plataforma de Biuwer**, por ejemplo, para ser incluida en cualquier página web pública, una extranet de clientes, una intranet o cualquier aplicación web personalizada de terceros.

Simplemente accede a la Página o Tarjeta deseada y utiliza la **opción "Compartir"** en el menú de configuración, ya sea desde el Espacio, desde una Página o cualquier Tarjeta en modo de pantalla completa. El diálogo Compartir te dirá si una Página o Tarjeta determinada se está compartiendo, y si es así, cuál es la configuración, donde se puede especificar:

* **Tipo de acceso**: Privado o Público
* **Tamaño en píxeles**: Anchura y Altura
* **Período de validez**: el intervalo de fechas en que está habilitado el elemento compartido

{% hint style="info" %}
**Compartir en privado requiere que se añada un token de autenticación** a la URL del recurso compartido. Para más información, por favor lee sobre ello en el **Área de Administración.**
{% endhint %}

El siguiente ejemplo muestra una Tarjeta no compartida, con la configuración correspondiente antes de permitir su uso compartido.

![Cuando se abre el diálogo Compartir y la Tarjeta no está siendo compartida en ese momento](/files/-M8tsul_OSfK_R8hggJL)

![Configuración en el diálogo Compartir antes de habilitar la compartición externa](/files/-M8ttJL2ZU-epWikISe1)

Y este ejemplo muestra una página que se está compartiendo, con la configuración correspondiente que siempre se puede actualizar.

![Una página compartida. Puedes usar una URL directa o incrustar un fragmento de HTML](/files/-M8tuu4yBZMLPfMOJIkn)

![Siempre se puede cambiar la configuración de un recurso compartido (Página o Tarjeta)](/files/-M8tvHJ_4x8-ug33N8o3)

{% hint style="info" %}
Usa los iconos de "**Copiar al portapapeles**" de la derecha para copiar la URL o el Iframe HTML al portapapeles por simplicidad.
{% endhint %}

### **Exportación de datos**

Los datos contenidos en Tarjetas pueden ser exportados a formatos de archivo CSV o Excel. Simplemente navega a cualquier tarjeta de datos, abre el menú de opciones y selecciona "**Exportar**". Aparecerá el diálogo de exportación que te mostrará los formatos disponibles. Selecciona CSV o Excel y pulsa el botón Descargar para obtener el archivo correspondiente con los datos que la Tarjeta está utilizando actualmente.

![Descarga los datos de las tarjetas en formatos CSV o Excel, usando el diálogo de Exportación](/files/-M8u2ZCljXjZ2ihBG_2K)

{% hint style="info" %}
La exportación de datos a archivos CSV o XLSX incluye los **datos subyacentes**. Esto significa que todos los datos que se han obtenido pueden ser visualmente diferente de los datos mostrados en la Tarjeta, especialmente cuando se habla de gráficos o tablas cruzadas, simplemente porque estas Tarjetas aplican agregaciones de datos la mayoría de las veces, dependiendo de su configuración.
{% endhint %}

### **Impresión del contenido en PDF**

Si quieres tener una representación visual en PDF, tal y como se muestra en la pantalla, tanto las Páginas como las Tarjetas pueden ser exportadas en este formato.

Simplemente navega a cualquier Página o Tarjeta, abre el menú de opciones y selecciona "**Exportar**". Aparecerá el diálogo de exportación que te mostrará los formatos disponibles.

Las Páginas sólo se pueden imprimir en PDF, así que sólo hay que configurar las opciones disponibles.

![Opciones de impresión en PDF para las Páginas](/files/-M8u5Z7Ch_LA9qVjIXhe)

Con Tarjetas, se te pide que selecciones el formato PDF antes de configurar las opciones de impresión.

![Opciones de impresión en PDF para las Tarjetas](/files/-M8u5i7B7ER1nGsFkt-R)

Tanto para las Páginas como para las Tarjetas, las opciones de impresión de PDF son:

* **Nombre del archivo** (Biuwer propone el nombre de la Página o de la Tarjeta con la fecha de impresión)
* **Tamaño**: A4, A3, A2, A1
* **Orientación**: Vertical u Horizontal
* **Márgenes** (centímetros arriba, abajo, derecha e izquierda)
* **Cabecera** (lo que aparece arriba en el centro, arriba a la derecha y arriba a la izquierda)
* **Pie de página** (lo que aparece abajo en el centro, abajo a la derecha y abajo a la izquierda)


# El espacio de Film Rentals

A lo largo de esta sección "Empezando" de Biuwer Docs, hemos estado usando el espacio compartido "Film Rentals", que está disponible por defecto en cada nueva Organización.

Siguiendo algunos ejemplos que hemos descrito sobre cómo usar Biuwer, este es un buen ejercicio para responder algunas preguntas sobre Film Rentals, para entender mejor las capacidades de Biuwer, antes de sumergirte en tus propios datos.

Usando tus capacidades de análisis de datos, vamos a encontrar juntos las respuestas a las siguientes preguntas, usando la página **Film Rentals Dashboard**.

### **¿Cuáles son las 3 categorías principales de alquiler?**

No hay filtros especiales que aplicar (fecha de alquiler, categorías, países), por lo que configuramos los filtros de 3 páginas a "**Todos los valores**". El ranking por categoría se encuentra en la tarjeta "# Rentals ranking per category".

![¿Cuáles son las 3 categorías principales de alquiler?](/files/-M8uzmyqCJ9QfssL9B2-)

{% hint style="success" %}
La respuesta: **Deportes**, **Animación** y **Acción**
{% endhint %}

### **¿Cuál es el peor día (alquiler mínimo) en Reino Unido durante el tercer trimestre de 2019?**

Estamos pidiendo un día específico, por lo que tenemos que usar una tarjeta de datos donde se **detalla el número de alquileres a nivel de día**. También estamos preguntando sólo por el Reino Unido y el tercer trimestre de 2019, así que tenemos que configurar estos dos filtros en consecuencia.

{% hint style="info" %}
Si analizar los datos en un panel con muchas Tarjetas no es visualmente óptimo, recuerda que podemos ver la versión a pantalla completa de cualquier Tarjeta y aplicar los filtros de cualquier Página en la que se incluya esa Tarjeta.
{% endhint %}

![¿Cuál es el peor día (alquiler mínimo) en Reino Unido durante el tercer trimestre de 2019?](/files/-M8v-bxCxxOkh9t1bhIU)

{% hint style="success" %}
La respuesta: **5 de Julio de 2019**
{% endhint %}

### **¿Cuántos clientes alquilaron películas durante el tercer trimestre de 2019?**

Esta es más fácil que la última pregunta. Simplemente limpia el filtro de país y establece "Todos los valores" y tenemos una tarjeta KPI con el número total de clientes que han alquilado películas.

![¿Cuántos clientes alquilaron películas durante el tercer trimestre de 2019?](/files/-M8v0S5gs0uwUQ5pJQDL)

{% hint style="success" %}
La respuesta: **599**
{% endhint %}

### **¿Cuál es la película más cara alquilada a Karl Seal de la categoría Terror?**

Estamos pidiendo el nombre de una película, basado en su coste, y tiene que ser la más cara. En Film Rentals Dashboard no hemos configurado (aunque es posible), un filtro de página para los clientes, pero afortunadamente, hay una tarjeta de datos vertical llamada "Rentals details" que incluye muchos más detalles, dentro del cuadro de mandos. Aquí podemos filtrar (dentro de la propia tabla) la información solicitada.

![¿Cuál es la película más cara alquilada a Karl Seal de la categoría Terror?](/files/-M8v0sFw-gUO-rY7m-PK)

{% hint style="success" %}
La respuesta: **Fidelity Devil**
{% endhint %}


# ¿Cómo funciona Biuwer?

Los conceptos básicos de Biuwer se explican en el [**Glosario**](/es/empezando/glosario) y el siguiente diagrama muestra visualmente cómo funciona Biuwer integrando las distintas piezas que intervienen.

### **Diagrama de uso de datos**

![¿Cómo funciona Biuwer? Flujo de datos hasta que llegan al usuario](/files/-MJ2ggut2EWoy_iYqqXb)

Los usuarios pueden **consumir la información analítica a través de Páginas o Tarjetas**, tal como se muestra desde el lado izquierdo del diagrama. Dependiendo del uso que se quiera dar a la información se puede utilizar una página como un cuadro de mando o un panel compuesto por una o varias tarjetas, o bien, utilizar una tarjeta individual para analizar datos concretos.

**Cualquier dato que sea mostrado por una tarjeta de datos proviene de un Modelo de datos**, que sirve para especificar cómo se relacionan los Conjuntos de Datos entre sí. Los modelos de datos son una herramienta muy versátil pues permiten aportar a los datos el significado que esperamos de ellos para analizar casos de uso concretos.

A su vez los Conjuntos de Datos representan datos almacenados físicamente en una base de datos, accedidos a través de una Conexión de Datos también definida en Biuwer.

### Define tus datos una vez y utilízalos muchas

**Los Modelos de Datos, Conjuntos de Datos y Conexiones**, según configuración de seguridad aplicada, **están disponibles para todos los usuarios de tu Organización**. Esto quiere decir, que la gestión de los datos, si su estructura no cambia, puede definirse una vez y después utilizarse en todas las páginas y tarjetas que se necesiten a lo largo del tiempo.

### Gestión de datos híbrida

Biuwer permite una **gestión de datos híbrida**, es decir, puedes decidir cómo se gestionan tus datos. **Otras herramientas fuerzan a que tengas que subir todos tus datos** a su sistema, pues lo necesitan por su arquitectura y funcionamiento, pero esto no ocurre con Biuwer.

Para cada conjunto de datos, puedes decidir si tu Organización realiza la gestión de los datos usando bases de datos privadas (típicamente detrás de un firewall), o bien es Biuwer quien realiza esta gestión por tí.

* **Si tu Organización es la encargada de gestionar los datos**, éstos se almacenan físicamente en bases de datos SQL o NoSQL soportadas por Biuwer. Las consultas se ejecutarán físicamente en tus servidores y únicamente se obtendrán los resultados de las mismas, que serán mostrados en las Tarjetas correspondientes a tus Usuarios.
* **Para los casos en que sea Biuwer el encargado de gestionar tus datos**, éstos se almacenan en un sistema de datos analítico de alta velocidad, diseñado específicamente para el análisis de datos, de forma segura y estanca para tu Organización.

Cuando utilices datos que no estén almacenados físicamente en bases de datos, como **ficheros (CSV, Excel,...) y otras integraciones accesibles vía API, obligatoriamente estos datos se almacenan y gestionan en Biuwer** por tí.


# Siguientes pasos

Después de esta sección guiada "Empezando", puedes entrar en más detalles de las diferentes áreas de Biuwer.

Algunos de los siguientes pasos incluyen:

* [Gestión de datos](/es/gestion-de-datos/introduccion)
* [Gestión de contenidos](/es/gestion-contenidos/introduccion)
* [Creando un cuadro de mando](/es/creando-cuadro-de-mando/preguntas-responder)
* [Gestión de la seguridad](/es/gestion-seguridad/introduccion)
* [Administración](/es/administracion/organizacion)


# Introducción

Biuwer se ha diseñado para **facilitar la colaboración en torno a los datos** en toda tu Organización. Para ello, se ha creado el **Centro de Datos** que es la parte de Biuwer en la que puedes gestionar todo lo que tiene que ver con los datos que se utilizan en cualquier Página o Tarjeta.

El **Centro de Datos** te permite manejar tus **conexiones de datos, conjuntos de datos y modelos de datos**, que son las tres piezas fundamentales que se deben configurar y preparar previamente antes de poder analizar los datos.

### **Acceso al Centro de Datos**

Si tu usuario es administrador de tu Organización o bien tiene los permisos adecuados, podrás acceder al Centro de Datos a través del siguiente icono de la barra lateral izquierda:

![Acceso al Centro de Datos](/files/-MMWCtoei2EwyDxLEErp)

### **¿Cómo se gestionan los datos?**

El siguiente diagrama muestra cómo fluyen los datos desde los distintos almacenes de datos hacia el contenido mostrado al usuario, formado por Páginas y Tarjetas.

![Gestión de Datos en Biuwer](/files/-MMWDd7jUdOPomTL5ojs)

A la derecha tenemos disponibles los distintos sistemas de almacenamiento de datos:

* **Bases de Datos SQL**. Son sistemas de bases de datos compatibles con el estándar SQL (Standard Query Language), como MySQL, PostgreSQL, MS SQL Server u Oracle. Estas bases de datos las gestiona tu Organización y Biuwer únicamente se conecta a ellas para obtener información.
* **Bases de Datos NoSQL**. Son sistemas de bases de datos NoSQL (Not only SQL), es decir, todas los demás sistemas de bases de datos con otros mecanismos de consulta y procesamiento, como MongoDB. Estas también las gestiona tu Organización y Biuwer únicamente se conecta a ellas para obtener información.
* **BIUWER DWH (Biuwer Data Warehouse)**. Biuwer incluye un almacén de datos gestionados en la nube para las Organizaciones (**CDW - Cloud Data Warehouse**). Se utiliza de forma transparente y automática para los datos gestionados por Biuwer, por ejemplo al subir ficheros CSV, Excel, etc. o bien al incorporar datos desde aplicaciones en la nube a través de sus APIs.

Para realizar la gestión de datos en Biuwer se utilizan las [**Conexiones**](/es/gestion-de-datos/conexiones-datos), los [**Conjuntos de Datos**](/es/gestion-de-datos/conjuntos-datos) y los [**Modelos**](/es/gestion-de-datos/modelos-datos).

A la izquierda tenemos la capa de contenido, que se organiza utilizando [**Espacios**](/es/gestion-contenidos/espacios-compartidos) y se materializa mediante [**Páginas**](/es/gestion-contenidos/paginas) y [**Tarjetas**](/es/gestion-contenidos/tarjetas).


# Conexiones de datos

Las conexiones de datos permiten acceder a tus datos allá donde estén.

Existen multitud de sistemas que contienen datos y cada uno funciona de manera diferente. En Biuwer tenemos disponible a través de un **catálogo de conexiones** aquellas que están soportadas por la plataforma.

Biuwer es una plataforma de análisis de datos empresarial y por tanto la mayoría de conectores se corresponden con **bases de datos SQL o NoSQL**. No obstante, también puedes subir tus datos almacenados en **ficheros con extensión CSV o Excel** y también estamos continuamente trabajando para ampliar el catálogo de conectores, especialmente con **aplicaciones en la nube**. Si tienes algún requisito específico, por favor no dudes en consultarnos a través del soporte online.

### **Mis conexiones**

Las conexiones que tenga mi Organización definidas aparecen en la siguiente pantalla.

![Mis conexiones en el Centro de Datos](/files/-MMWKKwPTIPTW3LC5Gpq)

Desde el menú **“Mis conexiones”** podemos ver la información más relevante de las conexiones, mostradas en forma de lista:

* **Nombre y descripción** dado a la conexión
* **Número de Juegos de Datos** asociados a la conexión
* **Número de Modelos de Datos** asociados a la conexión
* **Estado** de la conexión
* **Categoría** de la conexión
* **Fecha de creación** de la conexión

Desde la pantalla podemos realizar las siguientes operaciones:

* **Buscar y filtrar** las conexiones por varios criterios
* **Ordenar** las conexiones por varios criterios
* **Añadir** una conexión
* Acceder a la ficha de **edición** de una conexión
* **Probar** una conexión
* **Desactivar** una conexión
* Realizar la **ingeniería inversa** sobre una conexión
* **Eliminar** una conexión

![Opciones disponibles sobre una conexión de datos](/files/-MMWLals3CWi-m1UwPQh)

### **Catálogo de conexiones**

Para crear una conexión puedes acceder directamente al “**Catálogo de conexiones**” desde el menú lateral izquierdo del Centro de Datos o bien pulsando el botón ”Añadir” en la esquina superior derecha del listado de “Mis conexiones”.

Todas las posibles tecnologías disponibles en Biuwer a las que puedas conectar se muestran en este catálogo que incluye un buscador por nombre y categoría.

![Catálogo de conexiones en el Centro de Datos](/files/-MMWM67CwKtGr42Xlfpv)

Cuando pinches sobre una de las opciones mostradas, dependiendo de la tecnología se te pedirá que configures unos detalles u otros.

Por ejemplo, para crear una **nueva conexión a una base de datos PostgreSQL** es necesario configurar los siguientes parámetros:

![Creación de una nueva conexión PostgreSQL](/files/-MMWMUro-lHJPEd7-NRq)

{% hint style="info" %}
Cuando completes los parámetros de la conexión puedes comprobar que son correctos pulsando el botón “**Probar conexión**”, antes de guardar la conexión.
{% endhint %}

{% hint style="danger" %}
Para servidores de bases de datos, es importante que se habilite la conectividad para permitir la conexión desde las direcciones IP de Biuwer. Puedes encontrar estas direcciones IP desde la página de creación de una conexión de datos.
{% endhint %}

### Configuración de Zona Horaria

Las conexiones de **bases de datos que lo soporten**, incluyen en el formulario de configuración de la conexión una zona específica para habilitar y configurar la **zona horaria en la que se encuentran los datos** incluidos en la Base de Datos.

![Configuración de Zona Horaria de los datos](/files/6SP7AuyDNwOdWJvElrEW)

Por defecto una nueva conexión no tiene habilitado el soporte de zona horaria. Esto quiere decir que el motor de consultas de Biuwer no realizará ningún tratamiento específico para los campos de datos de tipo fecha y hora.

Si utilizas una base de datos, como por ejemplo MongoDB, que guarda los datos internamente en una determinada zona horaria, y quieres que esto se refleje en los resultados mostrados por las consultas, debes:

* Habilitar el soporte de zona horaria y especificar la zona horaria en la que se encuentran los datos.
* Configurar en el panel de administración de tu Organización la zona horaria de referencia que utilizarán por defecto todos los usuarios de tu Organización.
* Los usuarios individualmente en su perfil de usuario pueden especificar qué zona horaria van a utilizar. Por defecto, se utiliza la zona horaria que tenga la Organización, aunque se puede seleccionar de forma individual cualquier zona horaria del mundo.
* El motor de consultas de Biuwer realiza automáticamente la conversión de horas de diferencia entre la zona horaria efectiva del usuario y la zona horaria de los datos, para realizar la consulta y que los resultados sobre campos de fecha y hora sean los esperados.

{% hint style="info" %}
Los valores de zona horaria de la Organización y los usuarios, únicamente se tendrán en cuenta para conexiones de datos que tengan habilitado el soporte de zona horaria.
{% endhint %}

### **Importación de datos**

Las opciones disponibles en el catálogo de conexiones que permiten subir a Biuwer datos contenidos en ficheros CSV o Excel utilizan un importador de ficheros.

![Importación de datos contenidos en fichero CSV](/files/-MMWNq1yS5zZCXgIFFhd)

Para seleccionar el fichero a subir a Biuwer puedes arrastrarlo desde un navegador de archivos local o bien pulsar sobre la caja. En cuanto el fichero esté seleccionado podrás procesarlo pulsando el botón “**Procesar fichero**”. Esto lee el contenido del fichero y detecta con la configuración predeterminada las columnas, sus tipos de datos y formatos.

Como cada fichero de datos es distinto, lo más probable es que sea necesario que tengas que hacer algunos ajustes y probar varias configuraciones entre las que hay disponibles en el importador de ficheros.

![Opciones de la importación de datos de ficheros CSV](/files/-MMWOARsyP-L2OltBREM)

Puedes configurar lo siguiente:

* Delimitador de columnas
* Carácter asignado a las comillas (en campos de tipo texto)
* Si la primera fila del fichero contiene el nombre de las columnas
* Si quieres omitir las primeras N filas del fichero
* Cuál es el formato que tienen las fechas dentro del fichero
* Cuál es el formato que tienen los campos de tipo booleano en el fichero, es decir, qué valor se corresponde con Verdadero y qué valor se corresponde con Falso.
* Cuál es el formato de los números (carácter de miles y carácter de decimales)

Antes de proceder con la importación pulsando el botón superior derecho “Importar”, puedes ajustar cualquiera de los parámetros anteriores. Con cada cambio se va a volver a procesar el fichero y podrás:

* Ver una previsualización de los datos (se muestran las primeras 30 filas)
* Seleccionar todos o algunos de los campos. Esto es importante pues si el fichero cuenta por ejemplo con 20 campos pero sólo se quieren analizar 12 de ellos, los 8 que no interesan pueden no seleccionarse y no se subirán a Biuwer.
* Para cada campo seleccionado, Biuwer auto detecta y establece su tipo de datos y si se trata de un campo de tipo **Métrica** o un campo de tipo **Dimensión.**

{% hint style="info" %}
**Campos de tipo Dimensión**. Se utilizan para aquellos campos descriptivos o que contienen información categórica, por las cuales vamos a poder hacer un análisis o filtrado. Por ejemplo, las fechas, las categorías de producto, los clientes, los productos, las ubicaciones geográficas, etc.
{% endhint %}

{% hint style="info" %}
**Campo de tipo Métrica**. Se utilizan para aquellos campos numéricos (casi en su totalidad) que contienen valores que se van a contabilizar, sumar, agregar, etc. Por ejemplo, importes de venta, número de horas dedicadas, saldos de cuentas contables, costes de compras, etc.
{% endhint %}

{% hint style="info" %}
A veces puede interesar **aplicar un análisis numérico a campos de tipo Dimensión**, por ejemplo, contar cuántos productos o clientes se tienen. Esto puede realizarse de forma interactiva en el **Editor de Tarjetas de Datos** o bien creando un campo específico de tipo Métrica para esos casos, además del correspondiente campo Dimensión (esta última opción no es la más recomendable por limpieza).
{% endhint %}

### **Ingeniería inversa**

Esta herramienta permite a los usuarios definir en Biuwer de forma sencilla los [**Conjuntos de Datos**](/es/gestion-de-datos/conjuntos-datos). Se ha creado para que sea lo más rápido y eficiente posible crear y mantener en el tiempo los conjuntos de datos y todos los campos de datos que se vayan a analizar.

La ingeniería inversa sólo está disponible en determinadas **Conexiones de Datos** que así lo permiten, pues consiste en que Biuwer se conecta al sistema de base de datos o el API remoto y **escanea qué entidades de datos existen, cómo se llaman, qué campos tienen y de qué tipos de datos son**.

Para configurar una ingeniería inversa, puedes acceder directamente desde el menú “**Ingeniería inversa**” disponible en el menú lateral izquierdo del Centro de Datos o bien desde el listado de conexiones o la ficha de un Conjunto de Datos, en su pestaña de campos.

Para configurar la ingeniería inversa debes seleccionar una conexión y si dicha **conexión** tiene **contenedores**, seleccionar uno o varios de los contenedores disponibles, antes de pulsar en el botón “**Leer Juegos de Datos**”. Los resultados se presentan visualmente en un listado de entidades de datos, con sus campos y tipos de datos.

![La ingeniería inversa facilita la gestión de Conjuntos de Datos en determinadas conexiones compatibles](/files/-MMpcSXDq1S0cWy0klNw)

En esta pantalla, antes de importar los conjuntos de datos a Biuwer pulsando el botón “**Importar**” de la esquina superior derecha, puedes hacer lo siguiente:

* Seleccionar los conjuntos de datos que te interese utilizar en Biuwer. Utiliza los selectores individuales o bien los botones “**Seleccionar todo**” o “**Deseleccionar todo**”.
* A su vez, abriendo los conjuntos de datos, se muestran los campos que puedes seleccionar, con su tipo de datos original (en la base de datos o el API remotos) junto con el tipo de dato en Biuwer y el tipo de campo (Dimensión o Métrica).

{% hint style="danger" %}
Hay determinados **tipos de datos que no están soportados por Biuwer**. Por ejemplo, tipos de datos complejos, como tipos de datos definidos por el usuario en origen, campos binarios, arrays de valores, otras estructuras complejas, etc. Si en tu caso tienes algún campo que no está soportado y necesitas analizarlo por favor ponte en contacto con el soporte para ayudarte.
{% endhint %}

![Tipos de datos no soportados por Biuwer en la ingeniería inversa](/files/-MMpeNMEhQsFbLNpuXOr)

Al importar Conjuntos de Datos desde la ingeniería inversa:

1. **Se crearán los nuevos Conjuntos de Datos que no existieran** ya en Biuwer, con los campos seleccionados y su configuración especificada.
2. **Se modificarán los Conjuntos de Datos que ya existieran** en Biuwer, modificando los campos que se hayan seleccionado que ya existieran o añadiendo los nuevos campos.

El uso adecuado de la ingeniería inversa de datos puede facilitar mucho las evoluciones en el tiempo que tengamos en los orígenes de datos, como nuevas tablas, nuevas vistas, nuevos campos, cambios de nombres o cambios de tipos de datos.

{% hint style="danger" %}
Como es normal, cuando en un origen de datos se producen cambios (se eliminan campos, se cambian los tipos de datos, etc.) y estos cambios no se reflejan en Biuwer, pueden producirse errores al hacer consultas de datos. Recomendamos llevar un control y seguimiento de los cambios para evitar estos errores.
{% endhint %}

Al lanzar la **Ingeniería Inversa desde la pestaña Campos de un Conjunto de Datos**, se muestra la pantalla ya configurada con la conexión de datos y el conjunto de datos seleccionados.

![Ingeniería Inversa sobre un conjunto de datos](/files/-MMpoyLDwAKk1N2wlJ8-)

En este caso, sólo si ha habido cambios en los campos de datos origen o en sus tipos de datos, podremos seleccionarlos para incorporarlos al conjunto de datos en Biuwer. De lo contrario, tal como se muestra en la imagen, no podremos seleccionar ningún campo que añadir o modificar al dataset.


# Conjuntos de datos

Los Conjuntos de datos en Biuwer permiten disponer las entidades de datos que se van a utilizar para crear las Tarjetas y Páginas.

Los conjuntos de datos son una **representación de una tabla, una vista o una entidad de datos** almacenada físicamente en algún origen de datos accesible en Biuwer mediante la correspondiente Conexión de Datos.

La manera más sencilla de tener los Conjuntos de datos es utilizando la **Ingeniería Inversa** sobre aquellas conexiones que permitan utilizarla, pues es un proceso casi automático, rápido y eficiente.

No obstante **puedes crear y gestionar los conjuntos de datos de forma manual** en Biuwer, para lo cual debes conocer el detalle de la correspondiente tabla, vista o entidad de datos en el origen de información.

También al subir datos desde archivos en formato CSV o Excel se crean o actualizan conjuntos de datos automáticamente. Recuerda que en este caso los conjuntos de datos generados se denominan “Gestionados” pues es Biuwer quien gestiona los datos.

Por tanto, **existen dos tipos de Conjuntos de Datos:**

* **Gestionados.** Biuwer gestiona tanto los metadatos como los datos y los almacena por tí en un **CDW (Cloud Data Warehouse** - Almacén de Datos en la nube) específico para tu Organización. Los conjuntos de datos gestionados se tienen cuando se suben ficheros externos en formato CSV o Excel, cuando se tienen conexiones a aplicaciones externas accesibles mediante un API y para aquellos casos que definas para ser utilizados con el módulo de preparación de datos de Biuwer.
* **No Gestionados**: Biuwer solo dispone de los metadatos para poder realizar las consultas y es tu Organización la que gestiona físicamente los datos y es responsable de su actualización y mantenimiento. Este es el caso más habitual cuando trabajas con bases de datos SQL o NoSQL que gestiones en tu empresa, por ejemplo, las utilizadas por sistemas de gestión ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), Ecommerce, etc.

### **Listado de Conjuntos de Datos**

En el Centro de Datos, tienes disponible en el menú “**Juegos de Datos**” el listado de conjuntos de datos que tu Organización haya definido hasta el momento en Biuwer:

![Listado de Conjuntos de Datos en el Centro de Datos de Biuwer](/files/-MMpunXGNRe04CjgK6PV)

Desde este listado puedes realizar las siguientes operaciones:

* **Filtrar** los conjuntos de datos por **Nombre, Alias, Conexión** y si son **Gestionados** o **No Gestionados**.
* **Crear un conjunto de datos nuevo**, usando el botón “**Añadir**” de arriba a la derecha.
* Desde el **menú contextual** de cada conjunto de datos, **Ver el detalle**, **Editar** el conjunto de datos o **Eliminar** el conjunto de datos.

### **Creación manual**

Para poder crear manualmente un conjunto de datos, utiliza el botón “**Añadir**” disponible en el listado de conjuntos de datos.

Aparece un diálogo de creación de conjunto de datos en el que se debe elegir en primer lugar qué tipo de conjunto de datos crear, Gestionado o No Gestionado. Dependiendo de la elección se activan los parámetros que son necesarios en cada caso.

![Creando un Conjunto de Datos Gestionado](/files/-MMpvhYA1R3xZM6Depwh)

En el caso de crear un **nuevo conjunto de datos gestionado**, implica que la Organización tendrá disponible una tabla con el nombre físico correspondiente al valor que tenga el atributo “Nombre” del conjunto de datos, en el DWH (Data Warehouse) gestionado por Biuwer. Evidentemente esta tabla estará vacía y podrás insertar datos en ella subiéndolos en ficheros CSV o Excel, o bien mediante el módulo de preparación de datos de Biuwer.

![Creando un Conjunto de Datos No Gestionado](/files/-MMpw2NP29jG4fP2UnBi)

En el caso de crear un **nuevo conjunto de datos no gestionado**, implica que la Organización podrá realizar consultas de datos sobre una tabla, vista o entidad de datos con el nombre físico correspondiente al valor que tenga el atributo “Nombre” del conjunto de datos, en el sistema de base de datos SQL o NoSQL asociado a la conexión utilizada. Si dicha tabla, vista o entidad de datos no existe, las consultas que se lancen contra alguno de sus campos de datos evidentemente darán error. Es responsabilidad de la Organización asegurar que la entidad de datos existe y está preparada con los datos esperados para poder analizarlos en Biuwer.

### **Detalle del Conjunto de Datos**

Cuando accedes a un Conjunto de Datos dentro del Centro de Datos, se muestra todo su detalle, con acceso a los **campos** de datos, una vista previa de datos con los 100 primeros **registros** y la configuración de las **políticas de datos** del conjunto de datos.

Además de poder consultar todos los siguientes detalles, **puedes editar el conjunto de datos e incluso eliminarlo**, si éste no tiene dependencias activas, es decir, si no se está usando en ningún Modelo de Datos y por tanto no se está usando en ninguna Tarjeta.

![Detalle de campos de un conjunto de datos](/files/-MMq1eGglV-y36L3Mn-R)

Desde este listado se pueden consultar y gestionar los campos existentes en el conjunto de datos. Desde el listado se pueden realizar las siguientes operaciones:

* **Filtrar** los campos, por cualquiera de sus atributos.
* **Editar** los campos.
* **Añadir** un campo, que a su vez puede ser **Estándar** o bien **Calculado**.
* Lanzar la **Ingeniería inversa** asociada específicamente al conjunto de datos que se esté visualizando, para poder añadir o modificar campos que hayan sido modificados en el origen.
* **Eliminar** los campos.

{% hint style="info" %}
Los campos de los Conjuntos de Datos **marcados como ocultos** no serán mostrados a los usuarios a la hora de componer las tarjetas de datos, aunque puede ser de interés gestionarlos para la validación de datos, por ejemplo, identificadores internos.
{% endhint %}

{% hint style="info" %}
Un **campo Estándar** es un campo que existe físicamente en la entidad de datos, mientras que un **campo Calculado** no existe físicamente como tal en la entidad de datos, sino que se define como una expresión o fórmula que puede usar para su cálculo otros campos del conjunto de datos.
{% endhint %}

![Vista previa de los 100 primeros registros de un conjunto de datos](/files/-MMq2rft8z2HXgvY3mK7)

Con la vista previa el usuario puede hacerse una idea del tipo de información disponible en el conjunto de datos, previamente a modelar la información y pasar al montaje de informes, gráficos, etc.

![Políticas de datos de un conjunto de datos](/files/-MMq34uIAZLayTm73vQb)

Las **políticas de datos** son una herramienta muy versátil para poder mostrar de forma dinámica diferentes datos contenidos dentro del mismo conjunto de datos a usuarios o grupos de usuarios distintos. Esto tiene un gran valor pues permite minimizar el número de páginas y tarjetas diseñadas en Biuwer pues a menudo un mismo gráfico, tabla, mapa o KPI sirve para mostrar la información adecuada a distintos perfiles de uso. Por ejemplo, se puede diseñar e implementar un Cuadro de Mando de Ventas en Biuwer que muestre:

* Datos completos a la dirección de la empresa.
* Datos filtrados por zonas de venta a cada responsable comercial de zona.
* Datos filtrados por clientes a ejecutivos de cuenta, según los clientes que gestione cada uno.

Las **políticas de datos** se explican en detalle en el apartado correspondiente.

### **Gestionando campos de datos**

Cuando ya dispongamos de conjuntos de datos en Biuwer, cuando sea necesario podemos gestionar sus campos de datos, incluyendo nuevos, editando existentes o borrando existentes.

Cuando se necesite modificar un campo concreto, podemos editarlo usando el siguiente diálogo en el que podemos modificar:

* El **nombre físico** del campo en la entidad de datos.
* El **alias del campo en Biuwer**. Este alias está pensado para ser un nombre de negocio, sin incluir caracteres presentes en el nombre físico, como “\_”, “-”, y será el que se presente al usuario en el resultado final de las tarjetas.
* La **descripción del campo en Biuwer**. No aparece en la interfaz de usuario final, pero sirve para explicar el significado del campo, cómo se ha obtenido, cómo se ha calculado, aspectos a tener en cuenta para su análisis, etc.
* El **tipo de dato** del campo: Texto, Número, Fecha o Booleano.
* El **tipo de campo**: Dimensión o Métrica.
* La **función de agregación por defecto** para campos de tipo métrica, que depende del tipo de dato seleccionado.
* Si el campo está **oculto** al usuario.
* Si el campo es **calculado.**

![Edición de un campo de un conjunto de datos](/files/-MMufgWpdqhM_4MQWrFL)

En ocasiones es necesario o recomendable crear **campos calculados** en un conjunto de datos. En este caso no se apunta a un campo físico de la entidad de datos sino que se define una expresión lógica que incluye una fórmula apta para el motor de datos origen, para la cual se pueden utilizar:

* Los **campos de datos** físicos del conjunto de datos.
* **Operadores** aritméticos básicos (+, -, \*, /) y cuando sea necesario paréntesis, corchetes y llaves.
* **Funciones** disponibles en el catálogo de funciones.

![Creación de un campo calculado en un conjunto de datos](/files/-MMugGJM-OPctM-vACJu)

También desde la pestaña de Campos de un Conjunto de Datos, se ofrece la posibilidad de lanzar la **Ingeniería Inversa** específicamente sobre dicho conjunto de datos.


# Modelos de datos

Una de las claves del funcionamiento flexible de Biuwer es su capa de modelado de datos, que se hace mediante los Modelos de datos.

Un Modelo de datos es un elemento no físico sino lógico, que permite definir un contexto de análisis y se compone de uno o varios Conjuntos de Datos y sus respectivas Relaciones.

Una vez se haya definido un modelo de datos, este está disponible para realizar los análisis de datos que permita de forma transversal a la Organización, siguiendo el concepto de **“define una vez y utiliza muchas”.**

{% hint style="info" %}
**Se recomienda** definir los modelos de datos adecuados a los tipos de análisis de datos que se vayan a necesitar. **No se recomienda** crear un único modelo de datos con todos los conjuntos de datos disponibles, pues aumenta la complejidad en las relaciones entre los mismos y es posible que los resultados obtenidos no sean los esperados por intervención de relaciones que no aplican en ciertas consultas de datos.
{% endhint %}

En el Centro de Datos tienes disponible en el menú lateral izquierdo la opción “**Modelos de Datos**” que da acceso al listado de modelos de datos que tenga tu Organización en cada momento en Biuwer.

![Listado de Modelos de Datos en el Centro de Datos](/files/-MMuhr2lBkeH-JeOM6nI)

Desde este listado puedes consultar los distintos Modelos que tu Organización puede usar en cualquier tarjeta de datos para realizar consultas de datos y realizar las siguientes operaciones:

* **Filtrar** los modelos según su nombre y la conexión de datos.
* Acceder directamente a la **ficha del modelo** con clic en el nombre.
* Desde el **menú contextual** de cada modelo, **ver el detalle** del modelo, **editarlo** o **eliminarlo**.
* **Añadir** un nuevo modelo.

Como en el caso de los Conjuntos de Datos, también distinguimos entre Modelos gestionados y no gestionados. Pulsando sobre el botón “**Añadir**” en el listado de modelos, aparece un diálogo de creación de modelo de datos. Por defecto se selecciona la opción “**No Gestionado**” en la cual es necesario seleccionar una conexión de datos. Un modelo no gestionado va a permitir incluir en el mismo cualquier conjunto de datos asociado a la conexión especificada, ya que la consulta se va a ejecutar en el motor de base de datos asociada a la conexión.

![Diálogo para añadir un nuevo Modelo No Gestionado](/files/-MMuimMC4rz9NrCZ2xJu)

Si por el contrario se quiere crear un modelo “Gestionado”, al seleccionar esta opción no es necesario indicar una conexión pues es automática el CDW (Cloud Data Warehouse) que Biuwer gestiona para tu Organización.

![Diálogo para añadir un nuevo Modelo Gestionado](/files/-MMuiz0QttTA0zM1Yjac)

En el caso de modelos gestionados por Biuwer, solo podrán incluirse en los mismos conjuntos de datos gestionados. **Esto es interesante** pues pueden modelarse relaciones entre datos de diverso tipo subidos a Biuwer, obtenidos mediante el importador de ficheros CSV o Éxcel, conexiones a APIs externas o bien mediante el módulo de preparación de datos de Biuwer.

Cuando se accede al detalle de un Modelo de Datos tenemos acceso al listado de los Conjuntos de Datos que forman parte del modelo.

![Detalle de los Conjuntos de Datos en un Modelo de Datos](/files/-MMujI6pjkFP0_RrwPwq)

Usando el botón “Añadir” podemos incluir nuevos conjuntos de datos. Desde el propio listado, con clic en el aspa roja puedes eliminar un conjunto de datos del modelo.

![Diálogo para añadir un Conjunto de Datos a un Modelo](/files/-MMujb_cFK_qHZ0UpZXS)

Pulsando sobre la pestaña “**Relaciones**” se muestra el listado de relaciones incluidas en el modelo.

![Detalle de las Relaciones entre Conjuntos de Datos en un Modelo](/files/-MMujrEj6kC1DsY3H7Qp)

**Una relación une dos conjuntos de datos usando uno o varios campos, mediante un operador** (igualdad, desigualdad, mayor o menor) **y un tipo de relación:**

* **Inner**: incluye todos los registros cuando hay al menos una coincidencia en ambos conjuntos de datos.
* **Left Outer**: incluye todos los registros del conjunto de datos de la izquierda, y los registros coincidentes del conjunto de datos de la derecha.
* **Right Outer**: incluye todos los registros del conjunto de datos de la derecha, y los registros coincidentes del conjunto de datos de la izquierda.
* **Full Outer**: incluye todos los registros de los dos conjuntos de datos, el de la izquierda y el de la derecha.

![Diálogo para añadir una Relación a un Modelo](/files/-MMukP1Oa7RlbhFCNXst)


# Introducción

Cuando trabajamos en una Organización con datos es importante contar con elementos que nos ayuden a colaborar, a estructurar y a configurar el acceso a la información de manera transversal. En un símil con el plano de una casa, donde hay habitaciones, pasillos, etc. en Biuwer la gestión de los contenidos se estructura usando **Espacios**, **Páginas** y **Tarjetas**.

A continuación tienes el detalle de cada uno esos elementos en Biuwer:

* [**Espacio Personal**](/es/gestion-contenidos/espacio-personal)
* [**Espacios compartidos**](/es/gestion-contenidos/espacios-compartidos)
* [**Contenido favorito**](/es/gestion-contenidos/contenido-favorito)
* [**Páginas**](/es/gestion-contenidos/paginas)
* [**Tarjetas**](/es/gestion-contenidos/tarjetas)


# Espacio personal

Los **usuarios avanzados** en Biuwer disponen automáticamente de un espacio personal, llamado “**Mi espacio**” al que solo ellos tienen acceso y que se suele utilizar para trabajar de forma privada con páginas y tarjetas. Este trabajo privado puede mantenerse con el tiempo o bien hacerse de forma temporal para mover los contenidos a espacios compartidos a los que otros usuarios tengan acceso.

En el espacio personal, cada usuario avanzado puede gestionar las páginas y tarjetas como haría en espacios compartidos, con las mismas funcionalidades (tipos de tarjetas, acceso a datos), pero **sin necesidad de configuración de acceso** ya que únicamente el propio usuario va a ser quien pueda acceder y gestionar este contenido.

La única manera para que un administrador de tu Organización pueda acceder a los contenidos que los distintos usuarios avanzados han ido creando respectivamente en sus espacios personales, es utilizando la funcionalidad “**Conectar como**” dentro de la zona de administración. De esta manera, se puede recuperar un trabajo individual y poder traspasarlo a espacios compartidos en caso necesario.


# Espacios compartidos

Lo habitual en Organizaciones que trabajan colaborativamente con datos es disponer de páginas y tarjetas en espacios compartidos, en los que se configure el acceso a distintos usuarios y grupos de usuarios, según el contexto de análisis o la estructura dentro de la empresa. Por ejemplo, es común organizar el contenido en espacios compartidos por criterios como:

* **Organigrama empresarial**: dirección de la empresa, departamentos, áreas de responsabilidad, etc.
* **Análisis de datos referidos a momentos o a elementos concretos**: análisis comercial 2020, gestión del proyecto X, estudio de rentabilidad X.

Es conveniente organizar adecuadamente el contenido en espacios compartidos, según su contexto de uso, tanto en el tiempo como en su contenido y **dar nombres adecuados a espacios compartidos y páginas**, para guiar a los usuarios adecuadamente para acceder rápidamente a los datos.

Para acceder a los espacios en Biuwer, utiliza el siguiente icono de la barra lateral izquierda:

![Acceso a los Espacios](/files/-MMuoG9SdskR95e__wmM)

Se muestran por defecto los espacios en **vista gran formato**, tanto el **espacio personal “Mi espacio”** (solo si el usuario conectado es estándar) como los **espacios compartidos**. Desde este listado puedes realizar una búsqueda de espacios por nombre y configurar la ordenación por diversos criterios (ascendente o descendente, por nombre, fecha de creación, fecha de modificación, espacios favoritos primero o no) y también activar la **vista de lista detallada**.

![Listado de espacios en vista gran formato](/files/-MMuoniBWT-2om9nKq4M)

![Listado de espacios en vista de lista detallada](/files/-MMup0F-GajKOb9rWf1l)

La **organización del contenido** siempre ocurre **dentro de los espacios** y es sencilla, ya que **un espacio puede contener páginas y tarjetas**. En las pantallas anteriores puedes ver que para cada espacio compartido se especifican cuántas páginas y cuántas tarjetas tiene contenidas.

A su vez, **una página también actúa como contenedor de tarjetas**, ya que dentro de cada página para ser utilizada adecuadamente debe haber al menos una tarjeta.


# Contenido favorito

Cada usuario puede marcar como favorito cualquier contenido, sean Espacios, Páginas o Tarjetas. Para ello, basta con marcar el icono de la estrella en los distintos listados.

![Gestión de Espacios favoritos en Biuwer](/files/-MMupVoTOUU8j3OL-iiv)

![Gestión de Tarjetas favoritas en Biuwer](/files/-MMupdK3NeeFjd4XauJA)

Marcar contenido como favorito facilita el acceso rápido al contenido pues permite mostrar como primeros elementos los favoritos, para distinguirlos claramente sobre listados potencialmente largos.


# Páginas

Para crear una página, primero de todo, navega al espacio en el que quieres crearla, sea tu espacio personal o un espacio compartido y desde el botón “+” ubicado en la esquina superior derecha, selecciona la opción “Página”.

![Crear una nueva Página en un Espacio](/files/-MMuqHHkDCpPZ7V4ZEQ2)

Automáticamente se va a crear una página vacía de contenido que podemos configurar y añadir contenido, es decir, las tarjetas que la componen.


# Tarjetas

Las tarjetas son el elemento de contenido principal en Biuwer.

Cada tarjeta puede utilizarse individualmente de forma directa o bien incluirse en una o varias páginas, para analizar los datos en diferentes contextos.

![Crear una nueva Tarjeta en un Espacio](/files/-MMuqb-e7AOg1v0Fwac5)

Para crear una tarjeta en un espacio lo primero es seleccionar el tipo de tarjeta a crear. Actualmente tienes disponibles los siguientes tipos de tarjetas, cada uno de los cuales tiene múltiples formas de configurarse, en cuanto a datos y formatos visuales:

* Tabla cruzada
* Tabla vertical
* Gráfico
* KPI
* Mapa
* Tarjeta Personalizada

A continuación tienes el detalle para trabajar con tarjetas en Biuwer:

* [**Editor de Tarjetas de Datos**](/es/gestion-contenidos/tarjetas/editor-tarjetas-datos)
* [**Consultas de datos**](/es/gestion-contenidos/tarjetas/consultas-datos)
* [**Tarjetas KPI**](/es/gestion-contenidos/tarjetas/tarjeta-kpi)
* [**Tarjeta Tabla Vertical**](/es/gestion-contenidos/tarjetas/tarjeta-tabla-vertical)
* [**Tarjeta Tabla Cruzada**](/es/gestion-contenidos/tarjetas/tarjeta-tabla-cruzada)
* [**Tarjeta Gráfico**](/es/gestion-contenidos/tarjetas/tarjeta-grafico)
* [**Tarjeta Mapa**](/es/gestion-contenidos/tarjetas/tarjeta-mapa)
* [**Tarjeta Personalizada**](/es/gestion-contenidos/tarjetas/tarjeta-personalizada)


# Editor de Tarjetas de Datos

Las tarjetas de datos se definen mediante el **Editor de Tarjetas** de Datos, al que accedemos al crear cualquier tarjeta de datos. En cualquier tarjeta de datos es necesario realizar una configuración de la consulta o **consultas de datos** que se realizan sobre los distintos Modelos de Datos previamente definidos y disponibles en nuestra organización.

Dependiendo del tipo de tarjeta, se permite realizar una sola consulta o bien todas las consultas que estimes necesarias. Si una tarjeta permite configurar distintas consultas quiere decir que potencialmente puedes unificar en la misma tarjeta datos que provengan de distintas fuentes de datos. Algunos ejemplos:

* **Tarjetas de KPI**. Puedes incluir en la misma tarjeta valores agregados provenientes de una base de datos, de un fichero CSV o de un API externa.
* **Mapas**. Puedes crear varias capas de datos para mostrarlas sobre el mismo mapa geográfico, una con datos provenientes de una base de datos y otra de un sistema cartográfico externo.
* **Tarjetas personalizadas**. Puedes obtener datos de varias tablas y vistas almacenadas en la misma base de datos o distintas, para utilizarlos como sea necesario a la hora de representar gráficamente la tarjeta (tabla personalizada, gráfico a medida, etc.).




---

[Next Page](/llms-full.txt/1)

