powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Распределение, мать его..
11 сообщений из 11, страница 1 из 1
Распределение, мать его..
    #39920216
ecnby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят, всем привет и хорошей жизни! Сразу хочу отметить, что, перед тем как спрашивать, честно потратил около 2 недель на чтение литературы и поиск оптимального решения. Сам ~8 лет плотно занимался разработкой на SAP платформе(включая HANA). На SQL сервер перешёл по воле случая, о чем ни с колечки не жалею. Всё, что касалось уровня БД пролетело легко и непринуждённо - все решения были встроены оптимально и получили признание от заказчика. Далее пошла возня с олап серваком. Через пару дней работы пришло осознание, что без знания MDX там делать нечего(кто в курсе, sap ограждает пользователей и разработчиков от необходимости знания MDX). Утомил. Приношу извещения и ближе к делу.
Вопрос распределения большого массива данных с расходами(партиция ~1,5 млн) по долям(пол ляма записей с долями + конечным и аналитиками). Как дешевле всего перемножить листья с расходами и подать в агрегированом виде(верхние узлы элементов на которые распределил?) и вообще стоит ли мне дальше потеть над решением такой задачи на уровне олап? Сейчас пытаюсь тюнить сл. Схему: таблица с расходами + внешний ключ -> димэншн с аналогичным ключем и суммой расходов, агрегированный до уровня распределения -> димэншн с внутренним ключем, внешним ключем(общий) и долями.
Прошу подтолкнуть к самому Оптимально у и быстрому решению.
Всех благ.
...
Рейтинг: 0 / 0
Распределение, мать его..
    #39920237
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ecnby:

Ваша задача похожа на трансформацию факта из бух. учета в управленческий учет. Я обычно делаю распределение/трансформацию на уровне реляционного ХД, чтобы все было прозрачно с поддержкой версионности. В некоторых случаях делаю распределения на уровне кубов системы бюджетирования (такой как IBM Cognos TM1).
...
Рейтинг: 0 / 0
Распределение, мать его..
    #39920244
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Телепатов ищите?
Написано непонятно, и большая часть не по делу.
Если бы пример был, то был бы шанс получить ответ.
...
Рейтинг: 0 / 0
Распределение, мать его..
    #39920293
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ecnby,

Я буквально на прошлой неделе занимался аналогичной задачей. Есть дерево, есть веса, надо по этой весовой процентовке раскидать другие показатели.

Все это простейшим образом решается на уровне sql запроса, если вы умеете писать рекурсивный CTE.

Если вы хотите это делать на уровне MDX, то смотрите в сторону функции generate и descandants, чтобы сделать рекурсию.

У вас нет никакого примера, поэтому в каком виде вам что-то подсказывать непонятно.
...
Рейтинг: 0 / 0
Распределение, мать его..
    #39920389
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ecnby,

если я правильно понял, то и в "таблица с расходами", и в "таблице с долями" есть "внешний ключ",
то какие проблемы?
примерберем 2 таблы:
values:
key1 value1 1001 662 752 303 10

weights:
key1 key2 weight1 1 0.501 2 0.502 1 0.332 3 0.332 4 0.343 1 0.253 5 0.753 6 1.00
key1 = внешний ключ
делаем кубик с 2 измерениями key1 и key2 и 2мя группами мер Values, Weigths, связываем, добавляем еще одну меру с MeasureExpression и все.
Само все раскидалось:
Key2Weight - Value1 120.152 833 34.654 35.75 7.56 10
А уж доп группировки по key2 вроде не проблема.


