คุณสามารถอ้างอิงตัวแปรในการวิเคราะห์และแผงข้อมูล
วิธีที่คุณอ้างอิงตัวแปรจะขึ้นอยู่กับงานที่คุณดำเนินการ สำหรับงานที่แสดงพร้อมกับฟิลด์ต่างๆ ในไดอะล็อก คุณต้องระบุเฉพาะประเภทและชื่อของตัวแปร (ไม่ใช่รูปแบบคำสั่งแบบเต็ม) ตัวอย่างเช่น การอ้างอิงตัวแปรในการกำหนดฟิลเตอร์
สำหรับงานอื่น เช่น การอ้างอิงตัวแปรในวิวของชื่อ คุณต้องระบุรูปแบบคำสั่งของตัวแปร รูปแบบคำสั่งที่คุณใช้จะขึ้นอยู่กับประเภทของตัวแปร ตามคำอธิบายในตารางต่อไปนี้
| ประเภท | รูปแบบคำสั่ง | ตัวอย่าง |
|---|---|---|
|
เซสชัน |
@{biServer.variables['NQ_SESSION.variablename']} โดยที่ variablename คือ ชื่อตัวแปรของเซสชัน ตัวอย่างเช่น DISPLAYNAME |
@{biServer.variables['NQ_SESSION.SalesRegion']} |
|
โมเดลรูปแบบภาษา (พื้นที่เก็บข้อมูล) |
@{biServer.variables.variablename} หรือ @{biServer.variables['variablename']} โดยที่ variablename คือ ชื่อของตัวแปร ตัวอย่างเช่น prime_begin |
@{biServer.variables.prime_begin} หรือ @{biServer.variables['prime_begin']} |
|
การนำเสนอหรือคำขอ |
@{variables.variablename}[format]{defaultvalue} หรือ @{scope.variables['variablename']} โดยที่: variablename คือ ชื่อตัวแปรของการนำเสนอหรือคำขอ ตัวอย่างเช่น MyFavoriteRegion (เลือกระบุได้) format คือ รูปแบบการแปลงค่าที่ขึ้นอยู่กับประเภทข้อมูลของตัวแปร ตัวอย่างเช่น #,##0, MM/DD/YY hh:mm:ss (โปรดทราบว่าจะไม่มีการใช้รูปแบบกับค่าดีฟอลต์) (เลือกระบุได้) defaultvalue คือ การอ้างอิงค่าคงที่หรือตัวแปรที่แสดงค่าที่จะใช้ ถ้าไม่มีการป็อปปูเลทตัวแปรที่อ้างอิงโดย variablename scope จะระบุควอลิฟายเออร์สำหรับตัวแปร คุณต้องระบุขอบเขตเมื่อใช้ตัวแปรในหลายระดับ (การวิเคราะห์ เพจแผงข้อมูล และแผงข้อมูล) และคุณต้องการเข้าใช้ค่าที่ระบุ (ถ้าคุณไม่ได้ระบุขอบเขต ลำดับก่อนหลังจะเป็นดังนี้ การวิเคราะห์ เพจแผงข้อมูล และแผงข้อมูล) เมื่อใช้พรอมต์ของแผงข้อมูลที่มีตัวแปรของการนำเสนอซึ่งสามารถมีหลายค่า รูปแบบคำสั่งจะแตกต่างกัน ทั้งนี้ขึ้นอยู่กับประเภทคอลัมน์ ค่าหลายค่ามีการจัดรูปแบบเป็นค่าที่คั่นด้วยเครื่องหมายคอมมา ดังนั้น มีการใช้ส่วนของคำสั่ง format กับแต่ละค่าก่อนจะมีการรวมด้วยเครื่องหมายคอมมา |
@{variables.MyFavoriteRegion}{EASTERN REGION} หรือ @{dashboard.MyFavoriteRegion}{EASTERN REGION} หรือ @{dashboard.variables['MyFavoriteRegion']} หรือ (@{myNumVar}[#,##0]{1000}) หรือ (@{variables.MyOwnTimestamp}[YY-MM-DD hh:mm:ss]{) หรือ (@{myTextVar}{A, B, C}) |
|
ร่วม |
@{global.variables.variablename} โดยที่ variablename คือ ชื่อของตัวแปรร่วม ตัวอย่างเช่น gv_region เมื่ออ้างอิงตัวแปรร่วม คุณต้องใช้ชื่อแบบเต็มตามที่แสดงในตัวอย่าง วิธีการตั้งชื่อสำหรับตัวแปรร่วมต้องสอดคล้องกับการระบุภาษาการเขียนสคริปต์ ECMA สำหรับ JavaScript ชื่อต้องมีความยาวไม่เกิน 200 อักขระ หรือต้องไม่มีช่องว่างรวมตัว คำสงวน และอักขระพิเศษ ถ้าคุณไม่คุ้นเคยกับข้อกำหนดภาษาการเขียนสคริปต์จาวา โปรดดูข้อมูลอ้างอิงของบุคคลที่สาม |
@{global.variables.gv_date_n_time} |
นอกจากนี้ คุณยังสามารถอ้างอิงตัวแปรในเอ็กซ์เพรสชันได้ด้วย คำแนะนำสำหรับการอ้างอิงตัวแปรในเอ็กซ์เพรสชันจะอธิบายไว้ในหัวข้อต่อไปนี้
คุณสามารถใช้คำแนะนำต่อไปนี้สำหรับการอ้างอิงตัวแปรของเซสชันในเอ็กซ์เพรสชัน
ตัวอย่างเช่น
"Market"."Region"=VALUEOF("NQ_SESSION"."SalesRegion")
คุณสามารถใช้คำแนะนำต่อไปนี้สำหรับการอ้างอิงตัวแปรของการนำเสนอในเอ็กซ์เพรสชัน
เมื่ออ้างอิงตัวแปรของการนำเสนอ ให้ใช้รูปแบบคำสั่งดังนี้
@{variablename}{defaultvalue}
โดยที่ variablename คือ ชื่อตัวแปรของการนำเสนอ และ defaultvalue (เลือกระบุได้) คือ การอ้างอิงค่าคงที่หรือตัวแปรที่แสดงค่าที่จะใช้ ถ้าไม่มีการป็อปปูเลทตัวแปรที่อ้างอิงโดย variablename
ในการกำหนดประเภท (หรือก็คือแปลง) ตัวแปรเป็นสตริงหรือรวมหลายสตริง ให้กำกับตัวแปรทั้งหมดด้วยเครื่องหมายคำพูดเดี่ยว ตัวอย่างเช่น:
'@{user.displayName}'
ถ้าสัญลักษณ์ @ ไม่ได้ตามด้วย { จะถือว่าเป็นสัญลักษณ์ @ เมื่อใช้ตัวแปรของการนำเสนอที่สามารถมีหลายค่า รูปแบบคำสั่งจะแตกต่างกัน ทั้งนี้ขึ้นอยู่กับประเภทคอลัมน์
ใช้รูปแบบคำสั่งต่อไปนี้ใน SQL สำหรับประเภทคอลัมน์ที่ระบุเพื่อสร้างคำสั่ง SQL ที่ถูกต้องดังนี้
ข้อความ — (@{variablename}['@']{'defaultvalue'})
ตัวเลข — (@{variablename}{defaultvalue})
วันที่และเวลา — (@{variablename}{timestamp 'defaultvalue'})
Date (วันที่เท่านั้น) — (@{variablename}{date 'defaultvalue'})
Time (เวลาเท่านั้น) — (@{variablename}{time 'defaultvalue'})
ตัวอย่างเช่น
'@{user.displayName}'
คุณสามารถใช้คำแนะนำต่อไปนี้สำหรับการอ้างอิงตัวแปรโมเดลรูปแบบภาษา (พื้นที่เก็บข้อมูล) ในเอ็กซ์เพรสชัน
ตัวอย่างเช่น
CASE WHEN "Hour" >= VALUEOF("prime_begin") AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END