محمد تسلیمی
1 سال پیش
پاسخ
ساخت درختواره با پاور کوئری
با سلام و وقت بخیر . خدمت همه دوستان یه موردی که زیاد باهاش سروکار دارم و چالش برانگیز شده موضوع زیر هست :
چطور میتونم با استفاده از پاورکوئری اطلاعات یک جدول رو بصورت درختواره ( hierarchy ) تبدیل کنم.
نکته اینکه دیتا های که در سطح بالا قرار میگیرند ( دیتا والد ) تکرار نشوند . یعنی اینکه مثلا A سه تا زیر مجموعه داشته باشه . A در یک ستون و سطر جدا بیاید و هر بار برای ان سه زیر مجموعه تکرار نشود و بجای ان null قرار بگیرد.
گزارش تخلف
سؤالات مربوط به پاورکوئری
برو به
به پشتیبانی نیاز داری؟
در صورتی که
- در کار با بتازون مشکلی دارید
- در مورد خدمات بتازون سؤالی دارید
- نظراتی را برای ارتقا و بهبود خدمات دارید
خوشحال میشیم که حتماً با ما در میان بزارید
علی محمد یاوری
1 سال پیش
سلام
درختواره که کار نکردم و آشنا نیستم با اصطلاحش ولی بحث اینکه توی یک ستون اگر داده تکراری هست، اولیش رو بنویسه و مابقی رکوردها رو null بزاره به روش زیر می توان انجام داد.
1- یک ستون جدید index از صفر اضافه کنید. (تب add column گزینه index column و سپس from 0)
2- یک ستون جدید با فرمول زیر ایجاد کنید. (تب add column گزینه custom column)
=try if PRE_STEP_NAME[MAIN_FIELD]{[INDEX_FIELD]-1}=[MAIN_FIELD] then null else [MAIN_FIELD] otherwise [MAIN_FIELD]
که در کد بالا PRE_STEP_NAME را با نام step گام 1 جایگزین کنید. MAIN_FIELD عنوان ستون دیتا والد و INDEX_FIELD عنوان ستون index در گام 1 می باشد.
3- ستونهای اضافی (گام 1 و ستون اصلی دیتا والد) را حذف کنید و ستون جدید گام 2 را به عنوان دیتا والد در نظر بگیرید.
توضیح: در فرمول بالا مقدار دیتافیلد رکورد موجود با دیتافیلد رکورد قبلی (با استفاده از index) مقایسه شده است. در صورتی که برابر باشد (یعنی تکراری است)، مقدار null را جایگزین کردیم. قسمت try ... otherwise هم برای رکورد اول است. چون رکورد قبلی ندارد خطا دریافت می کند و گفتیم در صورت خطا، خود مقدار را برگردان.
فایل کمکی در پاسخ بعدی پیوست شده است.
ویرایش شده توسط علی محمد یاوری در 1 سال پیش
گزارش تخلف
علی محمد یاوری
1 سال پیش
فایل کمکی پیوست می شود.
فایلها
گزارش تخلف