![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
|
Hi Szymon, Thanks for using MSDN Newsgroup! Looking at the nature of this issue, it would require intensive troubleshooting. I am trying to find some experts on OLAP to give you a reply By this way, I believe, will make you closer and quicker to theresolution. Thank you for your patience and cooperation. If you have any questions or concerns, don't hesitate to let me know. We are here to be of assistance! Sincerely yours, Mingqing Cheng Microsoft Developer Community Support --------------------------------------------------------------- Introduction to Yukon! - http://www.microsoft.com/sql/yukon This posting is provided "as is" with no warranties and confers no rights. Please reply to newsgroups only, many thanks! |
#4
| |||
| |||
|
|
Hi, I'm experiencing strange server behaviour (locks/hangs?) when doing UPDATE CUBE that results in large number of leaf level rows to be written to SQL. First example: UPDATE CUBE [Przychody i Koszty Budżet] SET ( [Budżet].[Scenariusz].[Podstawowy], [Czas].[Kalendarzowy].[Wszystkie lata].[2004].[Kwartał 1, 2004].[Styczeń, 2004], [Firma].[Struktura].[Cała firma], [Kategoria Finansowa].[Wynik].[Koszt], [Measures].[Zwiększenie],[Wymiar].[Charakter kosztów].[Wszystkie], [Wymiar].[Działalność firmy].[Wszystkie], [Wymiar].[Model].[Wszystkie], [Wymiar].[Pracownicy].[Wszystkie], [Wymiar].[Rodzaj kosztu].[Wszystkie]).VALUE = 30000 USE_WEIGHTED_ALLOCATION BY 1 / 14 / 3 / 3 / 15 / 42 / 70 / 97 After some 30-40 minutes throws out "Syntax Error near: <here the above MDX>". In this case update tries to write 14 * 3 * 3 * 15 * 42 * 70 * 97 = 538,990,200 rows Trying to lighten the load, after removing one dimension from distribution (97 members) I used the following MDX: UPDATE CUBE [Przychody i Koszty Budżet] SET ( [Budżet].[Scenariusz].[Podstawowy], [Czas].[Kalendarzowy].[Wszystkie lata].[2004].[Kwartał 1, 2004].[Styczeń, 2004], [Firma].[Struktura].[Cała firma], [Kategoria Finansowa].[Wynik].[Koszt], [Measures].[Zwiększenie],[Wymiar].[Charakter kosztów].[Wszystkie], [Wymiar].[Działalność firmy].[Wszystkie], [Wymiar].[Model].[Wszystkie], [Wymiar].[Pracownicy].[<here a particular member>], [Wymiar].[Rodzaj kosztu].[Wszystkie]).VALUE = 30000 USE_WEIGHTED_ALLOCATION BY 1 / 14 / 3 / 3 / 15 / 42 / 70 that gives now two orders of magnitude less rows (about 5.4 mln). Now I have two scenarios: 1) Open transaction -> Update Cube (from above) -> second update cube (again from above, but with different member in [Wymiar].[Pracownicy] dimension - OLAP hangs (does not return control after execute) 2) Opening transaction -> Update Cube (from above) -> Close transaction, Open new transaction -> second update cube (again from above, but with different member in [Wymiar].[Pracownicy] dimension -> works fine Looks like a transaction that spans many rows is somehow running out of resources. Killing client process does not help, things come back to normal after reprocessing the budget cube (that probably rolls back teh transaction and frees some resources). My question is - what are the limitations in the writeback scenario and what resources should be tracked / increased to make things work fine? TIA Szymon Slupik, CTO CDN S.A., Krakow, Poland |
#5
| |||
| |||
|
|
I have not worked with this problem directly from MDX . My experience is with usinging a writeback supporting client(ProClarity). Most important is that all your writeback entries will be allocated down to the leaf-level in each dimension in the cube. The exception is if you are on the leaf level. So if you have a cube with many dimensions and each dimension contains many levels(and maybe many records at the leaf level), this is probably not the best structure for supporting writeback. Remove dimensions and use fewer levels in each dimension. Else you will run into performance problems on your client. Another approach we are using in a project is to use OLAP actions that direct the user to a web based data entry page together with a snapshot of the report/grid in a separate frame. We have a separate fact table for this and copy the values in this table to the cube fact table with data transformation services. HTH Thomas Ivarsson BI Consultant Malmö Sweden "Bluetooth" <szymon_dot_slupik (AT) cdn (DOT) com.pl> wrote in message news:%23JiTiCCZEHA.1656 (AT) TK2MSFTNGP09 (DOT) phx.gbl... Hi, I'm experiencing strange server behaviour (locks/hangs?) when doing UPDATE CUBE that results in large number of leaf level rows to be written to SQL. First example: UPDATE CUBE [Przychody i Koszty Budżet] SET ( [Budżet].[Scenariusz].[Podstawowy], [Czas].[Kalendarzowy].[Wszystkie lata].[2004].[Kwartał 1, 2004].[Styczeń, 2004], [Firma].[Struktura].[Cała firma], [Kategoria Finansowa].[Wynik].[Koszt], [Measures].[Zwiększenie],[Wymiar].[Charakter kosztów].[Wszystkie], [Wymiar].[Działalność firmy].[Wszystkie], [Wymiar].[Model].[Wszystkie], [Wymiar].[Pracownicy].[Wszystkie], [Wymiar].[Rodzaj kosztu].[Wszystkie]).VALUE = 30000 USE_WEIGHTED_ALLOCATION BY 1 / 14 / 3 / 3 / 15 / 42 / 70 / 97 After some 30-40 minutes throws out "Syntax Error near: <here the above MDX>". In this case update tries to write 14 * 3 * 3 * 15 * 42 * 70 * 97 = 538,990,200 rows Trying to lighten the load, after removing one dimension from distribution (97 members) I used the following MDX: UPDATE CUBE [Przychody i Koszty Budżet] SET ( [Budżet].[Scenariusz].[Podstawowy], [Czas].[Kalendarzowy].[Wszystkie lata].[2004].[Kwartał 1, 2004].[Styczeń, 2004], [Firma].[Struktura].[Cała firma], [Kategoria Finansowa].[Wynik].[Koszt], [Measures].[Zwiększenie],[Wymiar].[Charakter kosztów].[Wszystkie], [Wymiar].[Działalność firmy].[Wszystkie], [Wymiar].[Model].[Wszystkie], [Wymiar].[Pracownicy].[<here a particular member>], [Wymiar].[Rodzaj kosztu].[Wszystkie]).VALUE = 30000 USE_WEIGHTED_ALLOCATION BY 1 / 14 / 3 / 3 / 15 / 42 / 70 that gives now two orders of magnitude less rows (about 5.4 mln). Now I have two scenarios: 1) Open transaction -> Update Cube (from above) -> second update cube (again from above, but with different member in [Wymiar].[Pracownicy] dimension - OLAP hangs (does not return control after execute) 2) Opening transaction -> Update Cube (from above) -> Close transaction, Open new transaction -> second update cube (again from above, but with different member in [Wymiar].[Pracownicy] dimension -> works fine Looks like a transaction that spans many rows is somehow running out of resources. Killing client process does not help, things come back to normal after reprocessing the budget cube (that probably rolls back teh transaction and frees some resources). My question is - what are the limitations in the writeback scenario and what resources should be tracked / increased to make things work fine? TIA Szymon Slupik, CTO CDN S.A., Krakow, Poland |
#6
| |||
| |||
|
|
Yes, Thomas, I am aware top-down writebacks may be very time / resource consuming, but I lack the knowledge what exact resource limits we are hitting. Is the thing memory related or tempdb size related or something else....? Thanx, Szymon "Thomas Ivarsson" <TI (AT) nospam (DOT) com> wrote in message news:uMSO6QMZEHA.2972 (AT) TK2MSFTNGP12 (DOT) phx.gbl... I have not worked with this problem directly from MDX . My experience is with usinging a writeback supporting client(ProClarity). Most important is that all your writeback entries will be allocated down to the leaf-level in each dimension in the cube. The exception is if you are on the leaf level. So if you have a cube with many dimensions and each dimension contains many levels(and maybe many records at the leaf level), this is probably not the best structure for supporting writeback. Remove dimensions and use fewer levels in each dimension. Else you will run into performance problems on your client. Another approach we are using in a project is to use OLAP actions that direct the user to a web based data entry page together with a snapshot of the report/grid in a separate frame. We have a separate fact table for this and copy the values in this table to the cube fact table with data transformation services. HTH Thomas Ivarsson BI Consultant Malmö Sweden "Bluetooth" <szymon_dot_slupik (AT) cdn (DOT) com.pl> wrote in message news:%23JiTiCCZEHA.1656 (AT) TK2MSFTNGP09 (DOT) phx.gbl... Hi, I'm experiencing strange server behaviour (locks/hangs?) when doing UPDATE CUBE that results in large number of leaf level rows to be written to SQL. First example: UPDATE CUBE [Przychody i Koszty Budżet] SET ( [Budżet].[Scenariusz].[Podstawowy], [Czas].[Kalendarzowy].[Wszystkie lata].[2004].[Kwartał 1, 2004].[Styczeń, 2004], [Firma].[Struktura].[Cała firma], [Kategoria Finansowa].[Wynik].[Koszt], [Measures].[Zwiększenie],[Wymiar].[Charakter kosztów].[Wszystkie], [Wymiar].[Działalność firmy].[Wszystkie], [Wymiar].[Model].[Wszystkie], [Wymiar].[Pracownicy].[Wszystkie], [Wymiar].[Rodzaj kosztu].[Wszystkie]).VALUE = 30000 USE_WEIGHTED_ALLOCATION BY 1 / 14 / 3 / 3 / 15 / 42 / 70 / 97 After some 30-40 minutes throws out "Syntax Error near: <here the above MDX>". In this case update tries to write 14 * 3 * 3 * 15 * 42 * 70 * 97 = 538,990,200 rows Trying to lighten the load, after removing one dimension from distribution (97 members) I used the following MDX: UPDATE CUBE [Przychody i Koszty Budżet] SET ( [Budżet].[Scenariusz].[Podstawowy], [Czas].[Kalendarzowy].[Wszystkie lata].[2004].[Kwartał 1, 2004].[Styczeń, 2004], [Firma].[Struktura].[Cała firma], [Kategoria Finansowa].[Wynik].[Koszt], [Measures].[Zwiększenie],[Wymiar].[Charakter kosztów].[Wszystkie], [Wymiar].[Działalność firmy].[Wszystkie], [Wymiar].[Model].[Wszystkie], [Wymiar].[Pracownicy].[<here a particular member>], [Wymiar].[Rodzaj kosztu].[Wszystkie]).VALUE = 30000 USE_WEIGHTED_ALLOCATION BY 1 / 14 / 3 / 3 / 15 / 42 / 70 that gives now two orders of magnitude less rows (about 5.4 mln). Now I have two scenarios: 1) Open transaction -> Update Cube (from above) -> second update cube (again from above, but with different member in [Wymiar].[Pracownicy] dimension - OLAP hangs (does not return control after execute) 2) Opening transaction -> Update Cube (from above) -> Close transaction, Open new transaction -> second update cube (again from above, but with different member in [Wymiar].[Pracownicy] dimension -> works fine Looks like a transaction that spans many rows is somehow running out of resources. Killing client process does not help, things come back to normal after reprocessing the budget cube (that probably rolls back teh transaction and frees some resources). My question is - what are the limitations in the writeback scenario and what resources should be tracked / increased to make things work fine? TIA Szymon Slupik, CTO CDN S.A., Krakow, Poland |
#7
| |||
| |||
|
|
Heavy CPU-usage(100 percent) over a long period on the client that uses writeback. Memory on the client does not peak the same way. I have not analyzed network traffic or the effect on the server. /Thomas "Bluetooth" <szymon_dot_slupik (AT) cdn (DOT) com.pl> wrote in message news:%23UPs6JPZEHA.3512 (AT) TK2MSFTNGP12 (DOT) phx.gbl... Yes, Thomas, I am aware top-down writebacks may be very time / resource consuming, but I lack the knowledge what exact resource limits we are hitting. Is the thing memory related or tempdb size related or something else....? Thanx, Szymon "Thomas Ivarsson" <TI (AT) nospam (DOT) com> wrote in message news:uMSO6QMZEHA.2972 (AT) TK2MSFTNGP12 (DOT) phx.gbl... I have not worked with this problem directly from MDX . My experience is with usinging a writeback supporting client(ProClarity). Most important is that all your writeback entries will be allocated down to the leaf-level in each dimension in the cube. The exception is if you are on the leaf level. So if you have a cube with many dimensions and each dimension contains many levels(and maybe many records at the leaf level), this is probably not the best structure for supporting writeback. Remove dimensions and use fewer levels in each dimension. Else you will run into performance problems on your client. Another approach we are using in a project is to use OLAP actions that direct the user to a web based data entry page together with a snapshot of the report/grid in a separate frame. We have a separate fact table for this and copy the values in this table to the cube fact table with data transformation services. HTH Thomas Ivarsson BI Consultant Malmö Sweden "Bluetooth" <szymon_dot_slupik (AT) cdn (DOT) com.pl> wrote in message news:%23JiTiCCZEHA.1656 (AT) TK2MSFTNGP09 (DOT) phx.gbl... Hi, I'm experiencing strange server behaviour (locks/hangs?) when doing UPDATE CUBE that results in large number of leaf level rows to be written to SQL. First example: UPDATE CUBE [Przychody i Koszty Budżet] SET ( [Budżet].[Scenariusz].[Podstawowy], [Czas].[Kalendarzowy].[Wszystkie lata].[2004].[Kwartał 1, 2004].[Styczeń, 2004], [Firma].[Struktura].[Cała firma], [Kategoria Finansowa].[Wynik].[Koszt], [Measures].[Zwiększenie],[Wymiar].[Charakter kosztów].[Wszystkie], [Wymiar].[Działalność firmy].[Wszystkie], [Wymiar].[Model].[Wszystkie], [Wymiar].[Pracownicy].[Wszystkie], [Wymiar].[Rodzaj kosztu].[Wszystkie]).VALUE = 30000 USE_WEIGHTED_ALLOCATION BY 1 / 14 / 3 / 3 / 15 / 42 / 70 / 97 After some 30-40 minutes throws out "Syntax Error near: <here the above MDX>". In this case update tries to write 14 * 3 * 3 * 15 * 42 * 70 * 97 = 538,990,200 rows Trying to lighten the load, after removing one dimension from distribution (97 members) I used the following MDX: UPDATE CUBE [Przychody i Koszty Budżet] SET ( [Budżet].[Scenariusz].[Podstawowy], [Czas].[Kalendarzowy].[Wszystkie lata].[2004].[Kwartał 1, 2004].[Styczeń, 2004], [Firma].[Struktura].[Cała firma], [Kategoria Finansowa].[Wynik].[Koszt], [Measures].[Zwiększenie],[Wymiar].[Charakter kosztów].[Wszystkie], [Wymiar].[Działalność firmy].[Wszystkie], [Wymiar].[Model].[Wszystkie], [Wymiar].[Pracownicy].[<here a particular member>], [Wymiar].[Rodzaj kosztu].[Wszystkie]).VALUE = 30000 USE_WEIGHTED_ALLOCATION BY 1 / 14 / 3 / 3 / 15 / 42 / 70 that gives now two orders of magnitude less rows (about 5.4 mln). Now I have two scenarios: 1) Open transaction -> Update Cube (from above) -> second update cube (again from above, but with different member in [Wymiar].[Pracownicy] dimension - OLAP hangs (does not return control after execute) 2) Opening transaction -> Update Cube (from above) -> Close transaction, Open new transaction -> second update cube (again from above, but with different member in [Wymiar].[Pracownicy] dimension -> works fine Looks like a transaction that spans many rows is somehow running out of resources. Killing client process does not help, things come back to normal after reprocessing the budget cube (that probably rolls back teh transaction and frees some resources). My question is - what are the limitations in the writeback scenario and what resources should be tracked / increased to make things work fine? TIA Szymon Slupik, CTO CDN S.A., Krakow, Poland |
#8
| |||
| |||
|
|
Hi, I'm experiencing strange server behaviour (locks/hangs?) when doing UPDATE CUBE that results in large number of leaf level rows to be written to SQL. First example: UPDATE CUBE [Przychody i Koszty Budżet] SET ( [Budżet].[Scenariusz].[Podstawowy], [Czas].[Kalendarzowy].[Wszystkie lata].[2004].[Kwartał 1, 2004].[Styczeń, 2004], [Firma].[Struktura].[Cała firma], [Kategoria Finansowa].[Wynik].[Koszt], [Measures].[Zwiększenie],[Wymiar].[Charakter kosztów].[Wszystkie], [Wymiar].[Działalność firmy].[Wszystkie], [Wymiar].[Model].[Wszystkie], [Wymiar].[Pracownicy].[Wszystkie], [Wymiar].[Rodzaj kosztu].[Wszystkie]).VALUE = 30000 USE_WEIGHTED_ALLOCATION BY 1 / 14 / 3 / 3 / 15 / 42 / 70 / 97 After some 30-40 minutes throws out "Syntax Error near: <here the above MDX>". In this case update tries to write 14 * 3 * 3 * 15 * 42 * 70 * 97 = 538,990,200 rows Trying to lighten the load, after removing one dimension from distribution (97 members) I used the following MDX: UPDATE CUBE [Przychody i Koszty Budżet] SET ( [Budżet].[Scenariusz].[Podstawowy], [Czas].[Kalendarzowy].[Wszystkie lata].[2004].[Kwartał 1, 2004].[Styczeń, 2004], [Firma].[Struktura].[Cała firma], [Kategoria Finansowa].[Wynik].[Koszt], [Measures].[Zwiększenie],[Wymiar].[Charakter kosztów].[Wszystkie], [Wymiar].[Działalność firmy].[Wszystkie], [Wymiar].[Model].[Wszystkie], [Wymiar].[Pracownicy].[<here a particular member>], [Wymiar].[Rodzaj kosztu].[Wszystkie]).VALUE = 30000 USE_WEIGHTED_ALLOCATION BY 1 / 14 / 3 / 3 / 15 / 42 / 70 that gives now two orders of magnitude less rows (about 5.4 mln). Now I have two scenarios: 1) Open transaction -> Update Cube (from above) -> second update cube (again from above, but with different member in [Wymiar].[Pracownicy] dimension - OLAP hangs (does not return control after execute) 2) Opening transaction -> Update Cube (from above) -> Close transaction, Open new transaction -> second update cube (again from above, but with different member in [Wymiar].[Pracownicy] dimension -> works fine Looks like a transaction that spans many rows is somehow running out of resources. Killing client process does not help, things come back to normal after reprocessing the budget cube (that probably rolls back teh transaction and frees some resources). My question is - what are the limitations in the writeback scenario and what resources should be tracked / increased to make things work fine? TIA Szymon Slupik, CTO CDN S.A., Krakow, Poland |
#9
| |||
| |||
|
#10
| |||
| |||
|
![]() |
| Thread Tools | |
| Display Modes | |
| |