25 #include <document.hxx>
28 #include <globstr.hrc>
33 #include <osl/diagnose.h>
38 using ::com::sun::star::uno::Any;
39 using ::com::sun::star::uno::Sequence;
44 aQuery ( rDesc.GetQueryParam() ),
45 bIgnoreEmptyRows( false ),
46 bRepeatIfEmpty(false),
50 for (
SCSIZE j = 0; j < nEntryCount; ++j)
93 OSL_FAIL(
"getDimensionName: invalid dimension");
110 else if (nDim >= nColCount)
112 OSL_FAIL(
"IsDateDimension: invalid dimension");
130 OSL_FAIL(
"GetNumberFormat: invalid dimension");
180 rCriteria, (
IsRepeatIfEmpty() ? rCatDims : std::unordered_set<sal_Int32>()));
183 void ScSheetDPData::GetDrillDownData(
const vector<ScDPFilteredCache::Criterion>& rCriteria,
const std::unordered_set<sal_Int32>& rCatDims, Sequence< Sequence<Any> >& rData)
289 OSL_FAIL(
"Error Create Cache" );
309 return STR_ERR_DATAPILOTSOURCE;
314 return STR_ERR_DATAPILOTSOURCE;
317 return STR_ERR_DATAPILOTSOURCE;
OUString getFieldName(SCCOL nIndex) const
OUString getString() const
This class has to do with handling exclusively grouped dimensions? TODO: Find out what this class doe...
virtual void CreateCacheTable() override
SC_DLLPUBLIC SheetCaches & GetSheetCaches()
sal_Int32 getRowSize() const
const Item & GetQueryItem() const
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
std::unique_ptr< ContentProperties > pData
void filterTable(const std::vector< Criterion > &rCriteria, css::uno::Sequence< css::uno::Sequence< css::uno::Any >> &rTabData, const std::unordered_set< sal_Int32 > &rRepeatIfEmptyDims)
Filter the table based on the specified criteria, and copy the result to rTabData.
void fillTable(const ScQueryParam &rQuery, bool bIgnoreEmptyRows, bool bRepeatIfEmpty)
virtual sal_Int32 GetColumnCount() override
use (new) typed collection instead of ScStrCollection or separate Str and ValueCollection ...
virtual void ReloadCacheTable() override
SC_DLLPUBLIC ScRangeName * GetRangeName(SCTAB nTab) const
SC_DLLPUBLIC ScDPCollection * GetDPCollection()
const ContentProperties & rData
Data caches for range name based source data.
This class represents the cached data part of the datapilot cache table implementation.
virtual void FilterCacheTable(const std::vector< ScDPFilteredCache::Criterion > &rCriteria, const std::unordered_set< sal_Int32 > &rCatDims) override
void SetQueryParam(const ScQueryParam &rParam)
virtual OUString getDimensionName(sal_Int32 nColumn) override
const char * CheckSourceRange() const
Check the sanity of the data source range.
ScQueryParam maQueryParam
SC_DLLPUBLIC void SetSourceRange(const ScRange &rRange)
size_t SCSIZE
size_t typedef to be able to find places where code was changed from USHORT to size_t and is used to ...
SC_DLLPUBLIC SCSIZE GetEntryCount() const
virtual const ScDPFilteredCache & GetCacheTable() const override
SC_DLLPUBLIC const ScQueryEntry & GetEntry(SCSIZE n) const
ScSheetSourceDesc()=delete
SC_DLLPUBLIC const ScRange & GetSourceRange() const
Get the range that contains the source data.
virtual void Dump() const override
void CalcResultsFromCacheTable(const ScDPFilteredCache &rCacheTable, CalcInfo &rInfo, bool bAutoShow)
virtual ~ScSheetDPData() override
SC_DLLPUBLIC ScRangeData * findByUpperName(const OUString &rName)
SC_DLLPUBLIC SvNumberFormatter * GetFormatTable() const
const ScDPCache * getCache(const OUString &rName, const ScRange &rRange, const ScDPDimensionSaveData *pDimData)
This structure stores dimension information used when calculating results.
Stores and manages all caches from internal sheets.
const ScDPCache * getCache(const ScRange &rRange, const ScDPDimensionSaveData *pDimData)
virtual bool IsDateDimension(sal_Int32 nDim) override
sal_uInt32 GetNumberFormatByIdx(NfIndexTableOffset)
OUString uppercase(const OUString &rStr, sal_Int32 nPos, sal_Int32 nCount) const
OUString ScResId(const char *pId)
bool operator==(const ScSheetSourceDesc &rOther) const
svl::SharedString maString
SC_DLLPUBLIC const ScDPCache * CreateCache(const ScDPDimensionSaveData *pDimData) const
bool HasRangeName() const
Base class that abstracts different data source types of a datapilot table.
sal_Int32 getColSize() const
virtual bool IsRepeatIfEmpty() override
virtual sal_uInt32 GetNumberFormat(sal_Int32 nDim) override
virtual void SetEmptyFlags(bool bIgnoreEmptyRows, bool bRepeatIfEmpty) override
bool IsDateDimension(tools::Long nDim) const
sal_uInt32 GetNumberFormat(tools::Long nDim) const
const OUString & GetRangeName() const
static SC_DLLPUBLIC const CharClass * getCharClassPtr()
virtual void DisposeData() override
virtual void CalcResults(CalcInfo &rInfo, bool bAutoShow) override
SC_DLLPUBLIC bool IsReference(ScRange &rRef) const
virtual bool getIsDataLayoutDimension(sal_Int32 nColumn) override
SC_DLLPUBLIC void SetRangeName(const OUString &rName)
This class is only a wrapper to the actual cache, to provide filtering on the raw data based on the q...
ScSheetDPData(const ScDocument *pD, const ScSheetSourceDesc &rDesc, const ScDPCache &rCache)
NameCaches & GetNameCaches()
void filterByPageDimension(const std::vector< Criterion > &rCriteria, const std::unordered_set< sal_Int32 > &rRepeatIfEmptyDims)
Set filter on/off flag to each row to control visibility.
This class contains authoritative information on the internal reference used as the data source for d...
Each instance of this struct represents a single filtering criteria.
const ScDPCache & getCache() const
ScDPFilteredCache aCacheTable