Selasa, 04 Desember 2018

Mencetak record secara horizontal FieldName2Id

Misalkan kita mempunya table Siswa seperti ini

No Nama    Kelas 
1    Husna     2
2    Yusuf      2
3    Nawawi  2

Behaviour AX biasanya membaca perrow sehingga pada saat mencetak report maka yang akan tercetak apa adanya didalam sebuah table

1    Husna     2
2    Yusuf      2
3    Nawawi  2

lalu bagaimana jika kita ingin data perrow tersebut menjadi perkolom dan ditampilkan secara horiontal/line?

Disini ada suatu method yang insyallah bisa menjadi solusi temen2 DAX semua. Kita bisa menggunakan Fieldname2Id([int tableId],[str fieldname]).

contoh :
sebelumnya kita mempunyai temporary table dengan jumlah field 3(tipedata disesuaikan dengan kebutuhan) bernama Siswatmp.

contoh codenya

SiswaTmp            siswatmp;
Siswa                   siswa;
FieldId                 fieldId;
int                        fieldCount;   
;
   
siswatmp.clear();

while select siswa
{
         fieldCount++;
        fieldId = fieldName2id(tableNum(SiswaTmp), strFmt("Field%1", fieldCount));
        siswatmp.(fieldId) = line.titleDesc();
}
siswatmp.insert();

maka ditable SiswaTmp akan terecord datanya secara horiontal dari perkolom.

field1       field2      field3
1                2             3
Husna       Yusuf      Nawawi
2                2             2



Erorr CS1963 - An expression tree may not contain a dynamic operation.

Kali ini saya mendapatkan erorr dengan code CS1963, padahal sebelumnya saya sudah mendefinisikan 'var item in Model' di @foreach(var...