COGNOS: агрегация по времени и другим категориям в размерном кубе - PullRequest
0 голосов
/ 28 июня 2019

Я хотел бы объединить показатель, основанный на времени и двух других категориях.Для этого я создал 2 переменные.

Я хотел бы получить показатель за последний месяц года, основанный на 2 переменных [Gesamt Anzahl] и [Depots]

Первая переменная [M_Akuell] выходные данные показывают последний месяц, например, в 2018 году это 2018_M12

item (tail (filter (members ([ME_OBG_PRODUKT_M]. [D_Zeit]. [Per_de]. [Jahr_Monat]); tuple ([Kennzahl]; currentMember ([ME_OBG_PRODUKT_M]. [D_Zeit]. [Periode])) не является нулевым); 1); 0)

Вторая переменная должна быть вычислением меры на основе вывода временииз [M_Aktuell] и двух переменных [Gesamt Anzahl] и [Depots]

кортеж ([Kennzahl]; [Gesamt Anzahl]; [M_Aktuell]; [Depots])

Но когда я использую сингелтон, мера всегда рассчитывается по всем 12 месяцам?Кто-нибудь знает, где у меня ошибка?

1 Ответ

0 голосов
/ 28 июня 2019

Я не думаю, что ваше выражение возвращает 2018_M12, я думаю, что оно возвращает 2018 год, когда вы используете членов, что расширяет всю иерархию.Обычно первым участником этого набора является год (все) или, в вашем случае, первый год.Чтобы доказать это, просто спроецируйте части своего выражения кортежа в кросс-таблицу, чтобы увидеть, что возвращается.

<report xmlns="http://developer.cognos.com/schemas/report/14.3/"           useStyleVersion="11.4" expressionLocale="en">

                <drillBehavior/>
                <layouts>
                    <layout>
                        <reportPages>
                            <page name="Page1">
                                <style>
                                    <defaultStyles>
                                        <defaultStyle refStyle="pg"/>
                                    </defaultStyles>
                                </style>
                                <pageBody>
                                    <style>
                                        <defaultStyles>
                                            <defaultStyle refStyle="pb"/>
                                        </defaultStyles>
                                    </style>
                                    <contents><crosstab horizontalPagination="true" name="Crosstab1" refQuery="Query1">
            <crosstabCorner>
                <contents><textItem><dataSource><dataItemLabel refDataItem="Revenue"/></dataSource></textItem></contents>
                <style>
                    <defaultStyles>
                        <defaultStyle refStyle="xm"/>
                    </defaultStyles>
                </style>
            </crosstabCorner>


            <noDataHandler>
                <contents>
                    <block>
                        <contents>
                            <textItem>
                                <dataSource>
                                    <staticValue>No Data Available</staticValue>
                                </dataSource>
                                <style>
                                    <CSS value="padding:10px 18px;"/>
                                </style>
                            </textItem>
                        </contents>
                    </block>
                </contents>
            </noDataHandler>
            <style>
                <CSS value="border-collapse:collapse"/>
                <defaultStyles>
                    <defaultStyle refStyle="xt"/>
                </defaultStyles>
            </style>
        <defaultMeasure refDataItem="Revenue"/><crosstabFactCell><contents><textItem><dataSource><cellValue/></dataSource></textItem></contents><style><defaultStyles><defaultStyle refStyle="mv"/></defaultStyles></style></crosstabFactCell><crosstabRows><crosstabNode><crosstabNodeMembers><crosstabNodeMember refDataItem="Order method type" edgeLocation="e1"><style><defaultStyles><defaultStyle refStyle="ml"/></defaultStyles></style><contents><textItem><dataSource><memberCaption/></dataSource></textItem></contents></crosstabNodeMember></crosstabNodeMembers></crosstabNode></crosstabRows><crosstabColumns><crosstabNode><crosstabNodeMembers><crosstabNodeMember refDataItem="Filter" edgeLocation="e2"><style><defaultStyles><defaultStyle refStyle="ml"/></defaultStyles></style><contents><textItem><dataSource><dataItemValue refDataItem="Filter"/></dataSource></textItem></contents></crosstabNodeMember></crosstabNodeMembers></crosstabNode></crosstabColumns></crosstab><singleton name="Singleton1" refQuery="Query1">
            <contents><textItem><dataSource><dataItemValue refDataItem="Data Item1"/></dataSource></textItem></contents>
        </singleton></contents>
                                </pageBody>
                            </page>
                        </reportPages>
                    </layout>
                </layouts>
            <XMLAttributes><XMLAttribute output="no" name="RS_CreateExtendedDataItems" value="true"/><XMLAttribute output="no" name="listSeparator" value=","/><XMLAttribute output="no" name="RS_modelModificationTime" value="2013-01-08T15:31:44.420Z"/></XMLAttributes><modelPath>/content/folder[@name=&apos;Samples_LG_DQ&apos;]/folder[@name=&apos;Models&apos;]/package[@name=&apos;GO Sales (analysis)&apos;]/model[@name=&apos;model&apos;]</modelPath><queries><query name="Query1"><source><model/></source><selection><dataItemMeasure name="Revenue"><dmMember><MUN>[Sales (analysis)].[Sales].[Revenue]</MUN><itemCaption>Revenue</itemCaption></dmMember><dmDimension><DUN>[Sales (analysis)].[Sales]</DUN><itemCaption>Sales</itemCaption></dmDimension><XMLAttributes><XMLAttribute output="no" name="RS_dataType" value="2"/></XMLAttributes></dataItemMeasure><dataItemLevelSet name="Order method type"><dmLevel><LUN>[Sales (analysis)].[Order method].[Order method].[Order method type]</LUN><itemCaption>Order method type</itemCaption></dmLevel><dmDimension><DUN>[Sales (analysis)].[Order method]</DUN><itemCaption>Order method</itemCaption></dmDimension><dmHierarchy><HUN>[Sales (analysis)].[Order method].[Order method]</HUN><itemCaption>Order method</itemCaption></dmHierarchy></dataItemLevelSet><dataItemSetExpression name="Filter"><expression>item(tail(filter(members([Sales (analysis)].[Time].[Time].[Month]),tuple([Sales (analysis)].[Sales].[Quantity], currentMember([Sales (analysis)].[Time].[Time])) is not null); 1), 0)</expression><dmDimension><DUN>[Sales (analysis)].[Time]</DUN><itemCaption>Time</itemCaption></dmDimension><dmHierarchy><HUN>[Sales (analysis)].[Time].[Time]</HUN><itemCaption>Time</itemCaption></dmHierarchy></dataItemSetExpression><dataItem name="Data Item1"><expression>tuple([Filter],[Revenue],[Sales (analysis)].[Order method].[Order method].[Order method type]-&gt;[Order method].[3])</expression></dataItem></selection></query></queries></report>
...