Скрипт куба
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
<Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
    <ObjectDefinition>
        <Database xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500">
            <ID>ValuesByWeights</ID>
            <Name>ValuesByWeights</Name>
            <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>
            <Language>1049</Language>
            <Collation>Cyrillic_General_CI_AS</Collation>
            <DataSourceImpersonationInfo>
                <ImpersonationMode>Default</ImpersonationMode>
            </DataSourceImpersonationInfo>
            <Dimensions>
                <Dimension>
                    <ID>dimKey1</ID>
                    <Name>dimKey1</Name>
                    <Source xsi:type="DataSourceViewBinding">
                        <DataSourceViewID>dsv</DataSourceViewID>
                    </Source>
                    <ErrorConfiguration>
                        <KeyNotFound>ReportAndStop</KeyNotFound>
                        <KeyDuplicate>ReportAndStop</KeyDuplicate>
                        <NullKeyNotAllowed>ReportAndStop</NullKeyNotAllowed>
                    </ErrorConfiguration>
                    <Language>1049</Language>
                    <Collation>Cyrillic_General_CI_AS</Collation>
                    <UnknownMemberName>Unknown</UnknownMemberName>
                    <Attributes>
                        <Attribute>
                            <ID>Key1</ID>
                            <Name>Key1</Name>
                            <Usage>Key</Usage>
                            <KeyColumns>
                                <KeyColumn>
                                    <DataType>Integer</DataType>
                                    <Source xsi:type="ColumnBinding">
                                        <TableID>nqValues</TableID>
                                        <ColumnID>key1</ColumnID>
                                    </Source>
                                </KeyColumn>
                            </KeyColumns>
                            <NameColumn>
                                <DataType>WChar</DataType>
                                <Source xsi:type="ColumnBinding">
                                    <TableID>nqValues</TableID>
                                    <ColumnID>key1</ColumnID>
                                </Source>
                            </NameColumn>
                            <OrderBy>Key</OrderBy>
                        </Attribute>
                    </Attributes>
                    <ProactiveCaching>
                        <SilenceInterval>-PT1S</SilenceInterval>
                        <Latency>-PT1S</Latency>
                        <SilenceOverrideInterval>-PT1S</SilenceOverrideInterval>
                        <ForceRebuildInterval>-PT1S</ForceRebuildInterval>
                        <Source xsi:type="ProactiveCachingInheritedBinding" />
                    </ProactiveCaching>
                </Dimension>
                <Dimension>
                    <ID>dimKey2</ID>
                    <Name>dimKey2</Name>
                    <Source xsi:type="DataSourceViewBinding">
                        <DataSourceViewID>dsv</DataSourceViewID>
                    </Source>
                    <ErrorConfiguration>
                        <KeyNotFound>ReportAndStop</KeyNotFound>
                        <KeyDuplicate>ReportAndStop</KeyDuplicate>
                        <NullKeyNotAllowed>ReportAndStop</NullKeyNotAllowed>
                    </ErrorConfiguration>
                    <Language>1049</Language>
                    <Collation>Cyrillic_General_CI_AS</Collation>
                    <UnknownMemberName>Unknown</UnknownMemberName>
                    <Attributes>
                        <Attribute>
                            <ID>Key2</ID>
                            <Name>Key2</Name>
                            <Usage>Key</Usage>
                            <KeyColumns>
                                <KeyColumn>
                                    <DataType>Integer</DataType>
                                    <Source xsi:type="ColumnBinding">
                                        <TableID>nqWeights</TableID>
                                        <ColumnID>key2</ColumnID>
                                    </Source>
                                </KeyColumn>
                            </KeyColumns>
                            <NameColumn>
                                <DataType>WChar</DataType>
                                <Source xsi:type="ColumnBinding">
                                    <TableID>nqWeights</TableID>
                                    <ColumnID>key2</ColumnID>
                                </Source>
                            </NameColumn>
                            <OrderBy>Key</OrderBy>
                        </Attribute>
                    </Attributes>
                    <ProactiveCaching>
                        <SilenceInterval>-PT1S</SilenceInterval>
                        <Latency>-PT1S</Latency>
                        <SilenceOverrideInterval>-PT1S</SilenceOverrideInterval>
                        <ForceRebuildInterval>-PT1S</ForceRebuildInterval>
                        <Source xsi:type="ProactiveCachingInheritedBinding" />
                    </ProactiveCaching>
                </Dimension>
                <Dimension>
                    <ID>Nq Values</ID>
                    <Name>Nq Values</Name>
                    <Source xsi:type="DataSourceViewBinding">
                        <DataSourceViewID>dsv</DataSourceViewID>
                    </Source>
                    <ErrorConfiguration>
                        <KeyNotFound>ReportAndStop</KeyNotFound>
                        <KeyDuplicate>ReportAndStop</KeyDuplicate>
                        <NullKeyNotAllowed>ReportAndStop</NullKeyNotAllowed>
                    </ErrorConfiguration>
                    <Language>1049</Language>
                    <Collation>Cyrillic_General_CI_AS</Collation>
                    <UnknownMemberName>Unknown</UnknownMemberName>
                    <Attributes>
                        <Attribute>
                            <ID>Key1</ID>
                            <Name>Key1</Name>
                            <Usage>Key</Usage>
                            <KeyColumns>
                                <KeyColumn>
                                    <DataType>Integer</DataType>
                                    <Source xsi:type="ColumnBinding">
                                        <TableID>nqValues</TableID>
                                        <ColumnID>key1</ColumnID>
                                    </Source>
                                </KeyColumn>
                            </KeyColumns>
                            <NameColumn>
                                <DataType>WChar</DataType>
                                <Source xsi:type="ColumnBinding">
                                    <TableID>nqValues</TableID>
                                    <ColumnID>key1</ColumnID>
                                </Source>
                            </NameColumn>
                            <OrderBy>Key</OrderBy>
                        </Attribute>
                    </Attributes>
                    <ProactiveCaching>
                        <SilenceInterval>-PT1S</SilenceInterval>
                        <Latency>-PT1S</Latency>
                        <SilenceOverrideInterval>-PT1S</SilenceOverrideInterval>
                        <ForceRebuildInterval>-PT1S</ForceRebuildInterval>
                        <Source xsi:type="ProactiveCachingInheritedBinding" />
                    </ProactiveCaching>
                </Dimension>
                <Dimension>
                    <ID>Nq Weights</ID>
                    <Name>Nq Weights</Name>
                    <Source xsi:type="DataSourceViewBinding">
                        <DataSourceViewID>dsv</DataSourceViewID>
                    </Source>
                    <ErrorConfiguration>
                        <KeyNotFound>ReportAndStop</KeyNotFound>
                        <KeyDuplicate>ReportAndStop</KeyDuplicate>
                        <NullKeyNotAllowed>ReportAndStop</NullKeyNotAllowed>
                    </ErrorConfiguration>
                    <Language>1049</Language>
                    <Collation>Cyrillic_General_CI_AS</Collation>
                    <UnknownMemberName>Unknown</UnknownMemberName>
                    <Attributes>
                        <Attribute>
                            <ID>Key2</ID>
                            <Name>Key2</Name>
                            <Usage>Key</Usage>
                            <KeyColumns>
                                <KeyColumn>
                                    <DataType>Integer</DataType>
                                    <Source xsi:type="ColumnBinding">
                                        <TableID>nqWeights</TableID>
                                        <ColumnID>key2</ColumnID>
                                    </Source>
                                </KeyColumn>
                            </KeyColumns>
                            <NameColumn>
                                <DataType>WChar</DataType>
                                <Source xsi:type="ColumnBinding">
                                    <TableID>nqWeights</TableID>
                                    <ColumnID>key2</ColumnID>
                                </Source>
                            </NameColumn>
                            <OrderBy>Key</OrderBy>
                        </Attribute>
                    </Attributes>
                    <ProactiveCaching>
                        <SilenceInterval>-PT1S</SilenceInterval>
                        <Latency>-PT1S</Latency>
                        <SilenceOverrideInterval>-PT1S</SilenceOverrideInterval>
                        <ForceRebuildInterval>-PT1S</ForceRebuildInterval>
                        <Source xsi:type="ProactiveCachingInheritedBinding" />
                    </ProactiveCaching>
                </Dimension>
            </Dimensions>
            <Cubes>
                <Cube>
                    <ID>cube</ID>
                    <Name>cube</Name>
                    <Language>1049</Language>
                    <Collation>Cyrillic_General_CI_AS</Collation>
                    <Dimensions>
                        <Dimension>
                            <ID>dimKey1</ID>
                            <Name>dimKey1</Name>
                            <DimensionID>dimKey1</DimensionID>
                            <Attributes>
                                <Attribute>
                                    <AttributeID>Key1</AttributeID>
                                </Attribute>
                            </Attributes>
                        </Dimension>
                        <Dimension>
                            <ID>dimKey2</ID>
                            <Name>dimKey2</Name>
                            <DimensionID>dimKey2</DimensionID>
                            <Attributes>
                                <Attribute>
                                    <AttributeID>Key2</AttributeID>
                                </Attribute>
                            </Attributes>
                        </Dimension>
                    </Dimensions>
                    <MeasureGroups>
                        <MeasureGroup>
                            <ID>Values</ID>
                            <Name>Values</Name>
                            <Measures>
                                <Measure>
                                    <ID>Value</ID>
                                    <Name>Value</Name>
                                    <DataType>Integer</DataType>
                                    <Source>
                                        <DataType>Integer</DataType>
                                        <Source xsi:type="ColumnBinding">
                                            <TableID>nqValues</TableID>
                                            <ColumnID>value</ColumnID>
                                        </Source>
                                    </Source>
                                </Measure>
                            </Measures>
                            <StorageMode>Molap</StorageMode>
                            <ProcessingMode>Regular</ProcessingMode>
                            <Dimensions>
                                <Dimension xsi:type="RegularMeasureGroupDimension">
                                    <CubeDimensionID>dimKey1</CubeDimensionID>
                                    <Attributes>
                                        <Attribute>
                                            <AttributeID>Key1</AttributeID>
                                            <KeyColumns>
                                                <KeyColumn>
                                                    <DataType>Integer</DataType>
                                                    <Source xsi:type="ColumnBinding">
                                                        <TableID>nqValues</TableID>
                                                        <ColumnID>key1</ColumnID>
                                                    </Source>
                                                </KeyColumn>
                                            </KeyColumns>
                                            <Type>Granularity</Type>
                                        </Attribute>
                                    </Attributes>
                                </Dimension>
                            </Dimensions>
                            <Partitions>
                                <Partition>
                                    <ID>Nq Values</ID>
                                    <Name>Nq Values</Name>
                                    <Source xsi:type="DsvTableBinding">
                                        <DataSourceViewID>dsv</DataSourceViewID>
                                        <TableID>nqValues</TableID>
                                    </Source>
                                    <StorageMode>Molap</StorageMode>
                                    <ProcessingMode>Regular</ProcessingMode>
                                    <ProactiveCaching>
                                        <SilenceInterval>-PT1S</SilenceInterval>
                                        <Latency>-PT1S</Latency>
                                        <SilenceOverrideInterval>-PT1S</SilenceOverrideInterval>
                                        <ForceRebuildInterval>-PT1S</ForceRebuildInterval>
                                        <Source xsi:type="ProactiveCachingInheritedBinding" />
                                    </ProactiveCaching>
                                </Partition>
                            </Partitions>
                            <ProactiveCaching>
                                <SilenceInterval>-PT1S</SilenceInterval>
                                <Latency>-PT1S</Latency>
                                <SilenceOverrideInterval>-PT1S</SilenceOverrideInterval>
                                <ForceRebuildInterval>-PT1S</ForceRebuildInterval>
                                <Source xsi:type="ProactiveCachingInheritedBinding" />
                            </ProactiveCaching>
                        </MeasureGroup>
                        <MeasureGroup>
                            <ID>Weights</ID>
                            <Name>Weights</Name>
                            <Measures>
                                <Measure>
                                    <ID>Weight</ID>
                                    <Name>Weight</Name>
                                    <DataType>Double</DataType>
                                    <Source>
                                        <DataType>Double</DataType>
                                        <Source xsi:type="ColumnBinding">
                                            <TableID>nqWeights</TableID>
                                            <ColumnID>weight</ColumnID>
                                        </Source>
                                    </Source>
                                </Measure>
                                <Measure>
                                    <ID>Weight - Weights</ID>
                                    <Name>Weight - Value</Name>
                                    <DataType>Double</DataType>
                                    <Source>
                                        <DataType>Double</DataType>
                                        <Source xsi:type="ColumnBinding">
                                            <TableID>nqWeights</TableID>
                                            <ColumnID>weight</ColumnID>
                                        </Source>
                                    </Source>
                                    <MeasureExpression>Measures.Weight * Measures.Value</MeasureExpression>
                                </Measure>
                            </Measures>
                            <StorageMode>Molap</StorageMode>
                            <ProcessingMode>Regular</ProcessingMode>
                            <Dimensions>
                                <Dimension xsi:type="RegularMeasureGroupDimension">
                                    <CubeDimensionID>dimKey2</CubeDimensionID>
                                    <Attributes>
                                        <Attribute>
                                            <AttributeID>Key2</AttributeID>
                                            <KeyColumns>
                                                <KeyColumn>
                                                    <DataType>Integer</DataType>
                                                    <Source xsi:type="ColumnBinding">
                                                        <TableID>nqWeights</TableID>
                                                        <ColumnID>key2</ColumnID>
                                                    </Source>
                                                </KeyColumn>
                                            </KeyColumns>
                                            <Type>Granularity</Type>
                                        </Attribute>
                                    </Attributes>
                                </Dimension>
                                <Dimension xsi:type="RegularMeasureGroupDimension">
                                    <CubeDimensionID>dimKey1</CubeDimensionID>
                                    <Attributes>
                                        <Attribute>
                                            <AttributeID>Key1</AttributeID>
                                            <KeyColumns>
                                                <KeyColumn>
                                                    <DataType>Integer</DataType>
                                                    <Source xsi:type="ColumnBinding">
                                                        <TableID>nqWeights</TableID>
                                                        <ColumnID>key1</ColumnID>
                                                    </Source>
                                                </KeyColumn>
                                            </KeyColumns>
                                            <Type>Granularity</Type>
                                        </Attribute>
                                    </Attributes>
                                </Dimension>
                            </Dimensions>
                            <Partitions>
                                <Partition>
                                    <ID>Nq Weights</ID>
                                    <Name>Nq Weights</Name>
                                    <Source xsi:type="DsvTableBinding">
                                        <DataSourceViewID>dsv</DataSourceViewID>
                                        <TableID>nqWeights</TableID>
                                    </Source>
                                    <StorageMode>Molap</StorageMode>
                                    <ProcessingMode>Regular</ProcessingMode>
                                    <ProactiveCaching>
                                        <SilenceInterval>-PT1S</SilenceInterval>
                                        <Latency>-PT1S</Latency>
                                        <SilenceOverrideInterval>-PT1S</SilenceOverrideInterval>
                                        <ForceRebuildInterval>-PT1S</ForceRebuildInterval>
                                        <Source xsi:type="ProactiveCachingInheritedBinding" />
                                    </ProactiveCaching>
                                </Partition>
                            </Partitions>
                            <ProactiveCaching>
                                <SilenceInterval>-PT1S</SilenceInterval>
                                <Latency>-PT1S</Latency>
                                <SilenceOverrideInterval>-PT1S</SilenceOverrideInterval>
                                <ForceRebuildInterval>-PT1S</ForceRebuildInterval>
                                <Source xsi:type="ProactiveCachingInheritedBinding" />
                            </ProactiveCaching>
                        </MeasureGroup>
                    </MeasureGroups>
                    <Source>
                        <DataSourceViewID>dsv</DataSourceViewID>
                    </Source>
                    <ProactiveCaching>
                        <SilenceInterval>-PT1S</SilenceInterval>
                        <Latency>-PT1S</Latency>
                        <SilenceOverrideInterval>-PT1S</SilenceOverrideInterval>
                        <ForceRebuildInterval>-PT1S</ForceRebuildInterval>
                        <Source xsi:type="ProactiveCachingInheritedBinding" />
                    </ProactiveCaching>
                </Cube>
            </Cubes>
            <DataSources>
                <DataSource xsi:type="RelationalDataSource">
                    <ID>ds</ID>
                    <Name>ds</Name>
                    <ConnectionString>Provider=SQLNCLI11.1;Data Source=.;Integrated Security=SSPI;Initial Catalog=tempdb;</ConnectionString>
                    <ImpersonationInfo>
                        <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>
                    </ImpersonationInfo>
                    <Timeout>PT0S</Timeout>
                </DataSource>
            </DataSources>
            <DataSourceViews>
                <DataSourceView>
                    <ID>dsv</ID>
                    <Name>dsv</Name>
                    <DataSourceID>ds</DataSourceID>
                    <Schema>
                        <xs:schema id="dsv" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop">
                            <xs:element name="dsv" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
                                <xs:complexType>
                                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="nqValues" msprop:IsLogical="True" msprop:FriendlyName="nqValues" msprop:DbTableName="nqValues" msprop:TableType="View" msprop:Description="" msprop:QueryDefinition="select key1, value &#xD;&#xA;from (values (1, 100), (1, 66), (2, 75), (2, 30), (3, 10)) v (key1, value)" msprop:QueryBuilder="GenericQueryBuilder">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="key1" msdata:ReadOnly="true" msprop:DbColumnName="key1" msprop:FriendlyName="key1" type="xs:int" minOccurs="0" />
                                                    <xs:element name="value" msdata:ReadOnly="true" msprop:DbColumnName="value" msprop:FriendlyName="value" type="xs:int" minOccurs="0" />
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="nqWeights" msprop:IsLogical="True" msprop:FriendlyName="nqWeights" msprop:DbTableName="nqWeights" msprop:TableType="View" msprop:Description="" msprop:QueryDefinition="select key1, key2, weight &#xD;&#xA;from (values &#xD;&#xA;(1, 1, 0.5), &#xD;&#xA;(1, 2, 0.5), &#xD;&#xA;(2, 1, 0.33), &#xD;&#xA;(2, 3, 0.33), &#xD;&#xA;(2, 4, 0.34),&#xD;&#xA;(3, 1, 0.25), &#xD;&#xA;(3, 5, 0.75), &#xD;&#xA;(3, 6, 1)&#xD;&#xA;) v (key1, key2, weight)" msprop:QueryBuilder="GenericQueryBuilder">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="key1" msdata:ReadOnly="true" msprop:DbColumnName="key1" msprop:FriendlyName="key1" type="xs:int" minOccurs="0" />
                                                    <xs:element name="key2" msdata:ReadOnly="true" msprop:DbColumnName="key2" msprop:FriendlyName="key2" type="xs:int" minOccurs="0" />
                                                    <xs:element name="weight" msdata:ReadOnly="true" msprop:DbColumnName="weight" msprop:FriendlyName="weight" type="xs:decimal" minOccurs="0" />
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                        </xs:schema>
                        <dsv xmlns="" />
                    </Schema>
                </DataSourceView>
            </DataSourceViews>
        </Database>
    </ObjectDefinition>
