SlideShare a Scribd company logo
1 of 35
Download to read offline
1© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP HANA SPS 10 - What’s New?
Series Data / TimeSeries
SAP HANA Product Management June, 2015
(Delta from SPS 09 to SPS 10)
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 2Public
Disclaimer
This presentation outlines our general product direction and should not be relied on in making
a purchase decision. This presentation is not subject to your license agreement or any other
agreement with SAP.
SAP has no obligation to pursue any course of business outlined in this presentation or to
develop or release any functionality mentioned in this presentation. This presentation and
SAP’s strategy and possible future developments are subject to change and may be changed
by SAP at any time for any reason without notice.
This document is provided without a warranty of any kind, either express or implied, including
but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or
non-infringement. SAP assumes no responsibility for errors or omissions in this document,
except if such damages were caused by SAP intentionally or grossly negligent.
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 3Public
Agenda
 Overview
– Series Data Overview
– SPS09 Summary
– SPS10 Overview
 Store Enhancements
– Enhanced Support for Equidistant Series
– Support for Equidistant Series with Multiple Increments, Offsets
 Query Enhancements
– Updates to SERIES_ROUND
 Analytic Enhancements
– New Analytic Functions
Overview
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 5Public
Series Data Overview
 Series Data synonymous with Time Series
 Series Data support introduced in SPS09 as a core SAP HANA capability
 Series Data - What is it?
– Ordered sequence of data points/measurements
– Measured at points in time or within time intervals
o E.g. Discrete measurement taken from a sensor at every 10s
o E.g. Energy consumed by a home for every 15 minute interval (smart metering)
 Series Data - What do we do with it?
– Analyze and predict
o Extract useful statistical information
o Forecasting
 Series Data – Relevance?
– Foundational technology for IoT
o Industry 4.0 / Industrial Internet of Things (IIoT)
o IT/OT Convergence
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 6Public
Series Data – SPS09 Review
 Support very high volumes of data using effective compression techniques
– Non-lossy compression; all values originally inserted are accessible for auditing/regulatory purpose
 Support both equidistant and non-equidistant data
– Often, source data will be non-equidistant; it will then be “snapped” to an equidistant “grid” for analysis, model
fitting, etc.
 Allow time series manipulation, cleaning, and analytic operations to be expressed naturally in SQL while
maintaining high performance
– Table Creation via CREATE COLUMN TABLE extensions for Series Data
– Efficient grouping to different granularities (GROUP BY SERIES_ROUND(…))
– Built in SQL functions for efficient handling of Series Data
o SERIES_GENERATE; SERIES_DISAGGREGATE; SERIES_ROUND; SERIES_PERIOD_TO_ELEMENT;
SERIES_ELEMENT_TO_PERIOD
– New Analytical SQL Functions
o CORR; CORR_SPEARMAN; LINEAR_APPROX; MEDIAN
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 7Public
Series Data – SPS10 Overview
 Handle timestamp data that is NOT equidistant with a single offset in the entire table
– With good compression for reduced memory consumption
– Range block indexes for efficient handling of range queries
 Enhance SERIES_ROUND with new rounding modes and to accept an offset
– Enhanced usability and greater expressive power for querying series data
 New aggregate and window functions
 CDS Support
Store
 Equidistant series w/ any alignment
 Generated rounded columns
 Piecewise equidistant series
Query
 Round to computed interval
 Granulize (any offset)
Analyze
 AUTO_CORR, CROSS_CORR
 BINNING
 CUBIC_SPLINE_APPROX
 DFT
 RANDOM_PARTITION
 SERIES_FILTER
 WEIGHTED_AVG
 Sliding window support
 {FIRST/NTH/LAST}_VALUE
Store Enhancements
Enhanced Support for Equidistant Series
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 9Public
Enhanced Support for Equidistant Series
Limitations of SPS09
 Restrictions/Limitations in SPS09 on Equidistant Series
– Only one equidistant property per table
o i.e. Only a single INCREMENT BY is supported; Defined at table creation time; Applies to all of the series in the table
o Efficient compression can be provided on the timestamp column (but it had to be exactly aligned on the increment
boundary). i.e. no support for any offset
o Can be encoded as a line t = mx (i.e. single slope ‘m’, no offset from the INCREMENT boundary)
– Data needed to be ordered on INSERT (ordered by ‘Series Key, TimeStamp’) for good compression
 SPS09 Equidistant series support works great for series data and use cases that meet the above criteria
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 10Public
Enhanced Support for Equidistant Series
Many use cases require more flexible handling of timestamps/periods
 But, many use cases where
– ‘runs of data’ where timestamps for consecutive data points differ by a constant interval
o i.e. data effectively has multiple INCREMENTs
o can be due to different intervals for different series in table
o can be due to different intervals within single series in table
– timestamps are not necessarily aligned to INCREMENT boundaries
o i.e. offsets can exist from the INCREMENT boundaries
– often there may be slight local variations in the timestamp, i.e. some “jitter”
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 11Public
New Representation For Timestamps
 Encode series timestamps/periods as t = mx + b + j
t = mx + b + j • x integer value (monotonically increasing)
• m represents slope (i.e. represents INCREMENT BY)
• b is an offset value (locally constant)
• j is a jitter value (can have few distinct values)
 Offers good compression even with different slopes and offsets in the series
– Slight differences from ideal line representation and recorded timestamps (j) represented
efficiently with n-bit compression
 Enables support for alternate periods
– Useful when the period column needs to be offset by some constant
o e.g. for time zone differences; for daylight savings time; differences in starting day of week etc.
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 12Public
Grammar Updates to Support Equidistant Piecewise Series
Supported via CDS
 Note: New syntax currently only supported via CDS and not via CREATE TABLE
– CREATE TABLE support may be provided in a future version
– Use of syntax via SQL statement will give errors
series_definition := SERIES ‘(‘ series_spec_list ‘)’
series_spec_list: SERIES KEY '(' column_name_list ')'
| NO MINVALUE | MINVALUE str_const
| NO MAXVALUE MAXVALUE str_const
| PERIOD FOR SERIES ‘(‘ {column|NULL} [‘,’ {column|NULL}] ‘)’
| series_equidistant_definition
| reorganize_process
| ALTERNATE PERIOD FOR SERIES (column [, column ...])
series_equidistant_definition:
NOT EQUIDISTANT
| EQUIDISTANT INCREMENT BY constant
[MISSING ELEMENTS [NOT] ALLOWED]
| EQUIDISTANT PIECEWISE
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 13Public
Grammar Updates to Support Equidistant Piecewise Series
Supported via CDS
entity Weather {
station_id String(3) not null;
ts_utc UTCTimestamp not null; -- UTC time at start of period
ts_local UTCTimestamp not null; -- local time at start of period
temp Decimal(3,1) not null; -- mean temp ℃
wind_speed Decimal(2) null; -- wind speed (Km/h)
ts_utc_month UTCTimestamp not null; -- period rounded to months
GENERATED ALWAYS AS SERIES_ROUND(ts_utc,’INTERVAL 1 MONTH’);
} SERIES (
SERIES KEY(station_id)
EQUIDISTANT PIECEWISE
PERIOD FOR SERIES (ts_utc)
ALTERNATE PERIOD FOR SERIES(ts_local)
)
CREATE COLUMN TABLE Weather_(
station_id varchar(3) NOT NULL,
ts_utc_ timestamp NULL, --
ts_utc_x_ integer default 0 NOT NULL,
ts_utc_m_ decimal default 1 NOT NULL,
ts_utc_b_ timestamp default timestamp’0001-01-01 00:00’ NOT NULL,
ts_utc_j_ decimal default 0 NOT NULL,
ts_local_ timestamp NULL,
ts_local_d_ decimal default 1 NOT NULL,
temp decimal(3,1) NOT NULL,
wind_speed decimal(2) NULL,
ts_utc_month TIMESTAMP NOT NULL
GENERATED ALWAYS AS
SERIES_ROUND(
COALESCE(ts_utc,
ADD_SECONDS(_series_b, _series_m*_series_x +_series_j))
,’INTERVAL 1 MONTH’)
flags_ int default 0 not null,
) SERIES (
SERIES KEY(station_id)
EQUIDISTANT INCREMENT BY 1
PERIOD FOR SERIES (ts_utc_x)
)
CREATE VIEW Weather AS
SELECT station_id,
COALESCE(ts_utc_, ADD_SECONDS(ts_utc_b_, ts_utc_m_* ts_utc_x_ + ts_utc_j_)
) as ts_utc,
COALESCE(ts_local_, ADD_SECONDS(ts_utc_b_, ts_utc_m_* ts_utc_x_ + ts_utc_j_+ ts_local_o_)
) as ts_local,
temp, wind_speed, ts_utc_month
FROM Weather_;
On activation of
CDS Document
Logical Representation of the series table
Physical Representation of the series table
CDS specification
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 14Public
Representation for Equidistant Piecewise Series
CREATE COLUMN TABLE Weather_(
station_id varchar(3) NOT NULL,
ts_utc_ timestamp NULL, --
ts_utc_x_ integer default 0 NOT NULL,
ts_utc_m_ decimal default 1 NOT NULL,
ts_utc_b_ timestamp default timestamp’0001-01-01 00:00’ NOT NULL,
ts_utc_j_ decimal default 0 NOT NULL,
ts_local_ timestamp NULL,
ts_local_d_ decimal default 1 NOT NULL,
temp decimal(3,1) NOT NULL,
wind_speed decimal(2) NULL,
ts_utc_month TIMESTAMP NOT NULL
GENERATED ALWAYS AS
SERIES_ROUND(
COALESCE(ts_utc,
ADD_SECONDS(_series_b, _series_m*_series_x +_series_j))
,’INTERVAL 1 MONTH’)
flags_ int default 0 not null,
) SERIES (
SERIES KEY(station_id)
EQUIDISTANT INCREMENT BY 1
PERIOD FOR SERIES (ts_utc_x)
)
Physical Representation of the series table • On first insert ts_utc_ is stored unmodified
• After a reorg step the x, m, b, j (ts_utc_x_, etc) are calculated, and ts_utc_ is set to
NULL
• The view is defined to correctly read the original time stamp value or the calculated
timestamp value after the reorganization.
• Using COALESCE
• Reorg is via ALTER TABLE SERIES REORGANIZE command
• Needs to be instantiated by user
• Generated Rounded Columns: Use rounded period columns for good
performance on range queries
Note: in SPS10, the j component is not yet realized. It is set to 0. This will be fixed in a subsequent release.
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 15Public
Equidistant Piecewise Series – Reorg step
ALTER TABLE SERIES REORGANIZE for compression
• On first INSERT the period columns (including alternate period columns) are stored as is (i.e. uncompressed form)
• ALTER TABLE SERIES REORGANIZE is required to store timestamps in their equidistant piecewise form (i.e. x,m,b,j
components) which provides compression
• Reorders the rows by (series key, period) by deleting existing rows (deletion gives good $rowid$ compression by
ensuring rowid matches timely order)
• Equidistant piecewise representation components are calculated (i.e. m, x, b, j) to give good compression while
maintaining the correct timestamp value
• Sets the period column to NULL (after this the timestamps get calculated via the components)
• ALTER TABLE SERIES REORGANIZE
• Needs to be user instantiated
• Can be run against subsets of data (e.g. partitions) and be limited to processing a fixed number of rows during a
run
• Will find the rows that are not optimally encoded and process them
• Should be run against sufficiently large sets of rows (1000’s to 100’s thousands) for good compression
• Is resource intensive – so best run during quiet periods
• M_SERIES_TABLE monitor view returns various statistics on series tables, including no. of rows reorganized
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 16Public
Generated Rounded Columns
Rounded Period Columns for Better Performance on Range Predicates and OLAP Queries
• Generated rounded columns can be used to store period or alternate period columns rounded to a more coarse level
(e.g. day, week, month)
• Have great compression
• Are optional
• Multiple such columns can be created (on different period columns, different levels of coarseness)
• Used automatically by server for improved performance of range predicates on the original column; as well as for OLAP
queries (server can limit no of rows for which exact timestamps need to be calculated)
•
CREATE COLUMN TABLE Weather_(
station_id varchar(3) NOT NULL,
ts_utc_ timestamp NULL, -- ,
…
ts_utc_month TIMESTAMP NOT NULL
GENERATED ALWAYS AS
SERIES_ROUND(
COALESCE(ts_utc,
ADD_SECONDS(_series_b, _series_m*_series_x +_series_j))
,’INTERVAL 1 MONTH’)
…
) SERIES (
SERIES KEY(station_id)
EQUIDISTANT INCREMENT BY 1
PERIOD FOR SERIES (ts_utc_x)
)
• Generated Rounded Columns These store values rounded to a
coarser interval
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 17Public
Summary
Benefits of Equidistant Piecewise Representation
 Order-Independent INSERT w/ no degradation in compression
 Good compression for multiple INCREMENT BY scenarios
 Good Compression for scenarios with multiple offsets from zero in
