Я застрял построения запроса, посмотрите на мой образец схемыCognos - только выбрать одну запись в месяц из записей
Table Name: KRIs
KRI_ID KRI_Name
------ --------
K1 KNM
K2 KNM2
Table Name: KRIValues
KRIVal_ID KRIVal_Name KRI_Value_Date KRIVal_Create_Date KRI_ID
--------- ----------- -------------- ------------------- -------
KV1 KVNM1 2016-01-01 2016-01-01 06:01:02 K1
KV2 KVNM2 2016-02-01 2016-02-01 05:12:13 K1
KV3 KVNM3 2016-02-01 2016-02-01 05:20:20 K1
KV4 KVNM4 2016-03-01 2016-03-01 05:10:31 K1
KV5 KVNM5 2016-01-01 2016-01-01 10:09:12 K2
Теперь, если мы присоединяемся к ПК с ФК мы получим
KRIVal_ID KRIVal_Name KRI_Value_Date KRIVal_Create_Date KRI_ID KRI_Name
--------- ----------- -------------- ------------------- ------- --------
KV1 KVNM1 2016-01-01 2016-01-01 06:01:02 K1 KNM
KV2 KVNM2 2016-02-01 2016-02-01 05:12:13 K1 KNM
KV3 KVNM3 2016-02-01 2016-02-01 05:20:20 K1 KNM
KV4 KVNM4 2016-03-01 2016-03-01 05:10:31 K1 KNM
KV5 KVNM5 2016-01-01 2016-01-01 10:09:12 K2 KNM2
Теперь я знаю, что могу использовать ранг(), чтобы получить последние п записей позволяет сказать, последние 3 записей в KRI_ID как ниже
KRIVal_ID KRIVal_Name KRI_Value_Date KRIVal_Create_Date KRI_ID KRI_Name
--------- ----------- -------------- ------------------- ------- --------
KV1 KVNM1 2016-01-01 2016-01-01 06:01:02 K1 KNM
KV2 KVNM2 2016-02-01 2016-02-01 05:12:13 K1 KNM
KV3 KVNM3 2016-02-01 2016-02-01 05:20:20 K1 KNM
KV5 KVNM5 2016-01-01 2016-01-01 10:09:12 K2 KNM2
Но я не ж ant просто мне нужны последние n записей, но мне нужно только выбрать одну запись в месяц. Как ниже
KRIVal_ID KRIVal_Name KRI_Value_Date KRIVal_Create_Date KRI_ID KRI_Name
--------- ----------- -------------- ------------------- ------- --------
KV1 KVNM1 2016-01-01 2016-01-01 06:01:02 K1 KNM
KV3 KVNM3 2016-02-01 2016-02-01 05:20:20 K1 KNM
KV4 KVNM4 2016-03-01 2016-03-01 05:10:31 K1 KNM
KV5 KVNM5 2016-01-01 2016-01-01 10:09:12 K2 KNM2
В приведенном выше примере я выбираю только самую последнюю запись с 2016-02-01. Как это сделать в IBM Cognos Report Studio.
Да, это может работать и является динамическим подходом, так как я мог ждать, я разбил запрос на 4 для каждого месяца, мое число месяцев фиксировано, затем получил максимальный размер для каждого месяца, а затем применил объединение по результатам. – Moon