20 #ifndef INCLUDED_SC_INC_DPGROUP_HXX
21 #define INCLUDED_SC_INC_DPGROUP_HXX
24 #include <unordered_set>
104 const std::vector<SCROW>& GetNumEntries(
SCCOL nSourceDim,
const ScDPCache* pCache)
const;
106 void SetDateDimension();
119 std::vector<ScDPGroupDimension>
121 std::unique_ptr<ScDPNumGroupDimension[]>
125 void FillGroupValues(std::vector<SCROW>& rItems,
const std::vector<sal_Int32>& rDims);
126 virtual sal_Int32
GetSourceDim( sal_Int32 nDim )
override;
146 virtual const std::vector< SCROW >&
GetColumnEntries( sal_Int32 nColumn )
override ;
148 virtual sal_Int32
Compare( sal_Int32 nDim, sal_Int32 nDataId1, sal_Int32 nDataId2)
override;
155 virtual void SetEmptyFlags(
bool bIgnoreEmptyRows,
bool bRepeatIfEmpty )
override;
160 virtual void FilterCacheTable(
const std::vector<ScDPFilteredCache::Criterion>& rCriteria,
const std::unordered_set<sal_Int32>& rDataDims)
override;
161 virtual void GetDrillDownData(
const std::vector<ScDPFilteredCache::Criterion>& rCriteria,
162 const std::unordered_set<sal_Int32>& rCatDims,
163 css::uno::Sequence< css::uno::Sequence< css::uno::Any > >& rData)
override;
164 virtual void CalcResults(CalcInfo& rInfo,
bool bAutoShow)
override;
169 virtual sal_Int32
GetGroupBase(sal_Int32 nGroupDim)
const override;
172 const ScDPItemData& rBaseData, sal_Int32 nBaseIndex )
const override;
174 const ScDPItemData& rSecondData, sal_Int32 nSecondIndex )
const override;
177 virtual void Dump()
const override;
void GetNumGroupInfo(tools::Long nDimension, ScDPNumGroupInfo &rInfo)
void FillGroupValues(std::vector< SCROW > &rItems, const std::vector< sal_Int32 > &rDims)
virtual void FilterCacheTable(const std::vector< ScDPFilteredCache::Criterion > &rCriteria, const std::unordered_set< sal_Int32 > &rDataDims) override
virtual void CalcResults(CalcInfo &rInfo, bool bAutoShow) override
const ScDPNumGroupInfo & GetInfo() const
void AddGroupDimension(const ScDPGroupDimension &rGroup)
const std::vector< SCROW > & GetColumnEntries(const ScDPFilteredCache &rCacheTable) const
virtual bool IsNumOrDateGroup(sal_Int32 nDim) const override
ScDPGroupTableData(const std::shared_ptr< ScDPTableData > &pSource, ScDocument *pDocument)
bool HasElement(const ScDPItemData &rData) const
std::vector< ScDPGroupDimension > aGroups
std::vector< ScDPGroupItem > aItems
virtual ~ScDPGroupTableData() override
This class represents the cached data part of the datapilot cache table implementation.
std::unique_ptr< ScDPNumGroupDimension[]> pNumGroups
virtual void Dump() const override
bool IsNumGroupDimension(tools::Long nDimension) const
tools::Long GetGroupDim() const
void SetNumGroupDimension(sal_Int32 nIndex, const ScDPNumGroupDimension &rGroup)
virtual sal_Int32 GetSourceDim(sal_Int32 nDim) override
virtual void GetDrillDownData(const std::vector< ScDPFilteredCache::Criterion > &rCriteria, const std::unordered_set< sal_Int32 > &rCatDims, css::uno::Sequence< css::uno::Sequence< css::uno::Any > > &rData) override
multi-item (group) filter.
::std::vector< ScDPItemData > ScDPItemDataVec
virtual bool IsBaseForGroup(sal_Int32 nDim) const override
bool IsDateDimension() const
virtual bool HasCommonElement(const ScDPItemData &rFirstData, sal_Int32 nFirstIndex, const ScDPItemData &rSecondData, sal_Int32 nSecondIndex) const override
virtual const std::vector< SCROW > & GetColumnEntries(sal_Int32 nColumn) override
When assigning a string value, you can also assign an interned string whose life-cycle is managed by ...
void AddElement(const ScDPItemData &rName)
const ScDPGroupItem * GetGroupByIndex(size_t nIndex) const
ScDPGroupItem(const ScDPItemData &rName)
virtual sal_Int32 Compare(sal_Int32 nDim, sal_Int32 nDataId1, sal_Int32 nDataId2) override
virtual bool IsDateDimension(sal_Int32 nDim) override
virtual sal_Int32 GetGroupBase(sal_Int32 nGroupDim) const override
tools::Long GetSourceDim() const
virtual void CreateCacheTable() override
virtual bool IsInGroup(const ScDPItemData &rGroupData, sal_Int32 nGroupIndex, const ScDPItemData &rBaseData, sal_Int32 nBaseIndex) const override
std::vector< SCROW > maMemberEntries
void FillGroupFilter(ScDPFilteredCache::GroupFilter &rFilter) const
sal_Int32 GetDimensionIndex(std::u16string_view rName)
virtual void ReloadCacheTable() override
virtual sal_Int32 GetMembersCount(sal_Int32 nDim) override
ScDPGroupDimension(tools::Long nSource, const OUString &rNewName)
virtual void DisposeData() override
virtual sal_Int32 GetColumnCount() override
use (new) typed collection instead of ScStrCollection or separate Str and ValueCollection ...
virtual sal_uInt32 GetNumberFormat(sal_Int32 nDim) override
const std::shared_ptr< ScDPTableData > & GetSourceTableData() const
std::vector< SCROW > maMemberEntries
void AddItem(const ScDPGroupItem &rItem)
const OUString & GetName() const
std::shared_ptr< ScDPTableData > pSourceData
virtual const ScDPItemData * GetMemberById(sal_Int32 nDim, sal_Int32 nId) override
Base class that abstracts different data source types of a datapilot table.
virtual void SetEmptyFlags(bool bIgnoreEmptyRows, bool bRepeatIfEmpty) override
bool HasCommonElement(const ScDPGroupItem &rOther) const
ScDPGroupDimension & operator=(const ScDPGroupDimension &rOther)
ScDPItemDataVec aElements
void ModifyFilterCriteria(::std::vector< ScDPFilteredCache::Criterion > &rCriteria)
ScDPNumGroupInfo aGroupInfo
const ScDPGroupItem * GetGroupForData(const ScDPItemData &rData) const
void SetGroupDim(tools::Long nDim)
virtual bool getIsDataLayoutDimension(sal_Int32 nColumn) override
This class is only a wrapper to the actual cache, to provide filtering on the raw data based on the q...
virtual const ScDPFilteredCache & GetCacheTable() const override
const ScDPGroupItem * GetGroupForName(const ScDPItemData &rName) const
virtual OUString getDimensionName(sal_Int32 nColumn) override
size_t GetItemCount() const
const ScDPItemData & GetName() const
bool IsDateDimension() const
virtual bool IsRepeatIfEmpty() override