28#include <unordered_set>
31#define SC_DAPI_HIERARCHY_FLAT 0
32#define SC_DAPI_HIERARCHY_QUARTER 1
33#define SC_DAPI_HIERARCHY_WEEK 2
35#define SC_DAPI_FLAT_LEVELS 1
36#define SC_DAPI_QUARTER_LEVELS 4
37#define SC_DAPI_WEEK_LEVELS 3
39#define SC_DAPI_LEVEL_YEAR 0
40#define SC_DAPI_LEVEL_QUARTER 1
41#define SC_DAPI_LEVEL_MONTH 2
42#define SC_DAPI_LEVEL_DAY 3
43#define SC_DAPI_LEVEL_WEEK 4
44#define SC_DAPI_LEVEL_WEEKDAY 5
92 OUString GetFormattedString(sal_Int32 nDim,
const ScDPItemData& rItem,
bool bLocaleIndependent)
const;
100 virtual const std::vector< SCROW >& GetColumnEntries( sal_Int32 nColumn ) ;
104 virtual sal_uInt32 GetNumberFormat(sal_Int32 nDim);
107 virtual void SetEmptyFlags(
bool bIgnoreEmptyRows,
bool bRepeatIfEmpty ) = 0;
109 virtual bool IsRepeatIfEmpty();
112 virtual void FilterCacheTable(std::vector<ScDPFilteredCache::Criterion>&& rCriteria, std::unordered_set<sal_Int32>&& rDataDims) = 0;
114 std::unordered_set<sal_Int32>&& rCatDims,
115 css::uno::Sequence< css::uno::Sequence< css::uno::Any > >& rData) = 0;
121 virtual bool IsBaseForGroup(sal_Int32 nDim)
const;
122 virtual sal_Int32 GetGroupBase(sal_Int32 nGroupDim)
const;
123 virtual bool IsNumOrDateGroup(sal_Int32 nDim)
const;
124 virtual bool IsInGroup(
const ScDPItemData& rGroupData, sal_Int32 nGroupIndex,
125 const ScDPItemData& rBaseData, sal_Int32 nBaseIndex )
const;
126 virtual bool HasCommonElement(
const ScDPItemData& rFirstData, sal_Int32 nFirstIndex,
127 const ScDPItemData& rSecondData, sal_Int32 nSecondIndex )
const;
129 virtual sal_Int32 GetMembersCount( sal_Int32 nDim );
130 const ScDPItemData* GetMemberByIndex( sal_Int32 nDim, sal_Int32 nIndex );
131 virtual const ScDPItemData* GetMemberById( sal_Int32 nDim, sal_Int32 nId);
132 virtual sal_Int32 GetSourceDim( sal_Int32 nDim );
133 virtual sal_Int32
Compare( sal_Int32 nDim, sal_Int32 nDataId1, sal_Int32 nDataId2);
156 const ::std::vector<sal_Int32>& rDims, ::std::vector< SCROW >& rItemData);
This class is only a wrapper to the actual cache, to provide filtering on the raw data based on the q...
Member names that are being processed for InitFrom/LateInitFrom (needed for initialization of grouped...
When assigning a string value, you can also assign an interned string whose life-cycle is managed by ...
Base class that abstracts different data source types of a datapilot table.
virtual void DisposeData()=0
virtual void GetDrillDownData(std::vector< ScDPFilteredCache::Criterion > &&rCriteria, std::unordered_set< sal_Int32 > &&rCatDims, css::uno::Sequence< css::uno::Sequence< css::uno::Any > > &rData)=0
virtual OUString getDimensionName(sal_Int32 nColumn)=0
virtual bool IsDateDimension(sal_Int32 nDim)=0
virtual void FilterCacheTable(std::vector< ScDPFilteredCache::Criterion > &&rCriteria, std::unordered_set< sal_Int32 > &&rDataDims)=0
ScDPTableData(const ScDPTableData &)=delete
virtual void Dump() const
virtual sal_Int32 GetColumnCount()=0
use (new) typed collection instead of ScStrCollection or separate Str and ValueCollection
const ScDPTableData & operator=(const ScDPTableData &)=delete
virtual bool getIsDataLayoutDimension(sal_Int32 nColumn)=0
virtual void SetEmptyFlags(bool bIgnoreEmptyRows, bool bRepeatIfEmpty)=0
virtual void CreateCacheTable()=0
virtual void ReloadCacheTable()=0
virtual const ScDPFilteredCache & GetCacheTable() const =0
virtual void CalcResults(CalcInfo &rInfo, bool bAutoShow)=0
static short Compare(const OUString &sInput1, const OUString &sInput2, const bool bCaseSens, const ScUserListData *pData, const CollatorWrapper *pCW)
Naturally compares two given strings.
This structure stores dimension information used when calculating results.
::std::vector< sal_Int32 > aPageDims
::std::vector< ScDPLevel * > aColLevels
::std::vector< sal_Int32 > aRowLevelDims
::std::vector< sal_Int32 > aDataSrcCols
::std::vector< ScDPDimension * > aColDims
ScDPResultMember * pRowRoot
::std::vector< sal_Int32 > aColLevelDims
ScDPResultMember * pColRoot
::std::vector< ScDPDimension * > aRowDims
::std::vector< ScDPLevel * > aRowLevels
ScDPInitState * pInitState
This structure stores vector arrays that hold intermediate data for each row during cache table itera...
::std::vector< SCROW > aPageData
::std::vector< ScDPValue > aValues
::std::vector< SCROW > aRowData
::std::vector< SCROW > aColData