MDX 传递参数查询
MDX中加入参数查询 需要使用 STRTOSET(@[部門], CONSTRAINED) “[部門]” 为参数。
*************************************** 示例 ****************************************************
SELECT
NON EMPTY
{ [Measures].[未発注件数], } ON COLUMNS,
NON EMPTY { ([日付].[年月].[年月].ALLMEMBERS)*
([取引先].[取引先企業].[取引先企業].ALLMEMBERS * [取引先].[取引先区分].[取引先区分].ALLMEMBERS * [取引先].[取引先事業所].[取引先事業所].ALLMEMBERS) *
([部門].[部門分類1].[部門分類1],[部門].[部門分類2].[部門分類2],[部門].[部門分類3].[部門分類3],[部門].[部門分類4].[部門分類4])*
([類別].[分類1].[分類1],[類別].[分類2].[分類2],[類別].[分類3].[分類3],[類別].[分類4].[分類4],[類別].[分類5].[分類5])*
([組織].[事業所・部名].[事業所・部名],[組織].[部名].[部名],[組織].[課名].[課名],[組織].[係名].[係名],[組織].[担当名].[担当名],[組織].[担当CD].[担当CD])*
([製造元].[製造元企業].[製造元企業],[製造元].[製造元事業所].[製造元事業所])}
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM ( SELECT ( STRTOMEMBER(@[年月From], CONSTRAINED) : STRTOMEMBER(@[年月To], CONSTRAINED) ) ON COLUMNS
FROM ( SELECT ( STRTOSET(@[部門], CONSTRAINED) ) ON COLUMNS
FROM ( SELECT ( STRTOSET(@[組織], CONSTRAINED) ) ON COLUMNS
FROM ( SELECT ( STRTOSET(@[類別], CONSTRAINED) ) ON COLUMNS
FROM ( SELECT ( STRTOSET(@[取引先区分], CONSTRAINED) ) ON COLUMNS
FROM ( SELECT ( STRTOSET(@[取引先企業], CONSTRAINED) ) ON COLUMNS
FROM ( SELECT ( STRTOSET(@[取引先事業所], CONSTRAINED) ) ON COLUMNS
FROM ( SELECT ( STRTOSET(@[製造元企業], CONSTRAINED) ) ON COLUMNS
FROM ( SELECT ( STRTOSET(@[製造元事業所], CONSTRAINED) ) ON COLUMNS
FROM ( SELECT ( STRTOSET(@[集計対象項目], CONSTRAINED) ) ON COLUMNS
FROM [H0ZPMCB006]))))))))))
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
********************************************* 解释**************************************************
SELECT
NON EMPTY {[Measures].[検査件数]} ON COLUMNS,
NON EMPTY { ([日付].[年月].[年月].ALLMEMBERS,
([部門].[部門分類1].[部門分類1],[部門].[部門分類2].[部門分類2],[部門].[部門分類3].[部門分類3],[部門].[部門分類4].[部門分類4]))}
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM //通过这样的多层选择,就能选出由多个参数确定的数据集,再从这个数据集中选出需要的数据
(SELECT
{( [日付].[年月].&[201403]),([日付].[年月].&[201404] )} ON COLUMNS //将“[日付].[年月].&[201403]),([日付].[年月].&[201404] ”
FROM //换成第二个参数,就能在第一个参数对应的数据集中找出第二个参数的对应的数据集
(SELECT ( [部門].[階層].[All]) ON COLUMNS //将“[部門].[階層].[All]”换成第一个参数,就能获得第一个参数对应的数据集
FROM [H0ZPMCB007]
)
)
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS