钻取 icCube 中的基础文本数据?

Drillthrough to underlying text data in icCube?

当详细信息包含文本字段时,如何在 icCube 中设置模型以允许深入到详细信息?

我们的想法是获取一个列表,其中列名包含文本字段(结合金额字段)。就像一个简单的 SQL 语句会给出。

我试过以下方法:

最好的解决方案应该适用于仪表板和任何 XMLA/REST API 界面。

附上这个例子

架构文件

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<schemaFactory revisionNumber="7">
    <schemaDefinition name="drilltrhough-text" description="" group="Issues" loadOnStartup="false">
        <activateIncrementalLoad>false</activateIncrementalLoad>
        <useUnknownMembersInFacts>true</useUnknownMembersInFacts>
        <autoCleanUpTableColumns>false</autoCleanUpTableColumns>
        <useFactPartitioning>false</useFactPartitioning>
        <callGarbageCollector>NONE</callGarbageCollector>
        <backup>NONE</backup>
        <nonEmptyCachePolicy>NONE</nonEmptyCachePolicy>
        <nonEmptyCacheType>REGULAR</nonEmptyCacheType>
        <nonEmptyCachePersistency>MEMORY</nonEmptyCachePersistency>
        <storagePolicy>DEFAULT</storagePolicy>
        <hierarchyUniqueNameStyle>IncludeDimensionName</hierarchyUniqueNameStyle>
        <inMemoryDS name="data">
            <memoryDataTable tableName="data" rowLimit="-1" id="d9429713-9be8-4c63-9b40-4a20388e7563">
                <column name="dimension" tableType="STRING" type="STRING" selected="true" primaryKey="false"/>
                <column name="amount" tableType="STRING" type="STRING" selected="true" primaryKey="false"/>
                <column name="text" tableType="STRING" type="STRING" selected="true" primaryKey="false"/>
                <addRowNumber>false</addRowNumber>
                <stringDateConverter></stringDateConverter>
                <trimStrings>true</trimStrings>
                <columnSeparator>,</columnSeparator>
                <commentMarker>#</commentMarker>
                <dataAsString>dimension, amount, text
a, 10,some text
b, 20, some more text
c, ,text without an amount</dataAsString>
            </memoryDataTable>
        </inMemoryDS>
        <multiLevelDimension dataTableId="d9429713-9be8-4c63-9b40-4a20388e7563" isTimeDimension="false" isDefaultTimeDimension="false" isIndexingByRange="false" id="86d118f0-71ba-4826-a6ac-343eac96fb05" name="Dimension">
            <multiLevelHierarchy hasAllLevel="true" allLevelName="All-Level" allMemberName="All" name="Dimension" isDefault="true">
                <level name="Dimension - L" nameUnique="false" nameUniqueInParent="false" keyUnique="false" ignoreNameCollision="false">
                    <nameCol name="dimension"/>
                    <orderType>BY_NAME</orderType>
                    <orderKind>ASC</orderKind>
                </level>
            </multiLevelHierarchy>
        </multiLevelDimension>
        <cube id="caa9c520-f953-4c77-9e72-76c8668170f7" name="Cube">
            <defaultFacts measureGroupName="Facts" partitioningLevelName="" partitioningType="NONE" newGeneration="true" dataTableId="d9429713-9be8-4c63-9b40-4a20388e7563" aggregateDataSourceFacts="false" unresolvedRowsBehavior="ERROR">
                <rowFactAggregationType>ADD_ROW</rowFactAggregationType>
                <measure name="Amount" aggregationType="SUM">
                    <dataColumn name="amount"/>
                </measure>
                <measure name="Text" aggregationType="MIN">
                    <dataColumn name="text"/>
                </measure>
                <links dimensionId="86d118f0-71ba-4826-a6ac-343eac96fb05">
                    <viewLinks type="LAST_LEVEL">
                        <toColumns name="dimension"/>
                    </viewLinks>
                </links>
            </defaultFacts>
        </cube>
    </schemaDefinition>
</schemaFactory>

-mdx

drillthrough
select [Measures].members on 0
, [Dimension].[Dimension].[Dimension - L] on 1
from [cube]
return Name([Dimension])

这与具有 STRING 类型的度量无关。

您正在执行 multi-cell 结果钻取(这是 icCube 中标准 MDX 的扩展)。在这种情况下,每个结果单元格的结果是 "organized",这意味着每个 [Measures] 都在其自己的类别中(您可以添加另一个 Amount 度量,您会看到相同的行为)。

相反,您应该执行 单个单元格 钻取:

drillthrough 
  select [Dimension].[Dimension].[Dimension -L].[a] on 0     
  from [cube]

结果应该是这样的:

您可以看到 [Measures].[Info] 位于同一行(与所有其他度量一样)。

希望对您有所帮助。