</Create>

...
Рейтинг: 0 / 0
Распределение, мать его..
    #39920463
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ecnby,

"лучший MDX - не написанный MDX" (С)
делайте на урове базы, и тащите в куб уже готовое
...
Рейтинг: 0 / 0
Распределение, мать его..
    #39920488
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarikNavy,

авторство чье?
пока, все что генерят всякие drag'n'drop значительно хуже самописного MDX.
...
Рейтинг: 0 / 0
Распределение, мать его..
    #39920920
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarikNavy
ecnby,

"лучший MDX - не написанный MDX" (С)
делайте на урове базы, и тащите в куб уже готовое


100%
...
Рейтинг: 0 / 0
Распределение, мать его..
    #39921054
Borodat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShIgor
StarikNavy,

авторство чье?

Это сказал Моша.
...
Рейтинг: 0 / 0
Распределение, мать его..
    #39921101
ecnby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgor,

Спасибо, бро. Всё взлетело! Всё оказалось так просто, как ты описал. А я велосипед пытался изобрести. В свою защиту хочу отметить, что информации и гайдов, использующих measure expression, почти нет. Но, зато, тонны инфы по скриптам и расчетникам. Вот я и повелся:)
Спасибо за то, что есть такие отзывчивые люди.
З. Ы. раз уж на то пошло, почему эта функция так мало популярна и должен ли я задумываться о правильности решений, когда пользуюсь этой фитчей, или её применение 'не по феншую'?
...
Рейтинг: 0 / 0
Распределение, мать его..
    #39921130
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ecnby,

не могу сказать почему эта функциональность редко используется..
могу только предположить, что из-за ее сильно ограниченных возможностей, и отсутствия тестов на производительность.

кроме прочего, при наличии единого ключа все можно посчитать и до заливки данных в куб, что Вам собственно и предлагали.
я тоже стараюсь считать до, однако не всегда это приемлемо.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Распределение, мать его..
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]