Counter in Transform
Hello,
I have input that has multiple set of Element called <Vehicle> </Vehicle>. Vehicle has attribute called VehicleCode that takes string value.
I have destination XSD. I am using Transform activity to MAP these multiple <Vehicle> to destination XSD using For-Each. Everything is mapping Good.
only problem is, I need to construct Vehiclecode using few of the input XSD elements and finally it would look like follow..........
CarModel-00#Year-13023445654333-1 (I know to use concat function to append this string)
In above 13023445654333 -------- is a current dateTimeStamp
1 -------- is counter
Problem :
1> How do i construct Timestamp and
2> More important since at the end it is a counter, how do i increment it ?
Meaning the second SET would look like CarModel-00#Year-13023445654333-2
Third SET would look like CarModel-00#Year-13023445654333-3
Fourth like CarModel-00#Year-13023445654333-4
so on.... till all SETs in input is complete.
So since I am using Transform in Mapping these SETs to destination XSD, then how can I say in transform that increment that last counter by one for each subsequent set ???
thanks,
dd
How about this?
SQL> r
1 select dname, ename,
2 row_number() over (partition by dname order by ename) rn
3 from emp, dept
4* where emp.deptno=dept.deptno
DNAME ENAME RN
ACCOUNTING CLARK 1
ACCOUNTING KING 2
ACCOUNTING MILLER 3
RESEARCH ADAMS 1
RESEARCH FORD 2
RESEARCH JONES 3
RESEARCH SCOTT 4
RESEARCH SMITH 5
RESEARCH WARD 6
SALES ALLEN 1
SALES BLAKE 2
SALES JAMES 3
SALES MARTIN 4
SALES TURNER 5
SALES WARD 6
15 rows selected.
SQL>
Similar Messages
-
Forumla Variable with Exception Aggregation
Hello,
I've CKF in BEx, in this CKf there is replacement path Formula variable calculating number of documents.
Formula variable is replacing the value of Document number infoobject.
So definition of CKF is -> Replacement path Formula variable *1
Ckf is restricted to summation with Exception aggregation on Document number.
This implementation is working fine but issue is its taking lot of time in query ,like while checking RSRT olap :data transfer(Event ID) is taking lot of time,majority of the query execution time and counter is going somewhere around 100K.
Do you know is there a way we can implement this count in transformation?
Thanks in Advance!Hi,
Doing SUM in transformation takes a long time as you need to read all the content in target.
So it is better to fine tune the query.
1) Is query running long time for small selections ?
2) Trace the query in RSRT and check where it is taking long time like Data base level , Application level
Thanks
Jagan -
SSIS accessing a dts package properties with C#
Hello there,
Please, Could anyone help me and let know how i can access the "DTS package" Proeperties eg. PackageName?
And which namespace does DTS belong to: (as in "using Microsoft.SqlServer. ....")
In C# please!Hi,
This is a sample code for reading the package transformation info
static void Main(string[] args)
String location = @"DTS.Old\SomeDTSPackage.dts";
DTS.Package pkg = new DTS.Package();
DTS.Task task;
DTS.DataPumpTask2 dataPumpTask;
DTS.Transformation transform;
DTS.Column source;
DTS.Column destination;
pkg.LoadFromStorageFile(location, null, null, null, null, null);
Console.WriteLine("{0}", pkg.Name);
Console.WriteLine(" TASKS");
for (Int32 tsk = 1; tsk <= pkg.Tasks.Count; tsk++)
if (pkg.Tasks.Item(tsk).CustomTaskID == "DTSDataPumpTask")
dataPumpTask = (DTS.DataPumpTask2)pkg.Tasks.Item(tsk).CustomTask;
Console.WriteLine(" TRANSFORMS");
for (Int32 trans = 1; trans <= dataPumpTask.Transformations.Count; trans++)
transform = dataPumpTask.Transformations.Item(trans);
for (Int32 col = 1; col <= transform.SourceColumns.Count && col <= transform.DestinationColumns.Count; col++)
source = transform.SourceColumns.Item(col);
destination = transform.DestinationColumns.Item(col);
Console.WriteLine(" {0} -> {1}", source.Name.PadRight(15, ' '), destination.Name);
Console.ReadKey(true);
Joe -
Looking to use BPEL Instance and counter inside of a transformation
I'm trying to find a way to include the BPEL instance and a counter within a BPEL transformation to create a unique key.
Example, picking up files with multiple lines and no unique keys, each file is processed as a unique BPEL instance (key 1), and would like to use the row number (of the file, but not specified in the file) as the second key.
My process takes a file from a file adapter and loads it into a database adapter if that helps.
Any ideas would be appreciated.We ended up finding a Node-set Function -> Position to return the position inside of the dataset.
-
How to Use Row Count Transformation
Environment: SQL Server 2008 R2
Purpose: Track number of records, which were loaded into each destination, entity tables or affected by data transaction. Record each table name and the number of records for each table.
Code:
CREATE TABLE dbo.PkgAudit
PkgAuditID INT IDENTITY(1, 1),
PackageName VARCHAR(100),
LoadTime DATETIME DEFAULT Getdate(),
Status1 Varchar(50),
Status2 varchar(20),
Status3 Varchar(20)
ETL process: See the following pictures. I have two DFT. Reference to the code in details.
Click here
The first one as below
The second DFT
Logic: Load the data from the staging table/ If matched with SSN then status is record exists in the pkgAudit table. If not matched, records the number of records and the status is inserted table in the DFT#1 (Step#1)
In DFT#2, record the name of the tables and number of records for each table
Expected Results:
1, Pakage, 20140304 10:24:12:17, 4 loaded, 3 inserted in individual and SSN table, 1 exists in SSN
Problem: In DFT #1, I placed RowCount Transformation. It generated a couple errors. I also dont know how to concatenate the name of the table and the number of records and the status of the affected table (inserted or exists or loaded).
I am here to learn as my level of competency is novice. I appreciate the support to ease my learning process. Screen shots is highly appreciated.
~ I tried to load more than picture but the editor allows only 2 pic per post. hope MSDN peeps improve itHi Sandra,
Thank you for your reply.
The expression is used for a variable, then the variable can be used in your INSERT statement. According to your screenshot, the PkgAudit table has five columns that you need to insert into. Please refer to the following steps:
1. Create three Int32 type Package scope variables @TotalCount, @InsertCount, and @MatchCount, and specify their initial value to 4, 3, 1 respectively.
2. Create three String type variables @NumberofRecords, @Status1, and @Status2. Then, set the ValidateAsExpression property of each variable to True, and set the expression for the three variables as follows:
NumberofRecords: (DT_STR,10,1252)@[User::TotalCount] + " loaded"
Status1: (DT_STR,10,1252) @[User::InsertCount] + " inserted in individual and SSN table"
Status2: (DT_STR,10,1252) @[User::MatchCount] + " in SSN"
Please refer to the following screenshot:
3. In the Execute SQL Task, modify your SQLStatement to:
INSERT INTO dbo.PkgAudit(PackageName
,LoadTime
,NumberofRecords
,Status1
,Status2
) VALUES(?,?,?,?,?)
4. Click the Parameter Mapping tab of the Execute SQL Task, and set the parameter mapping as follows (supposing all the columns in the PkgAudit table use varchar data type):
Regards,
Mike Yin
TechNet Community Support -
Using MODEL clause and COUNT for not numeric data columns....
Hi ,
Is it possible somehow to use the COUNT function to transform a non-numeric data column to a numeric data value (a counter) and be used in a MODEL clause....????
For example , i tried the following in the emp table of SCOTT dataschema with no desired result...
SQL> select deptno , empno , hiredate from emp;
DEPTNO EMPNO HIREDATE
20 7369 18/12/1980
30 7499 20/02/1981
30 7521 22/02/1981
20 7566 02/04/1981
30 7654 28/09/1981
30 7698 01/05/1981
10 7782 09/06/1981
20 7788 18/04/1987
10 7839 17/11/1981
30 7844 08/09/1981
20 7876 21/05/1987
30 7900 03/12/1981
20 7902 03/12/1981
10 7934 23/01/1982
14 rows selected Now , i want to use the MODEL clause in order to 'predict' the number of employees who were going to be hired in the 1990 per deptno...
So , i have constructed the following query which , as expected, does not return the desired results....
SQL> select deptno , month , year , count_
2 from
3 (
4 select deptno , to_number(to_char(hiredate,'mm')) month ,
5 to_number(to_char(hiredate , 'rrrr')) year , count(ename) count_
6 from emp
7 group by deptno , to_number(to_char(hiredate,'mm')) ,
8 to_number(to_char(hiredate , 'rrrr'))
9 )
10 model
11 partition by(deptno)
12 dimension by (month , year)
13 measures (count_ )
14 (
15 count_[1,1990]=count_[1,1982]+count_[11,1982]
16 )
17 /
DEPTNO MONTH YEAR COUNT_
30 5 1981 1
30 12 1981 1
30 2 1981 2
30 9 1981 2
30 1 1990
20 4 1987 1
20 5 1987 1
20 4 1981 1
20 12 1981 1
20 12 1980 1
20 1 1990
10 6 1981 1
10 11 1981 1
10 1 1982 1
10 1 1990 As you see , the measures for the 1990 year is null...because the measure(the count(deptno)) is computed via the group by and not by the MODEL clause...
How should i transform the above query... so as the "count_[1,1982]+count_[11,1982]" will return non-null results per deptno...????
Thanks , a lot
SimonConnected to Oracle Database 10g Express Edition Release 10.2.0.1.0
Connected as hr
SQL>
SQL> SELECT department_id, MONTH, YEAR, count_
2 FROM (SELECT e.department_id
3 ,to_number(to_char(e.hire_date, 'mm')) MONTH
4 ,to_number(to_char(e.hire_date, 'rrrr')) YEAR
5 ,COUNT(e.first_name) count_
6 FROM employees e
7 WHERE e.department_id = 20
8 GROUP BY e.department_id
9 ,to_number(to_char(e.hire_date, 'mm'))
10 ,to_number(to_char(e.hire_date, 'rrrr')));
DEPARTMENT_ID MONTH YEAR COUNT_
20 8 1997 1
20 2 1996 1
SQL> --
SQL> SELECT department_id, MONTH, YEAR, count_
2 FROM (SELECT e.department_id
3 ,to_number(to_char(e.hire_date, 'mm')) MONTH
4 ,to_number(to_char(e.hire_date, 'rrrr')) YEAR
5 ,COUNT(e.first_name) count_
6 FROM employees e
7 WHERE e.department_id = 20
8 GROUP BY e.department_id
9 ,to_number(to_char(e.hire_date, 'mm'))
10 ,to_number(to_char(e.hire_date, 'rrrr')))
11 model
12 PARTITION BY(department_id)
13 dimension BY(MONTH, YEAR)
14 measures(count_)(
15 count_ [1, 1990] = count_ [2, 1996] + count_ [8, 1997]
16 );
DEPARTMENT_ID MONTH YEAR COUNT_
20 8 1997 1
20 2 1996 1
20 1 1990 2
SQL> ---
SQL> SELECT department_id, MONTH, YEAR, count_
2 FROM (SELECT e.department_id
3 ,to_number(to_char(e.hire_date, 'mm')) MONTH
4 ,to_number(to_char(e.hire_date, 'rrrr')) YEAR
5 ,COUNT(e.first_name) count_
6 FROM employees e
7 GROUP BY e.department_id
8 ,to_number(to_char(e.hire_date, 'mm'))
9 ,to_number(to_char(e.hire_date, 'rrrr')))
10 model ignore nav
11 PARTITION BY(department_id)
12 dimension BY(MONTH, YEAR)
13 measures(count_)(
14 count_ [1, 1990] = count_ [2, 1996] + count_ [8, 1997]
15 );
DEPARTMENT_ID MONTH YEAR COUNT_
100 8 1994 2
30 12 1997 1
100 3 1998 1
30 7 1997 1
5 1999 1
30 12 1994 1
30 11 1998 1
30 5 1995 1
100 9 1997 2
100 12 1999 1
30 8 1999 1
1 1990 0
30 1 1990 0
100 1 1990 0
90 9 1989 1
20 8 1997 1
70 6 1994 1
93 rows selected
SQL> -
Hello,
I'm trying to put an Archlinux on the Asus Transformer book T200TA, and I will share here my progress. I will take note of a lot of things, when I manage to do something or when something does not work. And if you have any ideas to make something works, tell me !
Current status (for TL;DR)
- Boot under archiso : Working with patch
- Boot Archlinux on the keyboard's HDD : Working by putting boot and efi partition on the internal memory
- Virtualization of Windows 8.1 under linux : Partially working only with a 64 bit linux as host
- SD card : Working with patch
- Graphics : Working
- Random freezes : Fixed ?. Didn't experienced any since my new installation with linux 4.0
- xhci_hcd bug at boot ; Work in USB2 mode only
- Backlight control : Working
- Sound : Work on both headphone and speakers in stereo but you have to edit an alsa config file for enabling sound on one or both output and for setting the sound level. Microphone not tested.
- Wifi : Not working
- Bluetooth : Not working: Not working
- Battery indicator : Working With kernell patch
- Touchpad : Partially working : Only one finger and very unpleasant because the cursor move a little before you click.
- Touchscreen : Partially working : Works randomly and seems to not release click when you remove your finger.
Sources
The T200TA has a lot on common with the T100TA, so, much of my fixes come from this computer (as it has been release one year before and the T200 is currently pretty new).
- http://www.jfwhome.com/2014/03/07/perfe … book-t100/
- https://github.com/AdamWill/baytrail-m
- https://bbs.archlinux.org/viewtopic.php?id=179948
Boot under archiso
If you try to boot, it will not work. Because, as T100, it search only for 32bit efi (even if the cpu can handle 64bit OS). You can do like him.
Or you can do like me, I think it's easier, but really dirty (it's not a full script, execute it only part by part) :
## Create working directory
mkdir work
cd work
## Build grub and get missing bootloader files bootia32.efi
git clone git://git.savannah.gnu.org/grub.git
cd grub
./autogen.sh
export EFI_ARCH=i386
./configure --with-platform=efi --target=${EFI_ARCH} --program-prefix=""
make
cd grub-core
../grub-mkimage -d . -o bootia32.efi -O i386-efi -p /boot/grub ntfs hfs appleldr boot cat efi_gop efi_uga elf fat hfsplus iso9660 linux keylayouts memdisk minicmd part_apple ext2 extcmd xfs xnu part_bsd part_gpt search search_fs_file chain btrfs loadbios loadenv lvm minix minix2 reiserfs memrw mmap msdospart scsi loopback normal configfile gzio all_video efi_gop efi_uga gfxterm gettext echo boot chain eval
cp bootia32.efi ../../bootia32.efi
cd ../../
rm -r grub
##Get all file from the current archlinux install iso
#Search and replace all XXXX.XX.XX by the current release date and /dev/sdX by your usb key address. If you find a way to extract both partion from iso without dd, it should be faster than that, so tell me if you know how to do that.
dd bs=4M if="archlinux-XXXX.XX.XX-dual.iso" of=/dev/sdX
mkdir usb
mkdir newiso
# Unplug and replug your usb key and wait a little if mount doens't work :
mount /dev/sdX2 ./usb
cp -r usb/* newiso/
sync
umount usb
mount /dev/sdX1 ./usb
cp -r usb/* newiso/
sync
umount usb
rmdir usb
## Prepare new usb key content
mv bootia32.efi newiso/EFI/boot/
mkdir -p newiso/boot/grub
echo "
menuentry 'Arch Linux i686'{
echo 'Loading Linux core repo kernel ...'
linux /arch/boot/i686/vmlinuz nomodeset archisobasedir=arch archisolabel=ARCHISO
echo 'Loading initial ramdisk ...'
initrd /arch/boot/i686/archiso.img
menuentry 'Arch Linux x86_64'{
echo 'Loading Linux core repo kernel ...'
linux /arch/boot/x86_64/vmlinuz nomodeset archisobasedir=arch archisolabel=ARCHISO
echo 'Loading initial ramdisk ...'
initrd /arch/boot/x86_64/archiso.img
}" > newiso/boot/grub/grub.cfg
## Prepare the usb key partition
gdisk /dev/sdX
3 # Create blank GPT
o # Create a new empty GPT
y # Proceed
n # New partition
# Default partition number
# Default first sector
# Default last sector
EF00 # Bootable efi partition
c # change partion's name
ARCHISO
w # Write modifications on the disk
Y # Proceed
mkfs.fat -F 32 /dev/sdX1
echo mtools_skip_check=1 >> ~/.mtoolsrc
mlabel -i /dev/sdX1 -s ::ARCHISO
rm ~/.mtoolsrc
## Copy files to the usb key
mkdir usb
mount /dev/sdX1 usb
cp -r newiso/* usb/
sync
umount usb
rmdir usb
## Cleaning
cd ../
rm -r work
A better way of fixing that should be building a x86 version of the file `PreLoader` from the repo `git://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git` because this file is renamed as `bootx64.efi` during the archiso creation, and the missing file is the x86 equivalent : `bootia32.efi`. Anyway, I didn't manage to build it, so I gave up this path. Tell me if you find something better.
Boot Archlinux on the keyboard's HDD
I cannot currently use this computer under linux for everyday, but I need a linux to work or dev. And I have to admit that the windows UI is much better for touchscreen than any linux desktop that I tried. The internal memory is only 30GB. So I let Windows 8.1 on internal memory for "tablet mode" and linux on hard drive for "netbook mode".
I didn't find any way to make the computer boot to the hard drive (or the micro usb card of 64GB), the efi-bios don't see them (the HDD is pluged in usb 3.0, but even in USB 2.0 mode it does the same).
To make it work, you have to put the boot and efi partition on the internal memory :
- Create a boot parition (100mo ext2) on the internal memory or use the windows rescue partition (300mo, ntfs, ~86%used after grub and vmlinuz installation). And during your installation process, mount it at /boot (/dev/mmcblkpX)
- Use the windows EFI parition (100mo fat32) and mount it to /boot/efi (/dev/mmcblkpY)
- Then (re-)install linux (need internet connexion, wireless or no. Dont forget to start dhcpcd)
mount /dev/sdbZ /mnt # with /dev/sdbZ your keyboard's hdd root partition where linux will be installed
mkdir /mnt/boot
mount /dev/mmcblkpX /mnt/boot
mkdir /mnt/boot/efi
mount /dev/mmcblkpY /mnt/boot/efi
pacstrap /mnt/ base grub efibootmgr
genfstab -U -p /mnt >> /mnt/etc/fstab
- and install grub on partition
arch-chroot /mnt
grub-install --target=i386-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck
- Edit /etc/grub.d/40_custom and add at the end :
if [ "${grub_platform}" == "efi" ]; then
menuentry "Microsoft Windows Vista/7/8/8.1 UEFI-GPT" {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root --hint-bios=hd0,gptY --hint-efi=hd0,gptY --hint-baremetal=ahci0,gptY [fs_uuid]
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
fi
with gptY, the Y from /dev/mmcblkpY above (the efi partition)
and [hints_string] is gave by the command
grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
- Apply grub config
grub-mkconfig -o /boot/grub/grub.cfg
Now I can boot to "Windows Boot Manager" or "grub" from bios. But I choosed to have grub by default and then he ask me what I want.
Virtualization
What works :
- host Win32, guest linux32
- host win32, guest win32
- host linux32, guest linux32
- host linux64, guest win
What doesn't work:
- host linux32, guest win32
Windows 8.1 guest : With QEMU and Virtualbox, same problem during installation (or boot when already installed) we got a
Your PC needs to restart.
Please hold down the power button.
Error Code: 0x0000000A
Parameters:
0xFFFFFFE6
0x0000001F
0x00000000
0x8192BFAB
After 3min virtualbox said that a critical error happend and tell us to watch the log. But it seem useless because the bug happend after 7 seconds and nothing show up after 7 seconds.
SD Card
http://www.jfwhome.com/2014/03/07/perfect-ubuntu-or-other-linux-on-the-asus-transformer-book-t100/ wrote:
The SD card reader works with newer kernels, but the sdhci module needs some configuration. Create a new file:
sudo nano /etc/modprobe.d/sdhci.conf
Then add the following:
options sdhci debug_quirks=0x8000
ctrl-o then ctrl-x to save and exit, then:
sudo mkinitcpio -p linux
Graphics
2D and 3D accelerations are enabled with xf86-video-intel 2.99.917 and mesa 10.4 :
$ glxinfo | grep direct :(
direct rendering: Yes
GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
$ glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Bay Trail x86/MMX/SSE2
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.4.0
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.4.0
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.4.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.0
OpenGL ES profile extensions:
However firefox doens't enable 3D acceleration by default, you have to force it. To check if it use it, go to about:support
And this mean that, it doesn't support it :
GPU Accelerated Windows 0/1 Basic
To force it :
- Got to about:config
- Set layers.acceleration.force-enabled
- Set layers.offmainthreadcomposition.enabled to true
And restart firefox. Now you should have
GPU Accelerated Windows 1/1 OpenGL (OMTC)
Warning : 3D acceleration can make firefox more buggy, so try to disable it if you have problems.
source : http://askubuntu.com/questions/491750/f … in-firefox
Random freezes
After some minutes (last time after ~40minutes) the system freeze. I don't know if it's only graphical or not. This freeze seem to happend when the cpu/gpu has a lot to do.
I've done a clean install with default kernel 4.0 in may 2015, and since that, I didn't have any freeze.
xhci_hcd bug at boot
When I enable XHCI in bios, sometime, I get that
xhci_hcd 0000:00:14.0: Error while assigning device slot ID
xhci_hcd 0000:00:14.0: Max number of devices this xHCI host supports is 32.
usb usb1-port3: couldn't allocate usb_device
The port change randomly and when it is port3, I loose the keybard and mouse and I have to make a hard reebot.
To "fix" this, I disabled XHCI (wich mean USB3) from the bios.
Still happen with kernel 4.0
Sound
With the work of sid789. I manage to make sound work on Linux 4.0.
Save this file somewhere on your computer : asound.state
state.bytrt5640 {
#### General
# Level
control.1 {
iface MIXER
name 'DAC1 Playback Volume'
value.0 175 # Left volume
value.1 175 # right volume
comment {
access 'read write'
type INTEGER
count 2
range '0 - 175'
dbmin -65625
dbmax 0
dbvalue.0 0
dbvalue.1 0
# Disable both output Right
control.51 {
iface MIXER
name 'Stereo DAC MIXR DAC R1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
# Enable both Left speaker
control.54 {
iface MIXER
name 'Stereo DAC MIXL DAC L1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
# Channel to listen
control.21 {
iface MIXER
name 'DAC IF1 Data Switch'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 Normal
item.1 Swap
item.2 'left copy to right'
item.3 'right copy to left'
# Enable
# Only 0 and 2 works
control.100 {
iface MIXER
name 'DAI select'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 '1:1|2:2'
item.1 '1:2|2:1'
item.2 '1:1|2:1'
item.3 '1:2|2:2'
##### Speaker #####
#Enable
control.27 {
iface MIXER
name 'Speaker Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
#Change a little the volume..
control.19 {
iface MIXER
name 'Class D SPK Ratio Control'
value 10
comment {
access 'read write'
type ENUMERATED
count 1
item.0 '1.66x'
item.1 '1.83x'
item.2 '1.94x'
item.3 '2x'
item.4 '2.11x'
item.5 '2.22x'
item.6 '2.33x'
item.7 '2.44x'
item.8 '2.55x'
item.9 '2.66x'
item.10 '2.77x'
# Enable Left speaker
control.62 {
iface MIXER
name 'Speaker L Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
# Enable right speaker
control.61 {
iface MIXER
name 'Speaker R Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
# Enable right channel on right speaker
control.67 {
iface MIXER
name 'SPOR MIX DAC R1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
# Enable right channel on left speaker
control.70 {
iface MIXER
name 'SPOL MIX DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
# Enable left channel
control.71 {
iface MIXER
name 'SPOL MIX DAC L1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
##### headphone #####
# Enable
control.24 {
iface MIXER
name 'Headphone Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
#Enable too
control.34 {
iface MIXER
name 'HPO MIX DAC1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
# Enable Left
control.98 {
iface MIXER
name 'DAC MIXL INF1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
# Enable Right
control.96 {
iface MIXER
name 'DAC MIXR INF1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
# Enable right
control.59 {
iface MIXER
name 'HP R Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
# Enable Left
control.60 {
iface MIXER
name 'HP L Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
# Don't know what, but change something on headphone
control.58 {
iface MIXER
name 'DAC L2 Mux'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 IF2
item.1 'Base L/R'
## Useless on output
control.2 {
iface MIXER
name 'Mono Playback Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.11 {
iface MIXER
name 'Mono DAC Playback Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 175'
dbmin -65625
dbmax 0
dbvalue.0 -1500
dbvalue.1 -1500
control.3 {
iface MIXER
name 'Speaker Channel Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
control.4 {
iface MIXER
name 'Speaker Playback Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 39'
dbmin -4650
dbmax 1200
dbvalue.0 -900
dbvalue.1 -900
control.5 {
iface MIXER
name 'HP Channel Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
control.6 {
iface MIXER
name 'HP Playback Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 39'
dbmin -4650
dbmax 1200
dbvalue.0 1200
dbvalue.1 1200
control.7 {
iface MIXER
name 'OUT Playback Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
control.8 {
iface MIXER
name 'OUT Channel Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
control.9 {
iface MIXER
name 'OUT Playback Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 39'
dbmin -4650
dbmax 1200
dbvalue.0 -1950
dbvalue.1 -1950
control.10 {
iface MIXER
name 'DAC2 Playback Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
control.12 {
iface MIXER
name 'IN1 Boost'
value 8
comment {
access 'read write'
type INTEGER
count 1
range '0 - 8'
dbmin 0
dbmax 5200
dbvalue.0 3000
control.13 {
iface MIXER
name 'IN2 Boost'
value 8
comment {
access 'read write'
type INTEGER
count 1
range '0 - 8'
dbmin 0
dbmax 5200
dbvalue.0 3500
control.14 {
iface MIXER
name 'IN Capture Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 31'
dbmin -3450
dbmax 1200
dbvalue.0 -300
dbvalue.1 -300
control.15 {
iface MIXER
name 'ADC Capture Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
control.16 {
iface MIXER
name 'ADC Capture Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 127'
dbmin -17625
dbmax 30000
dbvalue.0 28500
dbvalue.1 28500
control.17 {
iface MIXER
name 'Mono ADC Capture Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 127'
dbmin -17625
dbmax 30000
dbvalue.0 27000
dbvalue.1 27000
control.18 {
iface MIXER
name 'ADC Boost Gain'
value.0 3
value.1 3
comment {
access 'read write'
type INTEGER
count 2
range '0 - 3'
dbmin 0
dbmax 3600
dbvalue.0 1200
dbvalue.1 1200
control.20 {
iface MIXER
name 'ADC IF1 Data Switch'
value 1
comment {
access 'read write'
type ENUMERATED
count 3
item.0 Normal
item.1 'left copy to right'
item.2 'right copy to left'
item.3 Swap
control.22 {
iface MIXER
name 'ADC IF2 Data Switch'
value 3
comment {
access 'read write'
type ENUMERATED
count 1
item.0 Normal
item.1 'left copy to right'
item.2 'right copy to left'
item.3 Swap
control.23 {
iface MIXER
name 'DAC IF2 Data Switch'
value 1
comment {
access 'read write'
type ENUMERATED
count 1
item.0 Normal
item.1 'left copy to right'
item.2 'right copy to left'
item.3 Swap
control.25 {
iface MIXER
name 'Headset Mic Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.26 {
iface MIXER
name 'Internal Mic Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.28 {
iface MIXER
name 'Mono MIX DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.29 {
iface MIXER
name 'Mono MIX DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.30 {
iface MIXER
name 'Mono MIX OUTVOL R Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.31 {
iface MIXER
name 'Mono MIX OUTVOL L Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.32 {
iface MIXER
name 'Mono MIX BST1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.33 {
iface MIXER
name 'HPO MIX DAC2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.35 {
iface MIXER
name 'HPO MIX HPVOL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.36 {
iface MIXER
name 'OUT MIXR SPK MIXR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.37 {
iface MIXER
name 'OUT MIXR BST2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.38 {
iface MIXER
name 'OUT MIXR BST1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.39 {
iface MIXER
name 'OUT MIXR INR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.40 {
iface MIXER
name 'OUT MIXR REC MIXR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.41 {
iface MIXER
name 'OUT MIXR DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.42 {
iface MIXER
name 'OUT MIXR DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.43 {
iface MIXER
name 'OUT MIXR DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.44 {
iface MIXER
name 'OUT MIXL SPK MIXL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.45 {
iface MIXER
name 'OUT MIXL BST1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.46 {
iface MIXER
name 'OUT MIXL INL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.47 {
iface MIXER
name 'OUT MIXL REC MIXL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.48 {
iface MIXER
name 'OUT MIXL DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.49 {
iface MIXER
name 'OUT MIXL DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.50 {
iface MIXER
name 'OUT MIXL DAC L1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.52 {
iface MIXER
name 'Stereo DAC MIXR DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.53 {
iface MIXER
name 'Stereo DAC MIXR ANC Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.55 {
iface MIXER
name 'Stereo DAC MIXL DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.56 {
iface MIXER
name 'Stereo DAC MIXL ANC Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.57 {
iface MIXER
name 'DAC R2 Mux'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 IF2
control.63 {
iface MIXER
name 'LOUT MIX DAC L1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.64 {
iface MIXER
name 'LOUT MIX DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.65 {
iface MIXER
name 'LOUT MIX OUTVOL L Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.66 {
iface MIXER
name 'LOUT MIX OUTVOL R Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.68 {
iface MIXER
name 'SPOR MIX SPKVOL R Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.69 {
iface MIXER
name 'SPOR MIX BST1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.72 {
iface MIXER
name 'SPOL MIX SPKVOL R Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.73 {
iface MIXER
name 'SPOL MIX SPKVOL L Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.74 {
iface MIXER
name 'SPOL MIX BST1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.75 {
iface MIXER
name 'SPK MIXR REC MIXR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.76 {
iface MIXER
name 'SPK MIXR INR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.77 {
iface MIXER
name 'SPK MIXR DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.78 {
iface MIXER
name 'SPK MIXR DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.79 {
iface MIXER
name 'SPK MIXR OUT MIXR Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.80 {
iface MIXER
name 'SPK MIXL REC MIXL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.81 {
iface MIXER
name 'SPK MIXL INL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.82 {
iface MIXER
name 'SPK MIXL DAC L1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.83 {
iface MIXER
name 'SPK MIXL DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.84 {
iface MIXER
name 'SPK MIXL OUT MIXL Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.85 {
iface MIXER
name 'DIG MIXR DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.86 {
iface MIXER
name 'DIG MIXR DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.87 {
iface MIXER
name 'DIG MIXL DAC L1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.88 {
iface MIXER
name 'DIG MIXL DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.89 {
iface MIXER
name 'Mono DAC MIXR DAC R1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.90 {
iface MIXER
name 'Mono DAC MIXR DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.91 {
iface MIXER
name 'Mono DAC MIXR DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.92 {
iface MIXER
name 'Mono DAC MIXL DAC L1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.93 {
iface MIXER
name 'Mono DAC MIXL DAC L2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.94 {
iface MIXER
name 'Mono DAC MIXL DAC R2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.95 {
iface MIXER
name 'DAC MIXR Stereo ADC Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.97 {
iface MIXER
name 'DAC MIXL Stereo ADC Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.99 {
iface MIXER
name 'SDI select'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 IF1
item.1 IF2
control.101 {
iface MIXER
name 'Mono ADC MIXR ADC1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.102 {
iface MIXER
name 'Mono ADC MIXR ADC2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.103 {
iface MIXER
name 'Mono ADC MIXL ADC1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.104 {
iface MIXER
name 'Mono ADC MIXL ADC2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.105 {
iface MIXER
name 'Stereo ADC MIXR ADC1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.106 {
iface MIXER
name 'Stereo ADC MIXR ADC2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.107 {
iface MIXER
name 'Stereo ADC MIXL ADC1 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.108 {
iface MIXER
name 'Stereo ADC MIXL ADC2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
control.109 {
iface MIXER
name 'Mono ADC R2 Mux'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 'DMIC R1'
item.1 'DMIC R2'
item.2 'Mono DAC MIXR'
control.110 {
iface MIXER
name 'Mono ADC R1 Mux'
value 'Mono DAC MIXR'
comment {
access 'read write'
type ENUMERATED
count 0
item.0 'Mono DAC MIXR'
item.1 ADCR
control.111 {
iface MIXER
name 'Mono ADC L1 Mux'
value 1
comment {
access 'read write'
type ENUMERATED
count 1
item.0 'Mono DAC MIXL'
item.1 ADCL
control.112 {
iface MIXER
name 'Mono ADC L2 Mux'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 'DMIC L1'
item.1 'DMIC L2'
item.2 'Mono DAC MIXL'
control.114 {
iface MIXER
name 'Stereo ADC2 Mux'
value 0
comment {
access 'read write'
type ENUMERATED
count 1
item.0 DMIC1
item.1 DMIC2
item.2 'DIG MIX'
control.115 {
iface MIXER
name 'RECMIXR HPOR Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
control.116 {
iface MIXER
name 'RECMIXR INR Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
control.117 {
iface MIXER
name 'RECMIXR BST2 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
control.118 {
iface MIXER
name 'RECMIXR BST1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
control.119 {
iface MIXER
name 'RECMIXR OUT MIXR Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
control.120 {
iface MIXER
name 'RECMIXL HPOL Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
control.121 {
iface MIXER
name 'RECMIXL INL Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
control.122 {
iface MIXER
name 'RECMIXL BST2 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
control.123 {
iface MIXER
name 'RECMIXL BST1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
control.124 {
iface MIXER
name 'RECMIXL OUT MIXL Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
# WARNING
# !!WARN!! BUZZ ANS BREAK EVERYTHING UNTIL REBOOT !!!!!!!
control.113 {
iface MIXER
name 'Stereo ADC1 Mux'
value 1
comment {
access 'read write'
type ENUMERATED
count 1
item.0 'DIG MIX'
item.1 ADC
and you can load it by doing
alsactl -f asound.state restore
To change the values, you have to edit the field "value" of a control and reload the config file with the precedent command. I tried to comment it, but I didn't test any microphone, because I didn't need it currently. We are supposed to have 2 microphones : internal and via the jack. I think it's possible, but I don't have any jack microphone, so if you need it, try to change the different settings and tell me if you find something.
I don't think any GUI, will manage to make the sound control work (even in alsamixer, it's a big mess), because there is no convention followed.
To be continued
Last edited by Ziqumu (2015-05-30 20:06:48)I had still freeze with uxa. I still don't have any freeze with disabled acceleration. But I also have the flickering tty, but it's not a big problem as this is still usable and I don't often use it.
Maybe when you tried, it was another bug that makes you freeze (with an older version of someting).. I don't know, I will write both solution on the topic.
I've done some search on the touchpad : If you look at the device output (cat /dev/hidraw2 for me), you will see that the device don't send anything when you have two finger that touch the device (so it's not possible to use it as dualtouch). I think it's just a starting data that is send from Asus Smart Gesture under windows that start the Multi touch mode. I've start a vritual machine and I gave it the touchpad usb device (wich is also the keyboard... Usb bus 1 address 3) and I started the driver. Under windows it worked well with multitouch. I killed the virtual machine and I got back my keyboard but not the touchpad. I watch at /dev/hidraw2 and the touchpad now give information with two and more fingers (also it give immediatly data and not after a small lag like normally). After a restart it was gone as expected. I watched the usb driver with usbmon and wireshark and I tried to reproduce UsbHid exchange between computer and device but it didn't work. I still don't know why but I will continue to search.
There is 3 sub device on the usb device mouse/keyboard. 0 is the keyboard, 1 the media key (fn keys except sound) from the keyboard, and 2 the touchpad. So if someone has time to works on media keys, I don't think this is verry difficult. (It's more difficult for the sound, win and sleep button on the screeen, because I didn't find any signals from it.
I will try to work on a aur package that give our kernel with fixes this summer. (And maybe also a pre-builded version).
Last edited by Ziqumu (2015-06-04 23:15:27) -
Using MAX in transformations / Start Routine
Hi,
I am trying to use MAX function in an ABAP routine (transformation / Start) and it shows following error -
"Unknown column name "MAX(/BIC/ZQMCOUNT)" until runtime, you cannot specify a field list.". Here is part of my code -
>>
data: v_counter(10) type n.
SELECT MAX(/BIC/ZQMCOUNT)
INTO v_counter
FROM /BIC/AZDPM_DS300.
<<
Any thoughts please.
Regards
VikashHi there,
Sometimes you have to put some spaces between the parantehsis in the max, min or count, like this:
data: v_counter(10) type n.
SELECT MAX( /BIC/ZQMCOUNT )
INTO v_counter
FROM /BIC/AZDPM_DS300.
Can you try that?
Diogo. -
Dso updating item count to cube
Hello experts.
I am counting item in transformation from data source to DSO (key fields - order no and item no).
Result = 1`.
In DSO, count works fine.
Now, I am updating DSO to a summary cube.
What transformation routine I need to write, so that an item only count once and not aggregated when same item and order comes in multiple times.
Is this routine correct -
if source_fields-recordmode = 'R' or
source_fields-recordmode = ' ' .
result = '-1'.
else.
result =1.
endif.Ramesh,
No need to write any code while mapping from DSO to CUBE.
Just map, counter(one-to-one) from DSO to CUBE.
Change DTP settings to from change log. Change log takes care of new, changed or canceled records.
Hope it Helps
Srini -
Issue in counting open invoices
Hi All,
I am facing an issue which could be common but i am getting the correct count for open invoices.
We have following scenario :
Assume, we are loading an invoice(INV1) which was open(determined by item status = O) yesterday and loaded the same into ODS and to the cube yesterday itself.
As we want to see the invoices which are open as of that particulat day.
we have a CKF defined with value = 1 and aggregation : counter of all values, reference characteristic : 0REFERENCE.
I run the report and I see open invoices = 1, which is correct.
Now,the invoice which was open yesterday was cleared and paid today.
Now , I loaded the data to ODS and then to the cube.
In the cube, I have three entries like
Invoice Item Status Amount
INV1 O(Open) 100
INV1 O(Open) -100
INV1 C(Cleared) 100
Since, this invoice is cleared today, when i run the report , i should get invoice count "Zero" but I am getting the count as "1" and the amount "0".
The CKF which was created is getting the count as "1" even though it is cleared.If the invoice is cleared, it should not be counted.
Anyone has any suggestions ?
Regards,
Jeevanokay - a number of issues here
The two item statuses of O will cancel each other out and be deleted if you have zero elemination on the cube and run the next compression
The negative zero was generated by the change log of the ODS when the item status = C cleared document came in
You always run the open items as at a point in time using two RKFs added together in one CKF
RKF1 is item status = O AND posting date <= key date of query
RKF2 is cleared date > key date of query AND posting date <= key date of query
Thus you can always restate the open items which have been subsequently cleared back to a point in time (ie historical aged debt reports etc..)
You must not just use item status = O
Now how to do the counts..
I normally put a counter onto the cube and negate the counter when the changelog negative O record (so the two Os cancel each other out) and then just add up the values of the counter as per the RKFs above
However there is another option but it still involves a change to the data model
The counts are based on the uniqueness of a document number
The full key of a uniqieness of an AR or AP document number in SAP is...
Company Code, Fiscal Year, Document Number, line item
(the line item is due to one AP document being split across many lines due to installment plans with different net due dates or partially allocated cash across many outstanding line items)
The other items have to be considered in uniqueness because SAP allows you to configure number ranges per company code wither with internal or external numbering and these ranges can be year specific - hence the full key is required
You cannot just count document number as this will give a false result as the same document numebr can be used in multiple years within the same company code AND across company codes as well (so group reporting of outstanding counts will be affected as well)
So you have to create a new infoobject that is called "Document Full Key" - that concatenates Company Code, Fiscal Year, Document Number, line item into one object string
You then put that in yoru cube and update it via the transformation rules
Then you can create the RKFs above and do a count all values based on the characteristic "Document Full Key" - then create a few more RKFs to do the splits of net due date and the offsets required for -30 -60 etc as per normal
Sorry for the bad news - but if you want to do it properly - I don;t think you have another other choice but the two options above..
But then what do I know! -
Error 0000: internal error with Apply Transform Module
Hello:
I get an internal error message when attempting to use a previously saved data transform (namely missing value processing using MICE). What is strange is that using the previously saved model works if I feed the exact same data that was used for training
it but generates an internal error whenever I use a sample - even a 90% sample of the original. This is the output log:
Record Starts at UTC 04/02/2015 10:30:53:
Run the job:"/dll "Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca;Microsoft.Analytics.Modules.ApplyITransform.Dll.ApplyITransformModule;ApplyITransform" /Output0 "..\..\Transformed dataset\Transformed dataset.dataset" /transform "..\..\Transformation\Transformation.itransform" /data "..\..\Dataset\Dataset.dataset" "
Starting Process 'C:\Resources\directory\870595a63cd0452da2f3767b831099d7.SingleNodeRuntimeCompute.Packages\AFx\6.2\DllModuleHost.exe' with arguments ' /dll "Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca;Microsoft.Analytics.Modules.ApplyITransform.Dll.ApplyITransformModule;ApplyITransform" /Output0 "..\..\Transformed dataset\Transformed dataset.dataset" /transform "..\..\Transformation\Transformation.itransform" /data "..\..\Dataset\Dataset.dataset" '
[ModuleOutput] DllModuleHost Start: 1 : Program::Main
[ModuleOutput] DllModuleHost Start: 1 : DataLabModuleDescriptionParser::ParseModuleDescriptionString
[ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Start: 1 : DllModuleMethod::DllModuleMethod
[ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Start: 1 : DllModuleMethod::Execute
[ModuleOutput] DllModuleHost Start: 1 : DataLabModuleBinder::BindModuleMethod
[ModuleOutput] DllModuleHost Verbose: 1 : moduleMethodDescription Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca;Microsoft.Analytics.Modules.ApplyITransform.Dll.ApplyITransformModule;ApplyITransform
[ModuleOutput] DllModuleHost Verbose: 1 : assemblyFullName Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca
[ModuleOutput] DllModuleHost Start: 1 : DataLabModuleBinder::LoadModuleAssembly
[ModuleOutput] DllModuleHost Verbose: 1 : Trying to resolve assembly : Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca
[ModuleOutput] DllModuleHost Verbose: 1 : Loaded moduleAssembly Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca
[ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Verbose: 1 : moduleTypeName Microsoft.Analytics.Modules.ApplyITransform.Dll.ApplyITransformModule
[ModuleOutput] DllModuleHost Verbose: 1 : moduleMethodName ApplyITransform
[ModuleOutput] DllModuleHost Information: 1 : Module FriendlyName : Apply Transformation
[ModuleOutput] DllModuleHost Information: 1 : Module Release Status : Release
[ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Start: 1 : ParameterArgumentBinder::InitializeParameterValues
[ModuleOutput] DllModuleHost Verbose: 1 : parameterInfos count = 2
[ModuleOutput] DllModuleHost Verbose: 1 : parameterInfos[0] name = transform , type = Microsoft.Analytics.MachineLearning.ITransform`2[Microsoft.Numerics.Data.Local.DataTable,Microsoft.Numerics.Data.Local.DataTable]
[ModuleOutput] DllModuleHost Start: 1 : DotNetSerializationHandler::HandleArgumentString
[ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Verbose: 1 : parameterInfos[1] name = data , type = Microsoft.Numerics.Data.Local.DataTable
[ModuleOutput] DllModuleHost Start: 1 : DataTableDatasetHandler::HandleArgumentString
[ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Verbose: 1 : Begin invoking method ApplyITransform ...
[ModuleOutput] InputDataStructure
[ModuleOutput]
[ModuleOutput] {
[ModuleOutput] "InputName":Dataset
[ModuleOutput] "Rows":385338
[ModuleOutput] "Cols":105
[ModuleOutput] "ColumnTypes":System.Nullable`1[System.Double],99,System.Nullable`1[System.Int32],5,System.String,1
[ModuleOutput] }
[ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Error: 1 : Program::Main encountered fatal exception: Microsoft.Analytics.Exceptions.ErrorMapping+ModuleException: Error 0000: Internal error ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Source array was not long enough. Check srcIndex and length, and the array's lower bounds.
Module finished after a runtime of 00:00:27.6131405 with exit code -2
Module failed due to negative exit code of -2
Record Ends at UTC 04/02/2015 10:31:38.
Experiment URL:
https://studio.azureml.net/Home/ViewWorkspace/ffac4490b5e448fa8778ceadc74a0b97?#Workspaces/Experiments/Experiment/ffac4490b5e448fa8778ceadc74a0b97.f-id.0c2caa16ad4b46b08449bcfaf4a71e57/ViewExperiment
Thanks for your helpIt's pretty clear no-one at Microsoft is interested in answering this on this forum. With a paid subscription plan would I be able to get a response for these types of incidents/follow up questions? You know - so I can stop throwing money away
running experiments with modules that haven't been fixed in almost a month in hope that magically they will start to work some day... -
How to load several transformation files with a single action
Hi everybody,
We are loading data from BI cube into BPC cube. We are working on SAP BPC 7.0 version and we have designed several transformation files in order to load each key figure we need.
Now, we want to load all the transformation files executing only one action. Which one is the best way to do it?
We thought that it would be possible to build a single process chain, where we would call the target cube and all the transformation files. In this way, the administrator only has to execute once a package that would execute the process chain. We don't want the administrator to execute several times a package looking for the different transformation files.
How can we do it? Is there any example or document related to it?
Any idea out there?
Kind regards
Albert MasHI SCOTT,
I AM FACING A PROBLEM WHEN I RUN 2 ROUNDS IN ONE TRANSFORMATION FILE...
I need to distribute a source field in to BPC through making 2 conversion files... following is the data
Transformation file
*OPTIONS
FORMAT = DELIMITED
HEADER = YES
DELIMITER = ,
AMOUNTDECIMALPOINT = .
SKIP = 0
SKIPIF =
VALIDATERECORDS=YES
CREDITPOSITIVE=YES
MAXREJECTCOUNT=
ROUNDAMOUNT=
CONVERTAMOUNTWDIM=ZOUTPUT
*MAPPING
CATEGORY=*NEWCOL(ACT)
PAO=0COSTCENTER
TIME=0FISCYEAR
ZOUTPUT=0FUNDS_CTR
SIGNEDDATA=0DEB_CRE_LC
*CONVERSION
PAO=PAO_CONVER.XLS
ZOUTPUT=ZOUTPUT_CONVER.xls
*OPTIONS
FORMAT = DELIMITED
HEADER = YES
DELIMITER = ,
AMOUNTDECIMALPOINT = .
SKIP = 0
SKIPIF =
VALIDATERECORDS=YES
CREDITPOSITIVE=YES
MAXREJECTCOUNT=
ROUNDAMOUNT=
CONVERTAMOUNTWDIM=ZOUTPUT
*MAPPING
CATEGORY=*NEWCOL(ACT)
PAO=0COSTCENTER
TIME=0FISCYEAR
ZOUTPUT=0FUNDS_CTR
SIGNEDDATA=0DEB_CRE_LC
*CONVERSION
PAO=PAO_CONVER.XLS
ZOUTPUT=AMOUNT_CONVER.XLS
Conversion file 1 (PAO=PAO_CONVER.XLS)
EXTERNAL
INTERNAL
ID0001
F08001
ID0002
F08001
ID0003
F08001
DG0001
F08001
DG0002
F08001
Conversion file 2 (ZOUTPUT=ZOUTPUT_CONVER.xls)
ID0001
FX01
VALUE*1
ID0002
FX01
VALUE*1
ID0003
FX01
VALUE*.40
DG0001
FX02
VALUE*1
DG0002
FX02
VALUE*1
Conversion file 3 (ZOUTPUT=AMOUNT_CONVER.XLS)
EXTERNAL
INTERNAL
FORMULA
ID0003
FX02
VALUE*.60
I am getting the following error
[Start validating transformation file]
Validating transformation file format
Start validation transformation 1/2
Validating options...
Validation of options was successful.
Validating mappings...
Validation of mappings was successful.
Validating conversions...
Validation of the conversion was successful
Start validation transformation 2/2
Validating options...
Validation of options was successful.
Validating mappings...
Validation of mappings was successful.
Validating conversions...
Validation of the conversion was successful
Creating the transformation xml file. Please wait...
Transformation xml file has been saved successfully.
Begin validate transformation file with data file...
[Start test transformation file]
Validate has successfully completed
ValidateRecords = YES
Reject count: 0
Record count: 6
Skip count: 0
Accept count: 6
0COSTCENTER is not a valid command or column 0COSTCENTER does not exist in source
Validation with data file failed -
Introduction
We need to loop through all the flat files that have the same structure in a folder and import all the data to a single SQL Server table. How can we obtain the total count of the rows inserted to the destination SQL Server table?
Solution
We can use Execute SQL Task or Script Task to aggregate the row count increment for each iteration of the Foreach Loop Container. The following steps are the preparations before we add the Execute SQL Task or Script Task:
Create a String type variable FilePath, two Int32 type variables InsertRowCnt and TotalRowCnt.
Drag a Foreach Loop Container to the Control Flow design surface, set the Enumerator to “Foreach File Enumerator”, specify the source folder and the files extension, and set the “Retrieve file name” option to “Fully qualified”.
On the “Variable Mappings” tab of the container, map the variable FilePath to the collection value.
Drag a Data Flow Task to the container, in the Data Flow Task, add a Flat File Source, a Row Count Transformation, and an OLE DB Destination, and join them. Create a Flat File Connection Manager to connect to one of the flat files, and then configure the
Flat File Source as well as the OLE DB Destination adapter. Set the variable for the Row Count Transformation to “User::InsertRowCnt”.
Open the Property Expressions Editor for the Flat File Connection Manager, and set the expression of “ConnectionString” property to
“@[User::FilePath]”.
(I) Execute SQL Task Method:
In the Control Flow, drag an Execute SQL Task under the Data Flow Task and join them.
Create one or using any one existing OLE DB Connection Manager for the Execute SQL Task, set the “ResultSet” option to “Single row”, and then set the “SQLStatement” property to:
DECLARE @InsertRowCnt INT,
@TotalRowCnt INT
SET @InsertRowCnt=?
SET @TotalRowCnt=?
SET @TotalRowCnt=@InsertRowCnt+@TotalRowCnt
SELECT TotalRowCnt=@TotalRowCnt
On to parameter 1.
On the “Result Set” tab of the Execute SQL Task, map result 0 to variable “User::TotalRowCnt”.
(II) Script Task Method:
In the Control Flow, drag a Script Task under the Data Flow Task and join them.
In the Script Task, select variable InsertRowCnt for “ReadOnlyVariables” option, and select variable TotalRowCnt for “ReadWriteVariables”.
Edit the Main method as follows (C#):
public void Main()
// TODO: Add your code here
int InsertRowCnt = Convert.ToInt32(Dts.Variables["User::InsertRowCnt"].Value.ToString()
int TotalRowCnt = Convert.ToInt32(Dts.Variables["User::TotalRowCnt"].Value.ToString());
TotalRowCnt = TotalRowCnt + InsertRowCnt;
Dts.Variables["User::InsertRowCnt"].Value = TotalRowCnt;
Dts.TaskResult = (int)ScriptResults.Success;
Or (VB)
Public Sub Main()
' Add your code here
Dim InsertRowCnt As Integer =
Convert.ToInt32(Dts.Variables("User::InsertRowCnt").Value.ToString())
Dim TotalRowCnt As Integer =
Convert.ToInt32(Dts.Variables("User::TotalRowCnt").Value.ToString())
TotalRowCnt = TotalRowCnt + InsertRowCnt
Dts.Variables("User::TotalRowCnt").Value = TotalRowCnt
Dts.TaskResult = ScriptResults.Success
End Sub
Applies to
Microsoft SQL Server 2005
Microsoft SQL Server 2008
Microsoft SQL Server 2008 R2
Microsoft SQL Server 2012
Microsoft SQL Server 2014
Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.Hi ITBobbyP,
If I understand correctly, you want to load data from multiple sheets in an .xlsx file into a SQL Server table.
If in this scenario, please refer to the following tips:
The Foreach Loop container should be configured as shown below:
Enumerator: Foreach ADO.NET Schema Rowset Enumerator
Connection String: The OLE DB Connection String for the excel file.
Schema: Tables.
In the Variable Mapping, map the variable to Sheet_Name, and change the Index from 0 to 2.
The connection string for Excel Connection Manager is the original one, we needn’t make any change.
Change Table Name or View name to the variable Sheet_Name.
If you want to load data from multiple sheets in multiple .xlsx files into a SQL Server table, please refer to following thread:
http://stackoverflow.com/questions/7411741/how-to-loop-through-excel-files-and-load-them-into-a-database-using-ssis-package
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
Lookup transformation - Performance Issue -Please help!
Hi,
I have a Source table with 5 million rows. I am pulling all the rows from the source table, then doing the lookup with 5 different tables one by one.
I use Full cache as the lookup table size is very less only. I used 'Ignore Failure' option in lookup table as I need to do the left join. That means, even if there is NO match, those records also should be passed to the bottom.
Now, the problem is it is taking a lot of time. To load 1,00,000 records, it is taking 1 hour. The how about 5 Million rows? 50 hours? Could you please help me to find out what is the mistake i am doing here?Is the performance still very poor if you only add for example a row count transformation after your source?
How many rows are there in the lookup tables? Are you only selecting the columns you need? Is the data type of the selected columns very large?
Please mark the post as answered if it answers your question | My SSIS Blog:
http://microsoft-ssis.blogspot.com |
Twitter -
How to execute several ROUNDS in a single transformation file?
Hi everybody,
I've put several transformation files into one transformation file but I have the following problems:
- when I look at the log after validating the transformation file, it only shows values for the last combination of OPTIONS / MAPPING / CONVERSION
- when I execute the package for loading dat into the cube, it ONLY loads data for the last combination of OPTIONS / MAPPING / CONVERSION that appears in the transformation file
The number of 'Submit record count' is always the same as the number of accepted records of the last round. And if I create a view from the target cube, it only has data for the last combination of OPTIONS / MAPPING / CONVERSION.
What is happening? Do I must change any parameter?
It's critical for the project as we are loading a lot of key figures and we must simplify the administration of the load process
Thanks a lot in advance for your support,
Albert MasHi,
Please try (for Windows):
Double click printer icon on desktop,
Select Scan a Document or Photo,
Put the first page on the glass (face down),
Check options (size, dpi ...), and select Scan document to file,
Click Scan - machine will scan the first page
Remove the first page on the glass, put the second page,
Click + (plus sign) It sits on the left hand side of a red x
Machine will scan the second page, put 3rd page on the glass and click + again ..... to the end then click Save
Click Done after Save
Regards.
BH
**Click the KUDOS thumb up on the left to say 'Thanks'**
Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.
Maybe you are looking for
-
Stored Procedure with Input & output parameter as XML
Hi I have a requirement wherein i need to have a stored procedure with accepts huge XML from Java and the SP has to process all the records in the XML and return XML output with some messages in it. Currenty, I have a stored procedure to process the
-
Assistance required in creating BRF workflow SRM 7.0
Hi Experts, I am new to SRM. I have a requirement wherein I need a create a BRF process control workflow. In high the requirement is as follows. Once a shopping cart is saved the workflow should start and check whether the shopping cart value is gre
-
All of a sudden audio needs re-rendering when i do ANYTHING at all...
I've had to rerender the audio (from the beeping) after I did something to the audio (i.e. increased the base volume levels), but editing the associated video never made me re-render the audio before. For some reason, now the audio needs rerendered a
-
Dear all i have a value from third page to first page thats y i send one value to session and i get that value in first page. in first page user will enter remaining details and save i want to close that session when ever i opened the first page same
-
Why can't I enlarge my Safari Window?
Suddenly, I can not make my Safari pages full screen. Not sure what changed and how to fix it?