timestamp
 Good Compression for scenarios where timestamps have jitter
 Support for local time variations w/ good compression
 Efficient range comparisons on timestamp columns
 Efficient GROUP BY for timestamp columns
Query Enhancements
SERIES_ROUND Updates
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 19Public
SERIES_ROUND
New Rounding Modes & Non-Zero Alignment
• New rounding modes especially useful for intervals of months, years => months and years have variable lengths!
• The default rounding mode is ROUND_HALF_UP
• The <alignment_expression> allows specification of a non-zero alignment for the interval datatype
• Allows MINVALUE to have a non-zero offset
• E.g. Allows for summarizing weeks that begin with Mondays (as opposed to Saturdays which is the natural zero 0001-01-01 for the datetime
data type
• Interval widths (INCREMENT BY) can be dynamically specified
Mode Semantics
ROUND_HALF_UP Default value.
The value is rounded to the nearest series value. Values that fall halfway between two series values are rounded up away from zero.
ROUND_HALF_DOWN The value is rounded to the nearest series value. Values that fall halfway between two round values are rounded down towards zero.
ROUND_HALF_EVEN The value is rounded to the nearest series value. Values that fall halfway between two rounded values are rounded to the even series
value based on element number.
ROUND_UP The value is always rounded away from zero, to the larger series value.
ROUND_DOWN The value is always rounded towards zero, to the smaller series value.
ROUND_CEILING The value is always rounded in a positive direction, to the larger series value.
ROUND_FLOOR The value is always rounded in a negative direction, to the smaller series value.
SERIES_ROUND (<value>, {<increment_by> | SERIES TABLE <series_table>} [,
<rounding_mode> [, <alignment_expression>]])
New Rounding Modes
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 20Public
SERIES_ROUND
Examples of Rounding with Month and Year Intervals
Period Length Expression Result with Default
ROUND_HALF_UP
28 days SERIES_ROUND(‘2014-02-14 23:59:59’, ‘INTERVAL 1 MONTH’) 2014-02-01 00:00:00
SERIES_ROUND(‘2014-02-15 00:00:00’, ‘INTERVAL 1 MONTH’) 2014-03-01 00:00:00
29 days SERIES_ROUND(‘2012-02-15 11:59:59’, ‘INTERVAL 1 MONTH’) 2012-02-01 00:00:00
SERIES_ROUND(‘2012-02-15 12:00:00’, ‘INTERVAL 1 MONTH’) 2012-03-01 00:00:00
30 days SERIES_ROUND(‘2014-04-15 23:59:59’, ‘INTERVAL 1 MONTH’) 2014-04-01 00:00:00
SERIES_ROUND(‘2014-04-16 00:00:00’, ‘INTERVAL 1 MONTH’) 2014-05-01 00:00:00
31 days SERIES_ROUND(‘2014-01-16 11:59:59’, ‘INTERVAL 1 MONTH’) 2014-01-01 00:00:00
SERIES_ROUND(‘2014-01-16 12:00:00’, ‘INTERVAL 1 MONTH’) 2014-02-01 00:00:00
59 days
31+28
SERIES_ROUND(‘2014-01-30 11:59:59’, ‘INTERVAL 2 MONTH’) 2014-01-01 00:00:00
SERIES_ROUND(‘2014-01-30 12:00:00’, ‘INTERVAL 2 MONTH’) 2014-03-01 00:00:00
92 days
31+31+30
SERIES_ROUND(‘2014-08-15 23:59:59’, ‘INTERVAL 3 MONTH’) 2014-07-01 00:00:00
SERIES_ROUND(‘2014-08-16 00:00:00’, ‘INTERVAL 3 MONTH’) 2014-10-01 00:00:00
Period Length Expression Result with Default
ROUND_HALF_UP
365 days SERIES_ROUND(‘2014-07-02 11:59:59’, ‘INTERVAL 1 YEAR’) 2014-01-01 00:00:00
SERIES_ROUND(‘2014-07-02 12:00:00’, ‘INTERVAL 1 YEAR’) 2015-01-01 00:00:00
366 days SERIES_ROUND(‘2012-07-01 23:59:59’, ‘INTERVAL 1 YEAR’) 2012-01-01 00:00:00
SERIES_ROUND(‘2012-07-02 00:00:00’, ‘INTERVAL 1 YEAR’) 2013-01-01 00:00:00
730 days
365+365
SERIES_ROUND(‘2014-12-31 23:59:59’, ‘INTERVAL 2 YEAR’) 2014-01-01 00:00:00
SERIES_ROUND(‘2015-01-01 00:00:00’, ‘INTERVAL 2 YEAR’) 2016-01-01 00:00:00
731 days
366+365
SERIES_ROUND(‘2012-12-31 11:59:59’, ‘INTERVAL 2 YEAR’) 2012-01-01 00:00:00
SERIES_ROUND(‘2012-12-31 12:00:00’, ‘INTERVAL 2 YEAR’) 2014-01-01 00:00:00
Note that the rounding result depends on the no of days in the period!
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 21Public
SERIES_ROUND
Examples of Rounding with Specified Alignment Values
Expression Result Explain
SERIES_ROUND(8, 10, 3) 13 because 8 is the midpoint between 3 and 13 and the
default rounding mode ROUND_HALF_UP rounds away
from 0.
SERIES_ROUND(5, 10, 3) 3 because 5 is closer to 3 than 13
SERIES_ROUND(12, 10, 3) 13 because 12 is closer to 13 than 3
SERIES_ROUND(19, 10, 3) 23 because 19 is closer to 23 than 13
SERIES_ROUND( ‘2015-02-27’ , ‘INTERVAL 7 DAY’, ‘2015-01-05 09:00:00’,
ROUND_UP )
‘2015-03-02 09:00:00’ because 2015-01-05 is a Monday, and 2015-02-27 is a
Friday that is closer to Monday 2015-03-02 than to
Monday 2015-02-23.
SERIES_ROUND( ‘2015-03-01’ , ‘INTERVAL 2 MONTH’, ‘2014-02-01’) ‘2015-02-01’ because ‘2015-03-01’ lies closer to ‘2015-02-01’ than to
‘2015-04-01’
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 22Public
SERIES_ROUND
Rounding to an Evaluated Interval Width
Some use cases require a dynamic granularity for the interval width
E.g. To split data into n buckets per year (where n is a variable):
SELECT bucket, max(value)
FROM (
SELECT SERIES_ROUND(ts,'interval ' || 3600*24*365/n || ' second' ) as bucket
, value
FROM T ) D
GROUP BY bucket
Analytic Enhancements
New Analytic Functions
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 24Public
Analytic Functions
Summary of New functions
Function Description
AUTO_CORR(col,maxlag {SERIES(…)
| ORDER BY c1, …})
Aggregate to computes all autocorrelation coefficients for a given input column.
DFT(col,N
{SERIES(…) | ORDER BY c1,…} ).{REAL|IMAGINARY|AMPLITUDE|PHASE}
Aggregate to computes the Discrete Fourier Transform of a column for the first N values
and return an array with exactly N elements.
FIRST_VALUE(col ORDER BY c1,…) [RESPECT NULLS | IGNORE NULLS] Aggregate function to return first value (with given ordering)
LAST_VALUE(col ORDER BY c1,…) [RESPECT NULLS | IGNORE NULLS] Aggregate function to return last value (with given ordering)
NTH_VALUE(col, n ORDER BY c1,…) [RESPECT NULLS | IGNORE NULLS] Aggregate function to return n’th value (with given ordering)
CUBIC_SPLINE_APPROX(col, type, mode, par1, par2 ) OVER (PARTITION BY <…> ORDER BY
<…>)
Window function to replace NULL values with cubic spline approximation
CROSS_CORR(col1,col2,N ORDER BY … ) The cross correlation function computes the correlation between two value columns for
a given number of lags
BINNING(col, name => val) OVER(…) Window function assigning input into bins using different algorithms.
RANDOM_PARTITION(n1,n2,n3,seed) OVER(…) Window function to assign input randomly to different sets (training/validation/test)
WEIGHTED_AVG(col,weight_array) OVER(…) Window function to compute a weighted moving average with the provided weight
values.
SERIES_FILTER(col,filter) OVER(…) A window function that applies filtering or smoothing. For example, exponential
smoothing or an autoregressive filter.
SERIES_FORECAST(model).{FITTED | LOW95 | HIGH95 | LOW80 | HIGH80} OVER (…) Forecast based on a model built using PAL.
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 25Public
Analytic Functions
First, Last, Nth Value Aggregate Functions
Changing the time granularity from days to monthsSAP Stock Price
SELECT min("date") as "date",
first_value("open" order by "date") as "open",
last_value("close" order by "date") as "close",
max("high") as "high",
min("low") as "low",
sum("volume") as "volume"
FROM "I058576"."sap_stock_price"
GROUP BY SERIES_ROUND("date", 'INTERVAL 1 MONTH', ROUND_DOWN)
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 26Public
select distinct GF_ISIN,
TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) AS bin_datetime,
FIRST_VALUE(GF_LAST) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST(
CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' ||
ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as open_price,
max(GF_LAST) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST(
CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' ||
ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as high_price,
min(GF_LAST) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST(
CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' ||
ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as low_price,
LAST_VALUE(GF_LAST) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST(
CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' ||
ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as close_price,
COUNT(GF_LAST) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST(
CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' ||
ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as num_trades,
sum(GF_LAST_VOL) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST(
CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' ||
ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) /
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) *
CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as bin_vol
from RAP_USER.GF_TICKS
where GF_TIME >= '08:59:59.999'
and GF_TIME <= '18:00:00.001'
and GF_DATE ='2012-01-13'
and GF_LAST_VOL > 0
and GF_ISIN = 'DE0007164600'
Query without series feature
Same query with series feature
SELECT min("date") as "date",
first_value("open" order by "date") as "open",
last_value("close" order by "date") as "close",
max("high") as "high",
min("low") as "low",
sum("volume") as "volume"
FROM "I058576"."sap_stock_price"
GROUP BY SERIES_ROUND("date", 'INTERVAL 1 MONTH', ROUND_DOWN)
Analytic Functions
First, Last, Nth Value Aggregate Functions
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 27Public
Analytic Functions
Cubic Spline Approximation
Replacement of null values by interpolating
the gaps and extrapolating any leading or
trailing null values.
Interpolation can be done by
 Linear interpolation
 Cubic spline interpolation
SELECT "ts", "temperature",
linear_approx("temperature") OVER (ORDER BY "ts"),
cubic_spline_approx("temperature") OVER (ORDER BY "ts")
FROM "weather"
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 28Public
Analytic Functions
Auto Correlation and Cross Correlation
Series data function used to find periodic
pattern in the data, like seasonality.
Auto-correlation looks for periodicity between
values of the same series as a function of the
time lag between them.
Cross-correlation looks for periodicity between
values of different series as a function of the
time lag between them
SELECT corr, ordinality AS lag
FROM unnest((
SELECT auto_corr(temperature, 1000 ORDER BY ts)
FROM weather
)) WITH ORDINALITY AS tt(corr)
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 29Public
Analytic Functions
Weighted Moving Average
Data smoothing via weighted moving average
with linearly decreasing weights.
Window frame defines the smoothing window.
SELECT "ts", "temperature",
weighted_avg("temperature") OVER (ORDER BY "ts" ROWS BETWEEN 7 PRECEDING AND CURRENT ROW)
FROM "weather"
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 30Public
Analytic Functions
Filtering of Series Data
Filter function for different filter method
 Exponential smoothing
 Autoregressive and moving average filter
In SPS10 available
 Single exponential smoothing
 Double exponential smoothing
PAL functions integrated into series data.
Support for smoothing and forecasting.
-- single exponential smoothing with a smoothing parameter alpha = 0.2
select "ts", "temperature",
series_filter(value => "temperature", method_name => 'SINGLESMOOTH', alpha => 0.2)
OVER (ORDER BY "ts") AS SINGLESMOOTH
FROM "weather"
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 31Public
Analytic Functions
Binning
Binning assigns data values to bins.
Different binning methods
 Number of equal width bins
 Width of the bins
 Number of bins with equal number of records
 Number of standard deviations left and right from the mean
PAL function integrated into series data
0
5
10
15
20
25
30
35
1 2 3 4 5 6 7 8
-- compute histogram
SELECT bin_number, count(bin_number) as cnt
FROM (
SELECT binning(value => "open", bin_count => 8) OVER (ORDER BY "date") AS bin_number
FROM "I058576"."sap_stock_price"
)
GROUP BY bin_number
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 32Public
Analytic Functions
Random Partition
Partitioning divides the input data into three sets, a
training, a validation, and a test set that are used in
machine learning.
Support for
 Random partitioning
 Stratified partitioning
PAL function integrated into series data
-- stratified partitioning with fractional partition sizes (70% training, 20% validation, 10% test)
SELECT *,
random_partition(0.7, 0.2, 0.1, 42) OVER (PARTITION BY "weather_station") AS "PARTITION"
FROM "weather"
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 33Public
Analytic Functions
Discrete Fourier Transform
Discrete Fourier transforms are used in spectral
analysis of series data, e.g. in vibration analysis.
Computation uses the FFT algorithm and returns
 Amplitude / phase
 Real part / imaginary part
SELECT ordinality AS "frequency", "amplitude"/4096 AS "amplitude"
FROM unnest ((
SELECT dft("amplitude", 4096 order by "ts").amplitude
FROM "vibration"
)) WITH ORDINALITY AS tt(amplitude)
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 34Public
Analytic Functions
Miscellaneous Updates
MEDIAN as window function with arbitrary window frames
CORR_SPEARMAN for character columns
Aggregate functions in the series library
• Standard deviation (sample and population)
• Variance (sample and population)
• Co-Variance (sample and population)
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Thank you
Contact information
Raj Rathee
SAP HANA Product Management
AskSAPHANA@sap.com

More Related Content

What's hot

SAP HANA SPS10- SAP HANA Remote Data Sync
SAP HANA SPS10- SAP HANA Remote Data SyncSAP HANA SPS10- SAP HANA Remote Data Sync
SAP HANA SPS10- SAP HANA Remote Data SyncSAP Technology
 
SAP HANA SPS10- Workload Management
SAP HANA SPS10- Workload ManagementSAP HANA SPS10- Workload Management
SAP HANA SPS10- Workload ManagementSAP Technology
 
SAP HANA SPS10- SAP HANA Development Tools
SAP HANA SPS10- SAP HANA Development ToolsSAP HANA SPS10- SAP HANA Development Tools
SAP HANA SPS10- SAP HANA Development ToolsSAP Technology
 
What's New in SAP HANA View Modeling
What's New in SAP HANA View ModelingWhat's New in SAP HANA View Modeling
What's New in SAP HANA View ModelingSAP Technology
 
SAP HANA SPS10- SAP DB Control Center
SAP HANA SPS10- SAP DB Control CenterSAP HANA SPS10- SAP DB Control Center
SAP HANA SPS10- SAP DB Control CenterSAP Technology
 
SAP HANA Native Application Development
SAP HANA Native Application DevelopmentSAP HANA Native Application Development
SAP HANA Native Application DevelopmentSAP Technology
 
What's New in SPS11 Overview
What's New in SPS11 OverviewWhat's New in SPS11 Overview
What's New in SPS11 OverviewSAP Technology
 
SAP HANA SPS09 - XS Programming Model
SAP HANA SPS09 - XS Programming ModelSAP HANA SPS09 - XS Programming Model
SAP HANA SPS09 - XS Programming ModelSAP Technology
 
What's New in SAP HANA SPS 11 DB Control Center (Operations)
What's New in SAP HANA SPS 11 DB Control Center (Operations)What's New in SAP HANA SPS 11 DB Control Center (Operations)
What's New in SAP HANA SPS 11 DB Control Center (Operations)SAP Technology
 
What's New in SAP HANA SPS 11 Backup and Recovery (Operations)
What's New in SAP HANA SPS 11 Backup and Recovery (Operations)What's New in SAP HANA SPS 11 Backup and Recovery (Operations)
What's New in SAP HANA SPS 11 Backup and Recovery (Operations)SAP Technology
 
What's New in SAP HANA SPS 11 Application Lifecycle Management
What's New in SAP HANA SPS 11 Application Lifecycle ManagementWhat's New in SAP HANA SPS 11 Application Lifecycle Management
What's New in SAP HANA SPS 11 Application Lifecycle ManagementSAP Technology
 
SAP HANA SPS09 - Security
SAP HANA SPS09 - SecuritySAP HANA SPS09 - Security
SAP HANA SPS09 - SecuritySAP Technology
 
What's New in SAP HANA SPS 11 Operations
What's New in SAP HANA SPS 11 OperationsWhat's New in SAP HANA SPS 11 Operations
What's New in SAP HANA SPS 11 OperationsSAP Technology
 
SAP HANA SPS10- Security
SAP HANA SPS10- SecuritySAP HANA SPS10- Security
SAP HANA SPS10- SecuritySAP Technology
 
What's new in SAP HANA SPS 11 Security
What's new in SAP HANA SPS 11 SecurityWhat's new in SAP HANA SPS 11 Security
What's new in SAP HANA SPS 11 SecuritySAP Technology
 
What's new for Text in SAP HANA SPS 11
What's new for Text in SAP HANA SPS 11What's new for Text in SAP HANA SPS 11
What's new for Text in SAP HANA SPS 11SAP Technology
 
SAP HANA SPS10- Backup/Recovery
SAP HANA SPS10- Backup/RecoverySAP HANA SPS10- Backup/Recovery
SAP HANA SPS10- Backup/RecoverySAP Technology
 
SAP HANA SPS09 - Dynamic Tiering
SAP HANA SPS09 - Dynamic TieringSAP HANA SPS09 - Dynamic Tiering
SAP HANA SPS09 - Dynamic TieringSAP Technology
 
SAP HANA SPS09- Administration Monitoring
SAP HANA SPS09- Administration MonitoringSAP HANA SPS09- Administration Monitoring
SAP HANA SPS09- Administration MonitoringSAP Technology
 
SAP HANA SPS09 - HANA Modeling
SAP HANA SPS09 - HANA ModelingSAP HANA SPS09 - HANA Modeling
SAP HANA SPS09 - HANA ModelingSAP Technology
 

What's hot (20)

SAP HANA SPS10- SAP HANA Remote Data Sync
SAP HANA SPS10- SAP HANA Remote Data SyncSAP HANA SPS10- SAP HANA Remote Data Sync
SAP HANA SPS10- SAP HANA Remote Data Sync
 
SAP HANA SPS10- Workload Management
SAP HANA SPS10- Workload ManagementSAP HANA SPS10- Workload Management
SAP HANA SPS10- Workload Management
 
SAP HANA SPS10- SAP HANA Development Tools
SAP HANA SPS10- SAP HANA Development ToolsSAP HANA SPS10- SAP HANA Development Tools
SAP HANA SPS10- SAP HANA Development Tools
 
What's New in SAP HANA View Modeling
What's New in SAP HANA View ModelingWhat's New in SAP HANA View Modeling
What's New in SAP HANA View Modeling
 
SAP HANA SPS10- SAP DB Control Center
SAP HANA SPS10- SAP DB Control CenterSAP HANA SPS10- SAP DB Control Center
SAP HANA SPS10- SAP DB Control Center
 
SAP HANA Native Application Development
SAP HANA Native Application DevelopmentSAP HANA Native Application Development
SAP HANA Native Application Development
 
What's New in SPS11 Overview
What's New in SPS11 OverviewWhat's New in SPS11 Overview
What's New in SPS11 Overview
 
SAP HANA SPS09 - XS Programming Model
SAP HANA SPS09 - XS Programming ModelSAP HANA SPS09 - XS Programming Model
SAP HANA SPS09 - XS Programming Model
 
What's New in SAP HANA SPS 11 DB Control Center (Operations)
What's New in SAP HANA SPS 11 DB Control Center (Operations)What's New in SAP HANA SPS 11 DB Control Center (Operations)
What's New in SAP HANA SPS 11 DB Control Center (Operations)
 
What's New in SAP HANA SPS 11 Backup and Recovery (Operations)
What's New in SAP HANA SPS 11 Backup and Recovery (Operations)What's New in SAP HANA SPS 11 Backup and Recovery (Operations)
What's New in SAP HANA SPS 11 Backup and Recovery (Operations)
 
What's New in SAP HANA SPS 11 Application Lifecycle Management
What's New in SAP HANA SPS 11 Application Lifecycle ManagementWhat's New in SAP HANA SPS 11 Application Lifecycle Management
What's New in SAP HANA SPS 11 Application Lifecycle Management
 
SAP HANA SPS09 - Security
SAP HANA SPS09 - SecuritySAP HANA SPS09 - Security
SAP HANA SPS09 - Security
 
What's New in SAP HANA SPS 11 Operations
What's New in SAP HANA SPS 11 OperationsWhat's New in SAP HANA SPS 11 Operations
What's New in SAP HANA SPS 11 Operations
 
SAP HANA SPS10- Security
SAP HANA SPS10- SecuritySAP HANA SPS10- Security
SAP HANA SPS10- Security
 
What's new in SAP HANA SPS 11 Security
What's new in SAP HANA SPS 11 SecurityWhat's new in SAP HANA SPS 11 Security
What's new in SAP HANA SPS 11 Security
 
What's new for Text in SAP HANA SPS 11
What's new for Text in SAP HANA SPS 11What's new for Text in SAP HANA SPS 11
What's new for Text in SAP HANA SPS 11
 
SAP HANA SPS10- Backup/Recovery
SAP HANA SPS10- Backup/RecoverySAP HANA SPS10- Backup/Recovery
SAP HANA SPS10- Backup/Recovery
 
SAP HANA SPS09 - Dynamic Tiering
SAP HANA SPS09 - Dynamic TieringSAP HANA SPS09 - Dynamic Tiering
SAP HANA SPS09 - Dynamic Tiering
 
SAP HANA SPS09- Administration Monitoring
SAP HANA SPS09- Administration MonitoringSAP HANA SPS09- Administration Monitoring
SAP HANA SPS09- Administration Monitoring
 
SAP HANA SPS09 - HANA Modeling
SAP HANA SPS09 - HANA ModelingSAP HANA SPS09 - HANA Modeling
SAP HANA SPS09 - HANA Modeling
 

Viewers also liked

SAP HANA SPS09 - Series Data
SAP HANA SPS09 - Series DataSAP HANA SPS09 - Series Data
SAP HANA SPS09 - Series DataSAP Technology
 
What's Planned for SAP HANA SPS10
What's Planned for SAP HANA SPS10What's Planned for SAP HANA SPS10
What's Planned for SAP HANA SPS10SAP Technology
 
SAP HANA SPS10- Extended Application Services (XS) Programming Model
SAP HANA SPS10- Extended Application Services (XS) Programming ModelSAP HANA SPS10- Extended Application Services (XS) Programming Model
SAP HANA SPS10- Extended Application Services (XS) Programming ModelSAP Technology
 
What's New for SAP HANA Smart Data Integration & Smart Data Quality
What's New for SAP HANA Smart Data Integration & Smart Data QualityWhat's New for SAP HANA Smart Data Integration & Smart Data Quality
What's New for SAP HANA Smart Data Integration & Smart Data QualitySAP Technology
 
HANA SPS07 Architecture & Landscape
HANA SPS07 Architecture & LandscapeHANA SPS07 Architecture & Landscape
HANA SPS07 Architecture & LandscapeSAP Technology
 
SAP HANA Vora SITMTY 20160707
SAP HANA Vora SITMTY 20160707SAP HANA Vora SITMTY 20160707
SAP HANA Vora SITMTY 20160707Henrique Pinto
 
Why Companies Need New Approaches for Faster Time-to-Insight
Why Companies Need New Approaches for Faster Time-to-Insight Why Companies Need New Approaches for Faster Time-to-Insight
Why Companies Need New Approaches for Faster Time-to-Insight SAP Asia Pacific
 
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANA
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANAFive Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANA
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANASAP Technology
 
Best Practices to Administer, Operate, and Monitor an SAP HANA System
Best Practices to Administer, Operate, and Monitor an SAP HANA SystemBest Practices to Administer, Operate, and Monitor an SAP HANA System
Best Practices to Administer, Operate, and Monitor an SAP HANA SystemSAPinsider Events
 
Mobile Performance Support at Belgian Railways: Future on-the-job-help, learn...
Mobile Performance Support at Belgian Railways: Future on-the-job-help, learn...Mobile Performance Support at Belgian Railways: Future on-the-job-help, learn...
Mobile Performance Support at Belgian Railways: Future on-the-job-help, learn...Thomas Jenewein
 
ABAP Developers, who moved your code?
ABAP Developers, who moved your code?ABAP Developers, who moved your code?
ABAP Developers, who moved your code?Roel van den Berge
 
SAP BusinessObjects BI Platform - What's New in Feature Pack 3
SAP BusinessObjects BI Platform - What's New in Feature Pack 3SAP BusinessObjects BI Platform - What's New in Feature Pack 3
SAP BusinessObjects BI Platform - What's New in Feature Pack 3SAP Analytics
 

Viewers also liked (14)

SAP HANA SPS09 - Series Data
SAP HANA SPS09 - Series DataSAP HANA SPS09 - Series Data
SAP HANA SPS09 - Series Data
 
What's Planned for SAP HANA SPS10
What's Planned for SAP HANA SPS10What's Planned for SAP HANA SPS10
What's Planned for SAP HANA SPS10
 
SAP HANA SPS10- Extended Application Services (XS) Programming Model
SAP HANA SPS10- Extended Application Services (XS) Programming ModelSAP HANA SPS10- Extended Application Services (XS) Programming Model
SAP HANA SPS10- Extended Application Services (XS) Programming Model
 
What's New for SAP HANA Smart Data Integration & Smart Data Quality
What's New for SAP HANA Smart Data Integration & Smart Data QualityWhat's New for SAP HANA Smart Data Integration & Smart Data Quality
What's New for SAP HANA Smart Data Integration & Smart Data Quality
 
HANA SPS07 Architecture & Landscape
HANA SPS07 Architecture & LandscapeHANA SPS07 Architecture & Landscape
HANA SPS07 Architecture & Landscape
 
SAP HANA Vora SITMTY 20160707
SAP HANA Vora SITMTY 20160707SAP HANA Vora SITMTY 20160707
SAP HANA Vora SITMTY 20160707
 
Why Companies Need New Approaches for Faster Time-to-Insight
Why Companies Need New Approaches for Faster Time-to-Insight Why Companies Need New Approaches for Faster Time-to-Insight
Why Companies Need New Approaches for Faster Time-to-Insight
 
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANA
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANAFive Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANA
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANA
 
Best Practices to Administer, Operate, and Monitor an SAP HANA System
Best Practices to Administer, Operate, and Monitor an SAP HANA SystemBest Practices to Administer, Operate, and Monitor an SAP HANA System
Best Practices to Administer, Operate, and Monitor an SAP HANA System
 
Mobile Performance Support at Belgian Railways: Future on-the-job-help, learn...
Mobile Performance Support at Belgian Railways: Future on-the-job-help, learn...Mobile Performance Support at Belgian Railways: Future on-the-job-help, learn...
Mobile Performance Support at Belgian Railways: Future on-the-job-help, learn...
 
ABAP Developers, who moved your code?
ABAP Developers, who moved your code?ABAP Developers, who moved your code?
ABAP Developers, who moved your code?
 
SAP Developers Update
SAP  Developers UpdateSAP  Developers Update
SAP Developers Update
 
SAP TechEd 2015 takeaway
SAP TechEd 2015 takeawaySAP TechEd 2015 takeaway
SAP TechEd 2015 takeaway
 
SAP BusinessObjects BI Platform - What's New in Feature Pack 3
SAP BusinessObjects BI Platform - What's New in Feature Pack 3SAP BusinessObjects BI Platform - What's New in Feature Pack 3
SAP BusinessObjects BI Platform - What's New in Feature Pack 3
 

Similar to SAP HANA SPS10- Series Data/ TimeSeries

SAP HANA SPS08 Administration & Monitoring
SAP HANA SPS08 Administration & MonitoringSAP HANA SPS08 Administration & Monitoring
SAP HANA SPS08 Administration & Monitoring SAP Technology
 
SAP_SLT_Guide_21122015.pdf
SAP_SLT_Guide_21122015.pdfSAP_SLT_Guide_21122015.pdf
SAP_SLT_Guide_21122015.pdfssuser17886a
 
Planning guide sap business suite 7 2013 landscape implementation
Planning guide sap business suite 7 2013  landscape implementationPlanning guide sap business suite 7 2013  landscape implementation
Planning guide sap business suite 7 2013 landscape implementationLeonardo Parpal Roig
 
SAP BASIS Skills for Functional Consultants
SAP BASIS Skills for Functional ConsultantsSAP BASIS Skills for Functional Consultants
SAP BASIS Skills for Functional ConsultantsVasanth S Vasanth
 
SAP HANA SPS10- SQLScript
SAP HANA SPS10- SQLScriptSAP HANA SPS10- SQLScript
SAP HANA SPS10- SQLScriptSAP Technology
 
Sybase ASE 15.7- Two Case Studies of Successful Migration
Sybase ASE 15.7- Two Case Studies of Successful Migration Sybase ASE 15.7- Two Case Studies of Successful Migration
Sybase ASE 15.7- Two Case Studies of Successful Migration SAP Technology
 
SQL Server 2016 novelties
SQL Server 2016 noveltiesSQL Server 2016 novelties
SQL Server 2016 noveltiesMSDEVMTL
 
Sql 2016 - What's New
Sql 2016 - What's NewSql 2016 - What's New
Sql 2016 - What's Newdpcobb
 
Using sap-netweaver-with-dbim-2594359
Using sap-netweaver-with-dbim-2594359Using sap-netweaver-with-dbim-2594359
Using sap-netweaver-with-dbim-2594359Mohsen B
 
SAP ASE 16 SP02 Performance Features
SAP ASE 16 SP02 Performance FeaturesSAP ASE 16 SP02 Performance Features
SAP ASE 16 SP02 Performance FeaturesSAP Technology
 
SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01Argos
 
Storage Optimization and Operational Simplicity in SAP Adaptive Server Enter...
Storage Optimization and Operational Simplicity in SAP  Adaptive Server Enter...Storage Optimization and Operational Simplicity in SAP  Adaptive Server Enter...
Storage Optimization and Operational Simplicity in SAP Adaptive Server Enter...SAP Technology
 
Snowflake Notes_Part_2.docx
Snowflake Notes_Part_2.docxSnowflake Notes_Part_2.docx
Snowflake Notes_Part_2.docxNabumaKhala1
 
Funds management configuration sap ag
Funds management configuration sap agFunds management configuration sap ag
Funds management configuration sap agLluckyy
 
TSQL in SQL Server 2012
TSQL in SQL Server 2012TSQL in SQL Server 2012
TSQL in SQL Server 2012Eduardo Castro
 
SAP HANA SPS09 - SAP HANA Scalability
SAP HANA SPS09 - SAP HANA ScalabilitySAP HANA SPS09 - SAP HANA Scalability
SAP HANA SPS09 - SAP HANA ScalabilitySAP Technology
 
Hands-On Lab: CA PPM Data Warehouse
Hands-On Lab: CA PPM Data WarehouseHands-On Lab: CA PPM Data Warehouse
Hands-On Lab: CA PPM Data WarehouseCA Technologies
 
SAP HANA SPS08 Modeling
SAP HANA SPS08 ModelingSAP HANA SPS08 Modeling
SAP HANA SPS08 ModelingSAP Technology
 

Similar to SAP HANA SPS10- Series Data/ TimeSeries (20)

SAP HANA SPS08 Administration & Monitoring
SAP HANA SPS08 Administration & MonitoringSAP HANA SPS08 Administration & Monitoring
SAP HANA SPS08 Administration & Monitoring
 
SAP_SLT_Guide_21122015.pdf
SAP_SLT_Guide_21122015.pdfSAP_SLT_Guide_21122015.pdf
SAP_SLT_Guide_21122015.pdf
 
Planning guide sap business suite 7 2013 landscape implementation
Planning guide sap business suite 7 2013  landscape implementationPlanning guide sap business suite 7 2013  landscape implementation
Planning guide sap business suite 7 2013 landscape implementation
 
SAP BASIS Skills for Functional Consultants
SAP BASIS Skills for Functional ConsultantsSAP BASIS Skills for Functional Consultants
SAP BASIS Skills for Functional Consultants
 
SAS/Tableau integration
SAS/Tableau integrationSAS/Tableau integration
SAS/Tableau integration
 
SAP HANA SPS10- SQLScript
SAP HANA SPS10- SQLScriptSAP HANA SPS10- SQLScript
SAP HANA SPS10- SQLScript
 
Sybase ASE 15.7- Two Case Studies of Successful Migration
Sybase ASE 15.7- Two Case Studies of Successful Migration Sybase ASE 15.7- Two Case Studies of Successful Migration
Sybase ASE 15.7- Two Case Studies of Successful Migration
 
SQL Server 2016 novelties
SQL Server 2016 noveltiesSQL Server 2016 novelties
SQL Server 2016 novelties
 
Sql 2016 - What's New
Sql 2016 - What's NewSql 2016 - What's New
Sql 2016 - What's New
 
How To Be a Great DBA
How To Be a Great DBAHow To Be a Great DBA
How To Be a Great DBA
 
Using sap-netweaver-with-dbim-2594359
Using sap-netweaver-with-dbim-2594359Using sap-netweaver-with-dbim-2594359
Using sap-netweaver-with-dbim-2594359
 
SAP ASE 16 SP02 Performance Features
SAP ASE 16 SP02 Performance FeaturesSAP ASE 16 SP02 Performance Features
SAP ASE 16 SP02 Performance Features
 
SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01
 
Storage Optimization and Operational Simplicity in SAP Adaptive Server Enter...
Storage Optimization and Operational Simplicity in SAP  Adaptive Server Enter...Storage Optimization and Operational Simplicity in SAP  Adaptive Server Enter...
Storage Optimization and Operational Simplicity in SAP Adaptive Server Enter...
 
Snowflake Notes_Part_2.docx
Snowflake Notes_Part_2.docxSnowflake Notes_Part_2.docx
Snowflake Notes_Part_2.docx
 
Funds management configuration sap ag
Funds management configuration sap agFunds management configuration sap ag
Funds management configuration sap ag
 
TSQL in SQL Server 2012
TSQL in SQL Server 2012TSQL in SQL Server 2012
TSQL in SQL Server 2012
 
SAP HANA SPS09 - SAP HANA Scalability
SAP HANA SPS09 - SAP HANA ScalabilitySAP HANA SPS09 - SAP HANA Scalability
SAP HANA SPS09 - SAP HANA Scalability
 
Hands-On Lab: CA PPM Data Warehouse
Hands-On Lab: CA PPM Data WarehouseHands-On Lab: CA PPM Data Warehouse
Hands-On Lab: CA PPM Data Warehouse
 
SAP HANA SPS08 Modeling
SAP HANA SPS08 ModelingSAP HANA SPS08 Modeling
SAP HANA SPS08 Modeling
 

More from SAP Technology

SAP Integration Suite L1
SAP Integration Suite L1SAP Integration Suite L1
SAP Integration Suite L1SAP Technology
 
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...SAP Technology
 
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...SAP Technology
 
Extend SAP S/4HANA to deliver real-time intelligent processes
Extend SAP S/4HANA to deliver real-time intelligent processesExtend SAP S/4HANA to deliver real-time intelligent processes
Extend SAP S/4HANA to deliver real-time intelligent processesSAP Technology
 
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...SAP Technology
 
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology Platform
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology PlatformAccelerate your journey to SAP S/4HANA with SAP’s Business Technology Platform
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology PlatformSAP Technology
 
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...SAP Technology
 
Transform your business with intelligent insights and SAP S/4HANA
Transform your business with intelligent insights and SAP S/4HANATransform your business with intelligent insights and SAP S/4HANA
Transform your business with intelligent insights and SAP S/4HANASAP Technology
 
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...SAP Technology
 
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...SAP Technology
 
The IoT Imperative for Consumer Products
The IoT Imperative for Consumer ProductsThe IoT Imperative for Consumer Products
The IoT Imperative for Consumer ProductsSAP Technology
 
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...SAP Technology
 
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...SAP Technology
 
The IoT Imperative in Government and Healthcare
The IoT Imperative in Government and HealthcareThe IoT Imperative in Government and Healthcare
The IoT Imperative in Government and HealthcareSAP Technology
 
SAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital CoreSAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital CoreSAP Technology
 
SAP Helps Reduce Silos Between Business and Spatial Data
SAP Helps Reduce Silos Between Business and Spatial DataSAP Helps Reduce Silos Between Business and Spatial Data
SAP Helps Reduce Silos Between Business and Spatial DataSAP Technology
 
Spotlight on Financial Services with Calypso and SAP ASE
Spotlight on Financial Services with Calypso and SAP ASESpotlight on Financial Services with Calypso and SAP ASE
Spotlight on Financial Services with Calypso and SAP ASESAP Technology
 
Spark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business OperationsSpark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business OperationsSAP Technology
 
What's New in SAP HANA SPS 11 Platform Lifecycle Management (Operations)
What's New in SAP HANA SPS 11 Platform Lifecycle Management (Operations)What's New in SAP HANA SPS 11 Platform Lifecycle Management (Operations)
What's New in SAP HANA SPS 11 Platform Lifecycle Management (Operations)SAP Technology
 

More from SAP Technology (20)

SAP Integration Suite L1
SAP Integration Suite L1SAP Integration Suite L1
SAP Integration Suite L1
 
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...
 
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...
 
Extend SAP S/4HANA to deliver real-time intelligent processes
Extend SAP S/4HANA to deliver real-time intelligent processesExtend SAP S/4HANA to deliver real-time intelligent processes
Extend SAP S/4HANA to deliver real-time intelligent processes
 
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...
 
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology Platform
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology PlatformAccelerate your journey to SAP S/4HANA with SAP’s Business Technology Platform
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology Platform
 
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...
 
Transform your business with intelligent insights and SAP S/4HANA
Transform your business with intelligent insights and SAP S/4HANATransform your business with intelligent insights and SAP S/4HANA
Transform your business with intelligent insights and SAP S/4HANA
 
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...
 
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...
 
The IoT Imperative for Consumer Products
The IoT Imperative for Consumer ProductsThe IoT Imperative for Consumer Products
The IoT Imperative for Consumer Products
 
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...
 
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...
 
The IoT Imperative in Government and Healthcare
The IoT Imperative in Government and HealthcareThe IoT Imperative in Government and Healthcare
The IoT Imperative in Government and Healthcare
 
SAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital CoreSAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital Core
 
SAP Helps Reduce Silos Between Business and Spatial Data
SAP Helps Reduce Silos Between Business and Spatial DataSAP Helps Reduce Silos Between Business and Spatial Data
SAP Helps Reduce Silos Between Business and Spatial Data
 
Why SAP HANA?
Why SAP HANA?Why SAP HANA?
Why SAP HANA?
 
Spotlight on Financial Services with Calypso and SAP ASE
Spotlight on Financial Services with Calypso and SAP ASESpotlight on Financial Services with Calypso and SAP ASE
Spotlight on Financial Services with Calypso and SAP ASE
 
Spark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business OperationsSpark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business Operations
 
What's New in SAP HANA SPS 11 Platform Lifecycle Management (Operations)
What's New in SAP HANA SPS 11 Platform Lifecycle Management (Operations)What's New in SAP HANA SPS 11 Platform Lifecycle Management (Operations)
What's New in SAP HANA SPS 11 Platform Lifecycle Management (Operations)
 

Recently uploaded

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

SAP HANA SPS10- Series Data/ TimeSeries

  • 1. 1© 2014 SAP AG or an SAP affiliate company. All rights reserved. SAP HANA SPS 10 - What’s New? Series Data / TimeSeries SAP HANA Product Management June, 2015 (Delta from SPS 09 to SPS 10)
  • 2. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 2Public Disclaimer This presentation outlines our general product direction and should not be relied on in making a purchase decision. This presentation is not subject to your license agreement or any other agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to develop or release any functionality mentioned in this presentation. This presentation and SAP’s strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice. This document is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP intentionally or grossly negligent.
  • 3. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 3Public Agenda  Overview – Series Data Overview – SPS09 Summary – SPS10 Overview  Store Enhancements – Enhanced Support for Equidistant Series – Support for Equidistant Series with Multiple Increments, Offsets  Query Enhancements – Updates to SERIES_ROUND  Analytic Enhancements – New Analytic Functions
  • 5. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 5Public Series Data Overview  Series Data synonymous with Time Series  Series Data support introduced in SPS09 as a core SAP HANA capability  Series Data - What is it? – Ordered sequence of data points/measurements – Measured at points in time or within time intervals o E.g. Discrete measurement taken from a sensor at every 10s o E.g. Energy consumed by a home for every 15 minute interval (smart metering)  Series Data - What do we do with it? – Analyze and predict o Extract useful statistical information o Forecasting  Series Data – Relevance? – Foundational technology for IoT o Industry 4.0 / Industrial Internet of Things (IIoT) o IT/OT Convergence
  • 6. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 6Public Series Data – SPS09 Review  Support very high volumes of data using effective compression techniques – Non-lossy compression; all values originally inserted are accessible for auditing/regulatory purpose  Support both equidistant and non-equidistant data – Often, source data will be non-equidistant; it will then be “snapped” to an equidistant “grid” for analysis, model fitting, etc.  Allow time series manipulation, cleaning, and analytic operations to be expressed naturally in SQL while maintaining high performance – Table Creation via CREATE COLUMN TABLE extensions for Series Data – Efficient grouping to different granularities (GROUP BY SERIES_ROUND(…)) – Built in SQL functions for efficient handling of Series Data o SERIES_GENERATE; SERIES_DISAGGREGATE; SERIES_ROUND; SERIES_PERIOD_TO_ELEMENT; SERIES_ELEMENT_TO_PERIOD – New Analytical SQL Functions o CORR; CORR_SPEARMAN; LINEAR_APPROX; MEDIAN
  • 7. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 7Public Series Data – SPS10 Overview  Handle timestamp data that is NOT equidistant with a single offset in the entire table – With good compression for reduced memory consumption – Range block indexes for efficient handling of range queries  Enhance SERIES_ROUND with new rounding modes and to accept an offset – Enhanced usability and greater expressive power for querying series data  New aggregate and window functions  CDS Support Store  Equidistant series w/ any alignment  Generated rounded columns  Piecewise equidistant series Query  Round to computed interval  Granulize (any offset) Analyze  AUTO_CORR, CROSS_CORR  BINNING  CUBIC_SPLINE_APPROX  DFT  RANDOM_PARTITION  SERIES_FILTER  WEIGHTED_AVG  Sliding window support  {FIRST/NTH/LAST}_VALUE
  • 8. Store Enhancements Enhanced Support for Equidistant Series
  • 9. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 9Public Enhanced Support for Equidistant Series Limitations of SPS09  Restrictions/Limitations in SPS09 on Equidistant Series – Only one equidistant property per table o i.e. Only a single INCREMENT BY is supported; Defined at table creation time; Applies to all of the series in the table o Efficient compression can be provided on the timestamp column (but it had to be exactly aligned on the increment boundary). i.e. no support for any offset o Can be encoded as a line t = mx (i.e. single slope ‘m’, no offset from the INCREMENT boundary) – Data needed to be ordered on INSERT (ordered by ‘Series Key, TimeStamp’) for good compression  SPS09 Equidistant series support works great for series data and use cases that meet the above criteria
  • 10. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 10Public Enhanced Support for Equidistant Series Many use cases require more flexible handling of timestamps/periods  But, many use cases where – ‘runs of data’ where timestamps for consecutive data points differ by a constant interval o i.e. data effectively has multiple INCREMENTs o can be due to different intervals for different series in table o can be due to different intervals within single series in table – timestamps are not necessarily aligned to INCREMENT boundaries o i.e. offsets can exist from the INCREMENT boundaries – often there may be slight local variations in the timestamp, i.e. some “jitter”
  • 11. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 11Public New Representation For Timestamps  Encode series timestamps/periods as t = mx + b + j t = mx + b + j • x integer value (monotonically increasing) • m represents slope (i.e. represents INCREMENT BY) • b is an offset value (locally constant) • j is a jitter value (can have few distinct values)  Offers good compression even with different slopes and offsets in the series – Slight differences from ideal line representation and recorded timestamps (j) represented efficiently with n-bit compression  Enables support for alternate periods – Useful when the period column needs to be offset by some constant o e.g. for time zone differences; for daylight savings time; differences in starting day of week etc.
  • 12. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 12Public Grammar Updates to Support Equidistant Piecewise Series Supported via CDS  Note: New syntax currently only supported via CDS and not via CREATE TABLE – CREATE TABLE support may be provided in a future version – Use of syntax via SQL statement will give errors series_definition := SERIES ‘(‘ series_spec_list ‘)’ series_spec_list: SERIES KEY '(' column_name_list ')' | NO MINVALUE | MINVALUE str_const | NO MAXVALUE MAXVALUE str_const | PERIOD FOR SERIES ‘(‘ {column|NULL} [‘,’ {column|NULL}] ‘)’ | series_equidistant_definition | reorganize_process | ALTERNATE PERIOD FOR SERIES (column [, column ...]) series_equidistant_definition: NOT EQUIDISTANT | EQUIDISTANT INCREMENT BY constant [MISSING ELEMENTS [NOT] ALLOWED] | EQUIDISTANT PIECEWISE
  • 13. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 13Public Grammar Updates to Support Equidistant Piecewise Series Supported via CDS entity Weather { station_id String(3) not null; ts_utc UTCTimestamp not null; -- UTC time at start of period ts_local UTCTimestamp not null; -- local time at start of period temp Decimal(3,1) not null; -- mean temp ℃ wind_speed Decimal(2) null; -- wind speed (Km/h) ts_utc_month UTCTimestamp not null; -- period rounded to months GENERATED ALWAYS AS SERIES_ROUND(ts_utc,’INTERVAL 1 MONTH’); } SERIES ( SERIES KEY(station_id) EQUIDISTANT PIECEWISE PERIOD FOR SERIES (ts_utc) ALTERNATE PERIOD FOR SERIES(ts_local) ) CREATE COLUMN TABLE Weather_( station_id varchar(3) NOT NULL, ts_utc_ timestamp NULL, -- ts_utc_x_ integer default 0 NOT NULL, ts_utc_m_ decimal default 1 NOT NULL, ts_utc_b_ timestamp default timestamp’0001-01-01 00:00’ NOT NULL, ts_utc_j_ decimal default 0 NOT NULL, ts_local_ timestamp NULL, ts_local_d_ decimal default 1 NOT NULL, temp decimal(3,1) NOT NULL, wind_speed decimal(2) NULL, ts_utc_month TIMESTAMP NOT NULL GENERATED ALWAYS AS SERIES_ROUND( COALESCE(ts_utc, ADD_SECONDS(_series_b, _series_m*_series_x +_series_j)) ,’INTERVAL 1 MONTH’) flags_ int default 0 not null, ) SERIES ( SERIES KEY(station_id) EQUIDISTANT INCREMENT BY 1 PERIOD FOR SERIES (ts_utc_x) ) CREATE VIEW Weather AS SELECT station_id, COALESCE(ts_utc_, ADD_SECONDS(ts_utc_b_, ts_utc_m_* ts_utc_x_ + ts_utc_j_) ) as ts_utc, COALESCE(ts_local_, ADD_SECONDS(ts_utc_b_, ts_utc_m_* ts_utc_x_ + ts_utc_j_+ ts_local_o_) ) as ts_local, temp, wind_speed, ts_utc_month FROM Weather_; On activation of CDS Document Logical Representation of the series table Physical Representation of the series table CDS specification
  • 14. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 14Public Representation for Equidistant Piecewise Series CREATE COLUMN TABLE Weather_( station_id varchar(3) NOT NULL, ts_utc_ timestamp NULL, -- ts_utc_x_ integer default 0 NOT NULL, ts_utc_m_ decimal default 1 NOT NULL, ts_utc_b_ timestamp default timestamp’0001-01-01 00:00’ NOT NULL, ts_utc_j_ decimal default 0 NOT NULL, ts_local_ timestamp NULL, ts_local_d_ decimal default 1 NOT NULL, temp decimal(3,1) NOT NULL, wind_speed decimal(2) NULL, ts_utc_month TIMESTAMP NOT NULL GENERATED ALWAYS AS SERIES_ROUND( COALESCE(ts_utc, ADD_SECONDS(_series_b, _series_m*_series_x +_series_j)) ,’INTERVAL 1 MONTH’) flags_ int default 0 not null, ) SERIES ( SERIES KEY(station_id) EQUIDISTANT INCREMENT BY 1 PERIOD FOR SERIES (ts_utc_x) ) Physical Representation of the series table • On first insert ts_utc_ is stored unmodified • After a reorg step the x, m, b, j (ts_utc_x_, etc) are calculated, and ts_utc_ is set to NULL • The view is defined to correctly read the original time stamp value or the calculated timestamp value after the reorganization. • Using COALESCE • Reorg is via ALTER TABLE SERIES REORGANIZE command • Needs to be instantiated by user • Generated Rounded Columns: Use rounded period columns for good performance on range queries Note: in SPS10, the j component is not yet realized. It is set to 0. This will be fixed in a subsequent release.
  • 15. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 15Public Equidistant Piecewise Series – Reorg step ALTER TABLE SERIES REORGANIZE for compression • On first INSERT the period columns (including alternate period columns) are stored as is (i.e. uncompressed form) • ALTER TABLE SERIES REORGANIZE is required to store timestamps in their equidistant piecewise form (i.e. x,m,b,j components) which provides compression • Reorders the rows by (series key, period) by deleting existing rows (deletion gives good $rowid$ compression by ensuring rowid matches timely order) • Equidistant piecewise representation components are calculated (i.e. m, x, b, j) to give good compression while maintaining the correct timestamp value • Sets the period column to NULL (after this the timestamps get calculated via the components) • ALTER TABLE SERIES REORGANIZE • Needs to be user instantiated • Can be run against subsets of data (e.g. partitions) and be limited to processing a fixed number of rows during a run • Will find the rows that are not optimally encoded and process them • Should be run against sufficiently large sets of rows (1000’s to 100’s thousands) for good compression • Is resource intensive – so best run during quiet periods • M_SERIES_TABLE monitor view returns various statistics on series tables, including no. of rows reorganized
  • 16. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 16Public Generated Rounded Columns Rounded Period Columns for Better Performance on Range Predicates and OLAP Queries • Generated rounded columns can be used to store period or alternate period columns rounded to a more coarse level (e.g. day, week, month) • Have great compression • Are optional • Multiple such columns can be created (on different period columns, different levels of coarseness) • Used automatically by server for improved performance of range predicates on the original column; as well as for OLAP queries (server can limit no of rows for which exact timestamps need to be calculated) • CREATE COLUMN TABLE Weather_( station_id varchar(3) NOT NULL, ts_utc_ timestamp NULL, -- , … ts_utc_month TIMESTAMP NOT NULL GENERATED ALWAYS AS SERIES_ROUND( COALESCE(ts_utc, ADD_SECONDS(_series_b, _series_m*_series_x +_series_j)) ,’INTERVAL 1 MONTH’) … ) SERIES ( SERIES KEY(station_id) EQUIDISTANT INCREMENT BY 1 PERIOD FOR SERIES (ts_utc_x) ) • Generated Rounded Columns These store values rounded to a coarser interval
  • 17. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 17Public Summary Benefits of Equidistant Piecewise Representation  Order-Independent INSERT w/ no degradation in compression  Good compression for multiple INCREMENT BY scenarios  Good Compression for scenarios with multiple offsets from zero in timestamp  Good Compression for scenarios where timestamps have jitter  Support for local time variations w/ good compression  Efficient range comparisons on timestamp columns  Efficient GROUP BY for timestamp columns
  • 19. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 19Public SERIES_ROUND New Rounding Modes & Non-Zero Alignment • New rounding modes especially useful for intervals of months, years => months and years have variable lengths! • The default rounding mode is ROUND_HALF_UP • The <alignment_expression> allows specification of a non-zero alignment for the interval datatype • Allows MINVALUE to have a non-zero offset • E.g. Allows for summarizing weeks that begin with Mondays (as opposed to Saturdays which is the natural zero 0001-01-01 for the datetime data type • Interval widths (INCREMENT BY) can be dynamically specified Mode Semantics ROUND_HALF_UP Default value. The value is rounded to the nearest series value. Values that fall halfway between two series values are rounded up away from zero. ROUND_HALF_DOWN The value is rounded to the nearest series value. Values that fall halfway between two round values are rounded down towards zero. ROUND_HALF_EVEN The value is rounded to the nearest series value. Values that fall halfway between two rounded values are rounded to the even series value based on element number. ROUND_UP The value is always rounded away from zero, to the larger series value. ROUND_DOWN The value is always rounded towards zero, to the smaller series value. ROUND_CEILING The value is always rounded in a positive direction, to the larger series value. ROUND_FLOOR The value is always rounded in a negative direction, to the smaller series value. SERIES_ROUND (<value>, {<increment_by> | SERIES TABLE <series_table>} [, <rounding_mode> [, <alignment_expression>]]) New Rounding Modes
  • 20. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 20Public SERIES_ROUND Examples of Rounding with Month and Year Intervals Period Length Expression Result with Default ROUND_HALF_UP 28 days SERIES_ROUND(‘2014-02-14 23:59:59’, ‘INTERVAL 1 MONTH’) 2014-02-01 00:00:00 SERIES_ROUND(‘2014-02-15 00:00:00’, ‘INTERVAL 1 MONTH’) 2014-03-01 00:00:00 29 days SERIES_ROUND(‘2012-02-15 11:59:59’, ‘INTERVAL 1 MONTH’) 2012-02-01 00:00:00 SERIES_ROUND(‘2012-02-15 12:00:00’, ‘INTERVAL 1 MONTH’) 2012-03-01 00:00:00 30 days SERIES_ROUND(‘2014-04-15 23:59:59’, ‘INTERVAL 1 MONTH’) 2014-04-01 00:00:00 SERIES_ROUND(‘2014-04-16 00:00:00’, ‘INTERVAL 1 MONTH’) 2014-05-01 00:00:00 31 days SERIES_ROUND(‘2014-01-16 11:59:59’, ‘INTERVAL 1 MONTH’) 2014-01-01 00:00:00 SERIES_ROUND(‘2014-01-16 12:00:00’, ‘INTERVAL 1 MONTH’) 2014-02-01 00:00:00 59 days 31+28 SERIES_ROUND(‘2014-01-30 11:59:59’, ‘INTERVAL 2 MONTH’) 2014-01-01 00:00:00 SERIES_ROUND(‘2014-01-30 12:00:00’, ‘INTERVAL 2 MONTH’) 2014-03-01 00:00:00 92 days 31+31+30 SERIES_ROUND(‘2014-08-15 23:59:59’, ‘INTERVAL 3 MONTH’) 2014-07-01 00:00:00 SERIES_ROUND(‘2014-08-16 00:00:00’, ‘INTERVAL 3 MONTH’) 2014-10-01 00:00:00 Period Length Expression Result with Default ROUND_HALF_UP 365 days SERIES_ROUND(‘2014-07-02 11:59:59’, ‘INTERVAL 1 YEAR’) 2014-01-01 00:00:00 SERIES_ROUND(‘2014-07-02 12:00:00’, ‘INTERVAL 1 YEAR’) 2015-01-01 00:00:00 366 days SERIES_ROUND(‘2012-07-01 23:59:59’, ‘INTERVAL 1 YEAR’) 2012-01-01 00:00:00 SERIES_ROUND(‘2012-07-02 00:00:00’, ‘INTERVAL 1 YEAR’) 2013-01-01 00:00:00 730 days 365+365 SERIES_ROUND(‘2014-12-31 23:59:59’, ‘INTERVAL 2 YEAR’) 2014-01-01 00:00:00 SERIES_ROUND(‘2015-01-01 00:00:00’, ‘INTERVAL 2 YEAR’) 2016-01-01 00:00:00 731 days 366+365 SERIES_ROUND(‘2012-12-31 11:59:59’, ‘INTERVAL 2 YEAR’) 2012-01-01 00:00:00 SERIES_ROUND(‘2012-12-31 12:00:00’, ‘INTERVAL 2 YEAR’) 2014-01-01 00:00:00 Note that the rounding result depends on the no of days in the period!
  • 21. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 21Public SERIES_ROUND Examples of Rounding with Specified Alignment Values Expression Result Explain SERIES_ROUND(8, 10, 3) 13 because 8 is the midpoint between 3 and 13 and the default rounding mode ROUND_HALF_UP rounds away from 0. SERIES_ROUND(5, 10, 3) 3 because 5 is closer to 3 than 13 SERIES_ROUND(12, 10, 3) 13 because 12 is closer to 13 than 3 SERIES_ROUND(19, 10, 3) 23 because 19 is closer to 23 than 13 SERIES_ROUND( ‘2015-02-27’ , ‘INTERVAL 7 DAY’, ‘2015-01-05 09:00:00’, ROUND_UP ) ‘2015-03-02 09:00:00’ because 2015-01-05 is a Monday, and 2015-02-27 is a Friday that is closer to Monday 2015-03-02 than to Monday 2015-02-23. SERIES_ROUND( ‘2015-03-01’ , ‘INTERVAL 2 MONTH’, ‘2014-02-01’) ‘2015-02-01’ because ‘2015-03-01’ lies closer to ‘2015-02-01’ than to ‘2015-04-01’
  • 22. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 22Public SERIES_ROUND Rounding to an Evaluated Interval Width Some use cases require a dynamic granularity for the interval width E.g. To split data into n buckets per year (where n is a variable): SELECT bucket, max(value) FROM ( SELECT SERIES_ROUND(ts,'interval ' || 3600*24*365/n || ' second' ) as bucket , value FROM T ) D GROUP BY bucket
  • 24. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 24Public Analytic Functions Summary of New functions Function Description AUTO_CORR(col,maxlag {SERIES(…) | ORDER BY c1, …}) Aggregate to computes all autocorrelation coefficients for a given input column. DFT(col,N {SERIES(…) | ORDER BY c1,…} ).{REAL|IMAGINARY|AMPLITUDE|PHASE} Aggregate to computes the Discrete Fourier Transform of a column for the first N values and return an array with exactly N elements. FIRST_VALUE(col ORDER BY c1,…) [RESPECT NULLS | IGNORE NULLS] Aggregate function to return first value (with given ordering) LAST_VALUE(col ORDER BY c1,…) [RESPECT NULLS | IGNORE NULLS] Aggregate function to return last value (with given ordering) NTH_VALUE(col, n ORDER BY c1,…) [RESPECT NULLS | IGNORE NULLS] Aggregate function to return n’th value (with given ordering) CUBIC_SPLINE_APPROX(col, type, mode, par1, par2 ) OVER (PARTITION BY <…> ORDER BY <…>) Window function to replace NULL values with cubic spline approximation CROSS_CORR(col1,col2,N ORDER BY … ) The cross correlation function computes the correlation between two value columns for a given number of lags BINNING(col, name => val) OVER(…) Window function assigning input into bins using different algorithms. RANDOM_PARTITION(n1,n2,n3,seed) OVER(…) Window function to assign input randomly to different sets (training/validation/test) WEIGHTED_AVG(col,weight_array) OVER(…) Window function to compute a weighted moving average with the provided weight values. SERIES_FILTER(col,filter) OVER(…) A window function that applies filtering or smoothing. For example, exponential smoothing or an autoregressive filter. SERIES_FORECAST(model).{FITTED | LOW95 | HIGH95 | LOW80 | HIGH80} OVER (…) Forecast based on a model built using PAL.
  • 25. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 25Public Analytic Functions First, Last, Nth Value Aggregate Functions Changing the time granularity from days to monthsSAP Stock Price SELECT min("date") as "date", first_value("open" order by "date") as "open", last_value("close" order by "date") as "close", max("high") as "high", min("low") as "low", sum("volume") as "volume" FROM "I058576"."sap_stock_price" GROUP BY SERIES_ROUND("date", 'INTERVAL 1 MONTH', ROUND_DOWN)
  • 26. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 26Public select distinct GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) AS bin_datetime, FIRST_VALUE(GF_LAST) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as open_price, max(GF_LAST) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as high_price, min(GF_LAST) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as low_price, LAST_VALUE(GF_LAST) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as close_price, COUNT(GF_LAST) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as num_trades, sum(GF_LAST_VOL) over (partition by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER))) order by GF_ISIN, TO_TIMESTAMP(GF_DATE || ' ' || ADD_SECONDS('09:00:00.000',CAST( CEIL(SECONDS_BETWEEN('09:00:00.000',GF_TIME) / CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200)) * CEIL(1+SECONDS_BETWEEN('09:00:00.000','18:00:00.000' ) /200) as INTEGER)))) as bin_vol from RAP_USER.GF_TICKS where GF_TIME >= '08:59:59.999' and GF_TIME <= '18:00:00.001' and GF_DATE ='2012-01-13' and GF_LAST_VOL > 0 and GF_ISIN = 'DE0007164600' Query without series feature Same query with series feature SELECT min("date") as "date", first_value("open" order by "date") as "open", last_value("close" order by "date") as "close", max("high") as "high", min("low") as "low", sum("volume") as "volume" FROM "I058576"."sap_stock_price" GROUP BY SERIES_ROUND("date", 'INTERVAL 1 MONTH', ROUND_DOWN) Analytic Functions First, Last, Nth Value Aggregate Functions
  • 27. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 27Public Analytic Functions Cubic Spline Approximation Replacement of null values by interpolating the gaps and extrapolating any leading or trailing null values. Interpolation can be done by  Linear interpolation  Cubic spline interpolation SELECT "ts", "temperature", linear_approx("temperature") OVER (ORDER BY "ts"), cubic_spline_approx("temperature") OVER (ORDER BY "ts") FROM "weather"
  • 28. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 28Public Analytic Functions Auto Correlation and Cross Correlation Series data function used to find periodic pattern in the data, like seasonality. Auto-correlation looks for periodicity between values of the same series as a function of the time lag between them. Cross-correlation looks for periodicity between values of different series as a function of the time lag between them SELECT corr, ordinality AS lag FROM unnest(( SELECT auto_corr(temperature, 1000 ORDER BY ts) FROM weather )) WITH ORDINALITY AS tt(corr)
  • 29. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 29Public Analytic Functions Weighted Moving Average Data smoothing via weighted moving average with linearly decreasing weights. Window frame defines the smoothing window. SELECT "ts", "temperature", weighted_avg("temperature") OVER (ORDER BY "ts" ROWS BETWEEN 7 PRECEDING AND CURRENT ROW) FROM "weather"
  • 30. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 30Public Analytic Functions Filtering of Series Data Filter function for different filter method  Exponential smoothing  Autoregressive and moving average filter In SPS10 available  Single exponential smoothing  Double exponential smoothing PAL functions integrated into series data. Support for smoothing and forecasting. -- single exponential smoothing with a smoothing parameter alpha = 0.2 select "ts", "temperature", series_filter(value => "temperature", method_name => 'SINGLESMOOTH', alpha => 0.2) OVER (ORDER BY "ts") AS SINGLESMOOTH FROM "weather"
  • 31. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 31Public Analytic Functions Binning Binning assigns data values to bins. Different binning methods  Number of equal width bins  Width of the bins  Number of bins with equal number of records  Number of standard deviations left and right from the mean PAL function integrated into series data 0 5 10 15 20 25 30 35 1 2 3 4 5 6 7 8 -- compute histogram SELECT bin_number, count(bin_number) as cnt FROM ( SELECT binning(value => "open", bin_count => 8) OVER (ORDER BY "date") AS bin_number FROM "I058576"."sap_stock_price" ) GROUP BY bin_number
  • 32. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 32Public Analytic Functions Random Partition Partitioning divides the input data into three sets, a training, a validation, and a test set that are used in machine learning. Support for  Random partitioning  Stratified partitioning PAL function integrated into series data -- stratified partitioning with fractional partition sizes (70% training, 20% validation, 10% test) SELECT *, random_partition(0.7, 0.2, 0.1, 42) OVER (PARTITION BY "weather_station") AS "PARTITION" FROM "weather"
  • 33. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 33Public Analytic Functions Discrete Fourier Transform Discrete Fourier transforms are used in spectral analysis of series data, e.g. in vibration analysis. Computation uses the FFT algorithm and returns  Amplitude / phase  Real part / imaginary part SELECT ordinality AS "frequency", "amplitude"/4096 AS "amplitude" FROM unnest (( SELECT dft("amplitude", 4096 order by "ts").amplitude FROM "vibration" )) WITH ORDINALITY AS tt(amplitude)
  • 34. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 34Public Analytic Functions Miscellaneous Updates MEDIAN as window function with arbitrary window frames CORR_SPEARMAN for character columns Aggregate functions in the series library • Standard deviation (sample and population) • Variance (sample and population) • Co-Variance (sample and population)
  • 35. © 2015 SAP SE or an SAP affiliate company. All rights reserved. Thank you Contact information Raj Rathee SAP HANA Product Management AskSAPHANA@sap.com